2

我怎样才能得到$_SESSION['core']['last_url']? 原因的重写网址$_SESSION['core']['last_url']是这样返回的

目录/产品/视图/id/166/category/8

我需要的是这个

电子产品/手机/htc-touch-diamond.html

请帮忙...

4

1 回答 1

2

最后访问的 URL 在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);
于 2013-04-16T06:41:22.183 回答