2016-10-03 68 views
0

外面後,我有一個外部的網頁說「test.php的」,我已經裝在Magento的框架的網站頁眉頁腳&塊這個外部頁面頁眉頁腳&使用。一切工作正常,除了網址鏈接。這是我迄今爲止所做的:鏈接是不正確加載頁眉和頁腳的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鏈接包括test.php在其基本url中。

說我有一個鏈接「關於我們」。在magento中爲此鏈接生成的url是「http://localhost/myapp/index.php/about.html」但是爲test.php上的同一鏈接生成的url是「http://localhost/myapp/test.php/about.html」。

這是怎麼解決的?

OR

是否有任何其他方式來加載主題的頁眉和頁腳?

OR

有什麼辦法,我可以加載test.php的作爲的Magento內的iframe,並通過URL參數?

+0

本地主機鏈接將無法在其他計算機上工作,所以pleaase添加截圖 – fresher

+0

我已經添加了鏈接,以顯示即:如何在index.php的區別被替換爲magento之外的test.php。可能是關於基本網址。 – 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();