1.7のクエリ文字列を介してCARTに構成可能な製品を追加する
-
16-10-2019 - |
質問
注:これはStackoverFlowからのXポストです。このサブエッケンジが存在したことを覚えておく前にそこに置いたので、ダブルアップについて謝罪しました。
私の問題は、構成可能な製品のカードへの追加方法と、URL / QueryStringを介した構成可能な製品が可能かどうかを囲んでいます。
Magento Wikiには、Magento <1.3のクエリ文字列を介してカートに製品を追加するためのリソースがあります ここ
これは、この例を使用してメソッドを引用しています。
http://www.your_domain.com/checkout/cart/add?product=68&qty=1&super_attribute[528]=55&super_attribute[525]=56
また、これはバージョン1.3まで有効であると述べています。
私は1.7でこれで遊んでいますが、1.7の大きな違いが暗号化されたキーであることに気付きました。 ->getAddUrl()
フォームアクションattribtueの方法して、URLはより似ています
http://www.your_domain.com.au/checkout/cart/add/uenc/aHR0cDovL3d3dy5jdWx0dXJla2luZ3MuY29tLmF1L2FjY2Vzc29yaWVzL3NvbC1yZXB1YmxpYy90cmFja3Mtb24tZWFyLWJsYWNrLTM1OTg5Lmh0bWw_X19fU0lEPVU,/product/35900/
製品IDは35900です。
このURLをブラウザで使用すると、製品のオプションを指定してください。
私は、URLの目的の属性オプション値を渡して、成功せずにカートに製品を追加しようとしています。 (スペースを節約するために、私は暗号化されたキーまでのURLを省略しています)私はこれらの方法を試しました。
/product/35900/super_attribute/49265/4834
/product/35900/super_attribute/49265=4834
/product/35900/49265=4834
/product/35900/49265/4834
私の質問は、MagentoのカートにURLを介して構成可能な製品を追加することは可能ですか?もしそうなら、super_attribute IDと属性オプション値を渡すための形式は何ですか?
解決
これは、CE 1.7.0.2(サンプルデータを使用)で私のために機能しました。
/checkout/cart/add/product/126?super_attribute[525]=100&super_attribute[272]=22
メモ(これは私を少し困惑させます):
呼び出しには違いがあります。
/checkout/cart/add/product/126?super_attribute[525]=100&super_attribute[272]=22
と
/checkout/cart/add/product/126?super_attribute[272]=22&super_attribute[525]=100
つまり、super_attributeパラメーターの順序が重要です。上記の2つのURLを呼び出した後、同じオプションを持つ同じ製品の2つのカートラインになりました。 1つは次のように見えました:
サイズ 小さい 色 緑
そしてもう1つはそうでした
色 緑 サイズ 小さい
URLを介して製品をCARTに追加する場合、一貫性のために製品ビューページに示すように、属性の注文を維持する必要があります。
他のヒント
最新のMagentoバージョンでは、フォームキーも追加する必要があります。
https://{site-name}/checkout/cart/add/product/{product_id}/form_key/{form_key}?super_attribute[{attribute_id}]={attribute_value}&super_attribute[{attribute_id}]={attribute_value}