Magento では、2 つの価格帯を使用します。1 つは 6 ボックスで 1 ボックスあたり 3.50 ポンド、もう 1 つの価格帯は 24 個の箱で 1 ボックスあたり 2.40 です。これらはすべて正常に機能し、増分は 6 に設定されていますが、必要なのは注文用です24 個のボックスに達するまで 6 個の増分で 6 個のボックスを作成し、その後は 6 個ではなく 24 個ずつ増加します。
これは可能ですか?
それが理にかなっていることを願っています
これは、製品/ビューのカスタム コードで可能です。一般的な考え方は、次のようなものがあるということです。
影響を受ける製品のテーマのオーバーライド。これは、製品ページの phtml テンプレート ファイルと、app/design/frontend/default/thingy/template パスに配置されたその通常のパス以外のもので構成される必要はありません。次に、特別な製品をこのテーマに設定します。ヘッダーやフッターなどの他のファイルは、メイン ストアのテーマから取得されます。
新しい「テーマ」を使用するように製品を設定します。
カスタム テンプレートに追加の Javascript チャンクと追加の数量ボックスを配置し、id に「tieredqty」を付けます。Prototype on DOM load イベントを使用してスクリプトを実行します。
スクリプトの先頭で $('id-for-normal-qty-box').hide(); を使用します。フォームで送信される数量ボックスを非表示にします。
独自の偽の数量ボックスに、イベント オブザーバーを追加します。onkeypress にして検証を実行し、数値のみにすることができます。非表示のテキストボックスに値をコピーすることもできます。その値を独自のロジックで処理して、次の層に切り上げることができます。
価格を考慮してページの価格を動的に更新する必要がないため、onChange イベントを非表示のフォーム項目に「バブリング」することを心配する必要はありません。
テンプレート ファイルcatalog/product/view/addtocart.phtml
を編集して、数量のテキスト入力を倍数のみの選択に置き換えることができます。6、12、18、24、48、72、96 など (これはすべての製品に影響しますが、一部の製品のみに選択的に適用する方法があります)
残念ながら、それで顧客が製品ページに何度も戻るのを止めることはできません. たとえば、カートに 24 を追加してから 6 を追加して、30 の階層価格を取得する場合があります。また、(テーマによっては) カート ページで直接数量を編集することもできます。これを防ぐ唯一の方法は、おそらくチェックアウト時にカートの内容を検査することです。