«&» вместо «&» в URL-адресе переключения языка
-
12-12-2019 - |
Вопрос
при использовании переключателя языка magento сгенерированный URL-адрес:
a href="http://www.shop.com/index.php/bags/eastpak.html?___store=en&___from_store=default">
Используется Magento версии 1.7.
Как я могу преобразовать это &
к &?
Является ли класс Redirect Magento причиной этой ошибки?
Решение
Кажется, это правильно.Пожалуйста, посмотрите на https://stackoverflow.com/questions/3705591/do-i-Коде-ampersands-in-a-href
Другие советы
Это раздражает, особенно на страницах со списком товаров, когда 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());
Не связан с magento.stackexchange