要するに、追加のパラメーターを使用して製品URLを取得しても、CE 1.8およびEE 1.13では機能しません。
URLは、Magentoの最新バージョンで変更されました。以前のCE 1.7およびEE 1.12では$this->getAddToCartUrl($_product)
、製品リストからの呼び出しは次の段階で実行されていました。
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
- ここでは、クエリパラメータ「options」に値「cart」を追加します
Mage_Catalog_Block_Product_Abstract::getProductUrl()
- このメソッドは、基本的にURLモデルから値を取得します
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は
—
jharrison.au
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
コア/セッションシングルトンを介してこれを自動的に行います。使用したコードの例を教えてもらえますか?