In breve: il recupero di un URL del prodotto con parametri aggiuntivi non funziona in CE 1.8 ed EE 1.13.
Gli URL sono cambiati con l'ultima versione di Magento. In precedenza in CE 1.7 ed EE 1.12, la chiamata $this->getAddToCartUrl($_product)
da un elenco di prodotti veniva eseguita attraverso le seguenti fasi:
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
- Qui aggiungerebbe il parametro di query "opzioni" con il valore "carrello"
Mage_Catalog_Block_Product_Abstract::getProductUrl()
- Questo metodo essenzialmente ottiene un valore dal modello URL
Mage_Catalog_Model_Product_Url::getUrl()
- Molte elaborazioni avvengono fino a quando l'URL viene finalmente generato, completo dei parametri di query originariamente passati
Ora, con CE 1.8 ed EE 1.13, il passaggio 3 Mage_Catalog_Model_Product_Url::getUrl()
inizia in questo modo:
$url = $product->getData('url');
if (!empty($url)) {
return $url;
}
Poiché i prodotti nell'elenco dispongono già di dati URL, i parametri della query non vengono aggiunti e l'URL finale non contiene ?options=cart
.
La mia domanda: è un bug o una funzionalità?
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
tramite il singleton core / sessione. Puoi darmi un esempio del codice che hai usato?