Magentoでは動的価格設定はどのように機能しますか?


8

Magentoで動的価格設定がどのように機能するのでしょうか?

たとえば、バックエンドで製品を作成し、それにカスタムオプションをいくつか追加しました。そのため、ユーザーがオプションを選択すると、ページを再ロードすることなく、製品ビューページの価格が自動的に変更されます。

Magentoがこのアクションを実行する方法を誰かが説明できますか?

また、カスタムの動的価格設定を追加できますか?ユーザーがリンク(製品ビューページに追加)をクリックすると、価格が変更されます。

回答:


10

価格計算はMagentoの非常に複雑なトピックです。これは、単純な製品でこれがどのように行われるかについての鳥瞰図です。

  1. Magentoは「基本」価格を取得します。これは、価格列で定義した価格です
  2. 「グループ」価格が適用されます。これは、注文数量、Webサイト、および顧客グループに基づいて階層価格が考慮される部分です。
  3. 現在の日付に特別価格が定義されている場合、特別価格が適用されます。
  4. catalog_product_get_final_price」イベントが発生します。これは、価格をいじるカスタムモジュールの出番です。実用的な例として、CatalogRuleモジュールはこのイベントをキャッチし、定義されたカタログルールに基づいて価格を変更します。
  5. 選択したオプションの価格が考慮されます

このプロセスには非常に時間がかかるため、Magentoは価格インデックスを作成し、インデックスを再作成する場合にのみ上記を実行します。価格インデックスは、「上記の手順を使用して計算された」「最終」価格に関する情報と、構成可能変数およびバンドルの最小/最大価格などの情報を含む一連のテーブルを利用します。このテーブルには、Webサイト/製品/顧客グループの組み合わせごとにエントリがあるため、システムは顧客データに基づいて適切な行を選択するだけでよく、プロセス全体を適切な時間で実行できます。

フロントエンド部分に関しては、価格が動的に増減する方法は、すべて「価格レベル」のjson配列で始まり、選択に基づいて価格を増減するJavaScriptですべて行われます。


ポールさん、回答ありがとうございます。Magentoの動的な価格設定は複雑なトピックです:)
Wakanina

「catalog_product_get_final_price」イベントを使用してsetFinalPrice()、製品ビューページで価格を変更し、その後のステップ。しかし、動的な価格を製品リストページから直接設定するにはどうすればよいですか?
Shathish 2013

1

これはJavaScriptとAjaxで行われますが、私が正しければjs / varien / configurable.jsファイルにあります。この動作を変更したい場合は、プロトタイピングを使用して特定の機能を拡張できます。私はjavascriptが得意ではありませんが、このStackoverflowの記事では/programming/2686258/javascript-inheritance-extend-functionの拡張の基本について説明していると思います


サンダーに感謝します、これはそれを少し明確にします:)。誰かが詳細を説明できますか?これは誰にとっても価値があります。
ワカニーナ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.