重写Magento Session最后一个URL

时间:2013-04-16 05:58:13

标签: magento url session rewrite cart

如何获取$_SESSION['core']['last_url']?的重写网址? 导致$_SESSION['core']['last_url']像这样返回

目录/产品/视图/ ID / 166 /类别/ 8

我需要的是这个

电子设备/蜂窝电话/ HTC-触摸diamond.html

请帮助......

1 个答案:

答案 0 :(得分:2)

上次访问过的网址是以Mage_Core_Controller_Front_Action::postDispatch()方式设置的。你可以找到这一行

Mage::getSingleton('core/session')->setLastUrl(Mage::getUrl('*/*/*', array('_current'=>true)));

Mage::getUrl()负责创建一个URL,这就是为什么你不在这里重写的原因。您可以覆盖此方法并检查这是否是类别或产品页面,并根据该页面分配不同的URL,例如:


$url = Mage::getUrl('*/*/*', array('_current'=>true));
if (Mage::registry('current_product') || Mage::registry('current_category')) {
    $url = Mage::getBaseUrl() . substr($this->getRequest()->getOriginalPathInfo(), 1);
}
Mage::getSingleton('core/session')->setLastUrl($url);