如何获取$_SESSION['core']['last_url']的重写url?
因为 $_SESSION['core']['last_url']
像这样返回
目录/产品/ View /id/166/类别/8
我需要的是这个
电子/手机/htc-touch-diamond.html
请帮忙...
最佳答案
上次访问的 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);
关于magento - 重写 Magento session 的最后一个 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16029763/