追加パラメーターを含む製品URL(CE 1.8およびEE 1.13)


13

要するに、追加のパラメーターを使用して製品URLを取得しても、CE 1.8およびEE 1.13では機能しません。

URLは、Magentoの最新バージョンで変更されました。以前のCE 1.7およびEE 1.12では$this->getAddToCartUrl($_product)、製品リストからの呼び出しは次の段階で実行されていました。

  1. Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
    • ここでは、クエリパラメータ「options」に値「cart」を追加します
  2. Mage_Catalog_Block_Product_Abstract::getProductUrl()
    • このメソッドは、基本的にURLモデルから値を取得します
  3. Mage_Catalog_Model_Product_Url::getUrl()
    • URLが最終的に生成されるまで、多くの処理が発生し、最初に渡されたクエリパラメータで完了します

CE 1.8およびEE 1.13では、ステップ3 Mage_Catalog_Model_Product_Url::getUrl()は次のように始まります。

$url = $product->getData('url');
if (!empty($url)) {
    return $url;
}

リスト内の製品には既にURLデータがあるため、クエリパラメーターは追加されず、最終URLにはが含まれません?options=cart

私の質問:これはバグですか、それとも機能ですか?


ちょっとした注意として、EE1.13のアップグレードを2〜3回行った後、カートに追加するURLにform_keyタグを追加する必要があります
-brentwpeterson

入力に感謝します-その見た目により、MagentoはMage_Catalog_Block_Product_Abstract::getAddToCartUrl()コア/セッションシングルトンを介してこれを自動的に行います。使用したコードの例を教えてもらえますか?
jharrison.au

回答:


3

うわー、1.7.0.2-> 1.8.0.0からそのクラスのかなりのデルタ!このクラスに大幅な変更があり、これが「破壊的な動作」であるとはいえ、バグと見なされ、EEサポートに提出される必要があります。

この以前有効だった機能について、特別に斬新またはエッジの効いたものはありません。マイナーバージョンの更新でも、破壊的な変更は存在しません(したがってMagento 2)。


ベン、ありがとう。私が何かを見逃していないことを確認したかっただけだ。
jharrison.au
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.