当使用magento的语言切换器时,生成的URL是:

a href="http://www.shop.com/index.php/bags/eastpak.html?___store=en&___from_store=default">

使用Magento 1.7版本。

我怎样才能转换这个 & 到 &?

Magento 的 Redirect 类是导致此错误的原因吗?

有帮助吗?

其他提示

这很烦人,尤其是在产品列表页面中,当 url 包含所有搜索参数时。

为了避免这种情况,需要对两个文件进行一些更改:

1) 在 Mage_Core_Controller_Varien_Action

在下面

protected function _redirectReferer($defaultUrl=null)
{

    $refererUrl = $this->_getRefererUrl();
    if (empty($refererUrl)) {
        $refererUrl = empty($defaultUrl) ? Mage::getBaseUrl() : $defaultUrl;
    }

    $this->getResponse()->setRedirect($refererUrl);
    return $this;
}

添加

protected function _redirectRefererNoSpecialChars($defaultUrl=null)
{

    $refererUrl = $this->_getRefererUrl();
    $refererUrl = htmlspecialchars_decode($refererUrl, ENT_NOQUOTES);//this needs to be added

    if (empty($refererUrl)) {
        $refererUrl = empty($defaultUrl) ? Mage::getBaseUrl() : $defaultUrl;
    }

    $this->getResponse()->setRedirect($refererUrl);
    return $this;
}

2)在 Mage_Directory_CurrencyController

改变 $this->_redirectReferer(Mage::getBaseUrl());

$this->_redirectRefererNoSpecialChars(Mage::getBaseUrl());

谢谢马吕斯

许可以下: CC-BY-SA归因
scroll top