En bref: la récupération d'une URL de produit avec des paramètres supplémentaires ne fonctionne pas dans CE 1.8 et EE 1.13.
Les URL ont changé avec la dernière version de Magento. Auparavant, dans CE 1.7 et EE 1.12, les appels à $this->getAddToCartUrl($_product)
partir d'une liste de produits passaient par les étapes suivantes:
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
- Ici, il ajouterait le paramètre de requête "options" avec la valeur "panier"
Mage_Catalog_Block_Product_Abstract::getProductUrl()
- Cette méthode obtient essentiellement une valeur du modèle d'URL
Mage_Catalog_Model_Product_Url::getUrl()
- De nombreux traitements ont lieu jusqu'à ce que l'URL soit finalement générée, avec les paramètres de requête initialement transmis dans
Maintenant, avec CE 1.8 et EE 1.13, l'étape 3 Mage_Catalog_Model_Product_Url::getUrl()
commence comme ceci:
$url = $product->getData('url');
if (!empty($url)) {
return $url;
}
Étant donné que les produits de la liste contiennent déjà des données d'URL, les paramètres de requête ne sont pas ajoutés et l'URL finale ne contient pas ?options=cart
.
Ma question: est-ce un bug ou une fonctionnalité?
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
via le noyau / session singleton. Pouvez-vous me donner un exemple du code que vous avez utilisé?