Magento - 見積/注文作成時のユーザー入力に基づく製品属性
概要
この記事では、次の解決策を提供します。製品に保存されない、または製品編集ページに表示されないカスタム製品属性を作成します。代わりに、注文/見積品目に保存され、注文、請求書、その他の関連文書に表示されます。さらに、製品をカートに追加する前に、顧客がフロントエンドで構成できます。
問題の定義
- カスタム製品属性を追加します。標準の商品属性やカスタム オプションの一部ではありません。
- この属性は、カートに追加する前に、顧客が商品ページで表示および設定できるようにする必要があります。
- 属性の値は次の形式で保存する必要があります。見積/注文品目。
- 属性の値は、注文、請求書、営業メール、その他の関連文書に表示される必要があります。
- 属性の値に基づいて注文コレクションをフィルタリングする機能を提供します。
ソリューション
属性値の取得、検証、保存
-
イベントオブザーバー: 属性の値を取得して保存するには、catalog_product_load_after などのイベント オブザーバーを使用します。
-
顧客入力: 顧客が入力できるように、フォーム要素を製品ページに追加します。属性の値。
-
検証: サーバー側で顧客の入力を検証し、指定された基準を満たしていることを確認します。
-
追加オプション:検証された値を製品モデルのcustom_options配列のaddition_optionsキーに格納します。
属性値の表示
-
注文と請求書の表示: 注文テンプレートと請求書のテンプレートをカスタマイズして、属性の値を他の製品の詳細とともに表示します。
-
電子メールの表示: 営業電子メール テンプレートを更新して、関連するセクションに属性の値を含めます。
順序コレクションのフィルタリング
-
カスタム属性: データベースにカスタム属性を作成して、属性の値を保存します。
-
イベント オブザーバー: sales_convert_quote_item_to_order_item などのイベント オブザーバーを使用して、カスタム属性を設定します。
-
注文コレクション: を使用して注文コレクションをクエリします。カスタム属性の値をフィルター条件として使用します。
並べ替えのサポート
並べ替え中に属性の値が保持されるようにするには、checkout_cart_product_add_after などのチェックアウト イベント オブザーバーを使用します。属性値を見積項目にコピーします。
翻訳
- イベント オブザーバーを使用して、見積および注文アイテムの属性のラベルと値を翻訳します。
- 必要に応じて、デフォルトの表示テンプレートをオーバーライドして翻訳を処理します。
以上が見積/注文作成時のユーザー入力に基づいて Magento で動的な製品属性を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。