"&" em vez de "&" no idioma parâmetro de url
-
12-12-2019 - |
Pergunta
quando utilizar o magento language switcher, a URL gerada é:
a href="http://www.shop.com/index.php/bags/eastpak.html?___store=en&___from_store=default">
Magento versão 1.7 é usado.
Como posso converter este &
a &?
É Magento Redirecionar classe razão para este erro?
Solução
Parece ser correto.Por favor, olhe https://stackoverflow.com/questions/3705591/do-i-encode-ampersands-in-a-href
Outras dicas
É irritante, especialmente em páginas de listas de produtos, quando url contém todas busca de parâmetros.
Para evitar isso, algumas alterações são necessárias em dois arquivos :
1) em Mage_Core_Controller_Varien_Action
sob
protected function _redirectReferer($defaultUrl=null)
{
$refererUrl = $this->_getRefererUrl();
if (empty($refererUrl)) {
$refererUrl = empty($defaultUrl) ? Mage::getBaseUrl() : $defaultUrl;
}
$this->getResponse()->setRedirect($refererUrl);
return $this;
}
adicionar
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) em Mage_Directory_CurrencyController
mudança $this->_redirectReferer(Mage::getBaseUrl());
com $this->_redirectRefererNoSpecialChars(Mage::getBaseUrl());
Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange