magento - 重写 Magento session 的最后一个 URL

标签 magento url session url-rewriting cart

如何获取$_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/

相关文章:

magento - 在前端翻译我的 magento 自定义模块

php - Magento 连接管理器/404 错误/Magento 1.9

android - 使用 3.0 SDK 在 FB 墙上发帖

java - 访问 Pojo/Restful 服务中的 session 数据

php - 如何在产品概览页面 - Magento 中隐藏货币代码?

php - Magento Save 进行插入而不是更新

javascript - 使用 javascript 检测域名的重复 URL

android - 使用 webView 的 loadDataWithBaseURL 不从 sdcard 加载图像

Mysql 全文搜索不适用于特殊字符

angularjs - 如何在 Electron 和angularjs中使用cookie