【发布时间】:2013-04-08 10:16:39
【问题描述】:
如何获取$_SESSION['core']['last_url']? 的重写 url
因为$_SESSION['core']['last_url'] 是这样返回的
目录/产品/视图/id/166/category/8
我需要的是这个
电子产品/手机/htc-touch-diamond.html
请帮忙...
【问题讨论】:
标签: magento url session rewrite cart
如何获取$_SESSION['core']['last_url']? 的重写 url
因为$_SESSION['core']['last_url'] 是这样返回的
目录/产品/视图/id/166/category/8
我需要的是这个
电子产品/手机/htc-touch-diamond.html
请帮忙...
【问题讨论】:
标签: magento url session rewrite cart
上次访问的 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);
【讨论】: