"& Amp;"Invece di "&" nell'URL dell'interruttore linguistico
-
12-12-2019 - |
Domanda
Quando si utilizza il commutatore della lingua di Magento, l'URL generato è:
a href="http://www.shop.com/index.php/bags/eastpak.html?___store=en&___from_store=default">
.
Magento versione 1.7 è usato.
Come posso convertire questo &
in &?
è il motivo della classe di reindirizzamento di Magento per questo bug?
Soluzione
Sembra essere corretto.Si prega di guardare da https://stackoverflow.com/questions/3705591/do-i-Necode-Ampersands-in-a-href
Altri suggerimenti
È fastidioso, specialmente nelle pagine dell'elenco prodotti, quando URL contiene tutti i parametri di ricerca.
Per evitare ciò, sono richieste alcune modifiche in due file:
1) in Mage_Core_Controller_Varien_Action
sotto
protected function _redirectReferer($defaultUrl=null)
{
$refererUrl = $this->_getRefererUrl();
if (empty($refererUrl)) {
$refererUrl = empty($defaultUrl) ? Mage::getBaseUrl() : $defaultUrl;
}
$this->getResponse()->setRedirect($refererUrl);
return $this;
}
.
Aggiungi
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) in Mage_Directory_CurrencyController
Cambia $this->_redirectReferer(Mage::getBaseUrl());
con $this->_redirectRefererNoSpecialChars(Mage::getBaseUrl());