URL del prodotto con parametri aggiuntivi (CE 1.8 ed EE 1.13)


13

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:

  1. Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
    • Qui aggiungerebbe il parametro di query "opzioni" con il valore "carrello"
  2. Mage_Catalog_Block_Product_Abstract::getProductUrl()
    • Questo metodo essenzialmente ottiene un valore dal modello URL
  3. 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à?


Solo una nota a margine, dobbiamo aggiungere un tag form_key al nostro url aggiungi al carrello dopo un paio di aggiornamenti
EE1.13

Grazie per l'input: a quanto pare Magento lo farà automaticamente Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()tramite il singleton core / sessione. Puoi darmi un esempio del codice che hai usato?
jharrison.au,

Risposte:


3

Wow, piuttosto il delta per quella classe da 1.7.0.2 -> 1.8.0.0! Mentre ci sono cambiamenti sostanziali in questa classe e che si tratta di un "comportamento di rottura", dovrebbe essere considerato un bug e dovrebbe essere sottoposto al supporto EE.

Non c'è nulla di eccezionalmente innovativo o spigoloso in questa funzionalità precedentemente valida, e anche in una versione minore non dovrebbero esistere modifiche di rottura (quindi Magento 2).


Grazie Ben, volevo solo assicurarmi che non mi mancasse qualcosa.
jharrison.au,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.