Produkt-URL mit zusätzlichen Parametern (CE 1.8 & EE 1.13)


13

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:

  1. Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
    • Hier würde es den Abfrageparameter "options" mit dem Wert "cart" hinzufügen
  2. Mage_Catalog_Block_Product_Abstract::getProductUrl()
    • Diese Methode erhält im Wesentlichen einen Wert aus dem URL-Modell
  3. 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?


Nur eine Randnotiz: Nach ein paar EE1.13-Upgrades müssen wir unserer Add-to-Cart-URL ein form_key-Tag hinzufügen
brentwpeterson 10.10.13

Vielen Dank für die Eingabe - so wie es aussieht, wird Magento dies automatisch Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()über den Core / Session-Singleton erledigen . Können Sie mir ein Beispiel für den verwendeten Code geben?
jharrison.au

Antworten:


3

Wow, ziemlich das Delta für diese Klasse von 1.7.0.2 -> 1.8.0.0! Während es in dieser Klasse wesentliche Änderungen gibt und dies "Abbruchverhalten" ist, sollte dies als Fehler angesehen und der EE-Unterstützung vorgelegt werden.

Es gibt nichts Außergewöhnliches oder Aufregendes an dieser zuvor gültigen Funktionalität, und selbst in einer kleineren Version sollten keine Änderungen am Update vorhanden sein (daher Magento 2).


Danke Ben, wollte nur sicherstellen, dass ich nichts verpasse.
Jharrison.au
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.