Kurz gesagt: Das Abrufen einer Produkt-URL mit zusätzlichen Parametern funktioniert in CE 1.8 und EE 1.13 nicht.
URLs wurden mit der neuesten Version von Magento geändert. Früher in CE 1.7 und EE 1.12 $this->getAddToCartUrl($_product)
durchlief das Aufrufen von einer Produktliste die folgenden Phasen:
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
- Hier würde es den Abfrageparameter "options" mit dem Wert "cart" hinzufügen
Mage_Catalog_Block_Product_Abstract::getProductUrl()
- Diese Methode erhält im Wesentlichen einen Wert aus dem URL-Modell
Mage_Catalog_Model_Product_Url::getUrl()
- Bis zur endgültigen Generierung der URL mit den ursprünglich übergebenen Abfrageparametern wird viel verarbeitet
Mit CE 1.8 und EE 1.13 Mage_Catalog_Model_Product_Url::getUrl()
beginnt Schritt 3 folgendermaßen :
$url = $product->getData('url');
if (!empty($url)) {
return $url;
}
Da die Produkte in der Liste bereits über URL-Daten verfügen, werden die Abfrageparameter nicht hinzugefügt und die endgültige URL enthält keine ?options=cart
.
Meine Frage: Ist das ein Bug oder ein Feature?
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
über den Core / Session-Singleton erledigen . Können Sie mir ein Beispiel für den verwendeten Code geben?