2016-10-03 7 views
0

外部Webページに「test.php」とあり、この外部ページのヘッダーとして&フッターを使用するためにMagentoフレームワークからサイトヘッダー&フッターブロックを読み込んだ。 URLリンク以外はすべて正常に動作しています。これは私がこれまでにやっていることです:Magentoの外部にヘッダーとフッターを読み込んだ後にリンクが正しくない

include 'app/Mage.php'; 
Mage::app(); 

umask(0); 
Mage::app()->loadArea('frontend'); 
Mage::getSingleton('core/session', array('name' => 'frontend')); 
$layout = Mage::getSingleton('core/layout'); 

//load default xml layout handle and generate blocks 
$layout->getUpdate()->load('default'); 
$layout->generateXml()->generateBlocks(); 

//load header 
$headBlock = $layout->getBlock('head'); 
$headerBlock = $layout->getBlock('header'); 
echo $headBlock->toHtml() . $headerBlock->toHtml(); 

// load footer 
$footerBlock = $layout->getBlock('footer'); 
echo $footerBlock->toHtml(); 

問題は、このページで生成されたURLリンクがそのベースURLにtest.phpを含んでいます。

「私たちについて」というリンクがあります。このリンクのmagentoで生成されるURLは "http://localhost/myapp/index.php/about.html"ですが、test.phpの同じリンクで生成されたURLは "http://localhost/myapp/test.php/about.html"です。

これはどのように解決できますか?

または

テーマのヘッダーとフッターを読み込む方法はありますか?

OR

私はMagentoの内のiframeとしてtest.phpをロードし、URLパラメータを渡すことができます方法はありますか?

+0

localhostのリンク私はどのようにindex.phpすなわち違いを示すためのリンクを追加しましたので、pleaase – fresher

+0

スクリーンショットを追加し、他のコンピュータでは動作しませんがmagentoの外側のtest.phpに置き換えられます。ベースURLについてのことかもしれません。 – vartika

答えて

0

スクリプトの最初に以下の行を追加すると、私にとってはうまくいった。

$_SERVER['SCRIPT_NAME'] = str_replace(basename(__FILE__), 'index.php',  $_SERVER['SCRIPT_NAME']); 
$_SERVER['SCRIPT_FILENAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_FILENAME']); 

だから、最終的にスクリプトは次のようになります。

include 'app/Mage.php'; 

//Added 
$_SERVER['SCRIPT_NAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_NAME']); 
$_SERVER['SCRIPT_FILENAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_FILENAME']); 

Mage::app(); 

umask(0); 
Mage::app()->loadArea('frontend'); 
Mage::getSingleton('core/session', array('name' => 'frontend')); 
$layout = Mage::getSingleton('core/layout'); 

//load default xml layout handle and generate blocks 
$layout->getUpdate()->load('default'); 
$layout->generateXml()->generateBlocks(); 

//load header 
$headBlock = $layout->getBlock('head'); 
$headerBlock = $layout->getBlock('header'); 
echo $headBlock->toHtml() . $headerBlock->toHtml(); 

// load footer 
$footerBlock = $layout->getBlock('footer'); 
echo $footerBlock->toHtml(); 
関連する問題