2012-01-26 7 views
2

マゼンタでは、チェックアウト前に50ずつインクリメントした商品をユーザーに強制的に出す方法がありますか?私は彼らがチェックアウトする前に50が必要であることを知ることができましたが、それは誰かが注文することを妨げません51.私はマッチを販売し、私は自分の香りとして各製品を設定したので、私は人にチェックアウトを余儀なくされて50の増分を払わせたいと思っています。だから技術的には20の赤いマッチ、30の緑のマッチ、25の白、25の黒を持つことができました。どんな助けでも大歓迎です。チェックアウト前にマゼンタインクリメント

答えて

0

あなたがしたいことは、合計のカートアイテムが50で割り切れるかどうかをチェックすることです。解決方法は、AJAXカートまたは伝統的なPOSTカートがあるかどうかによって異なります。私はあなたが後者を持っていると仮定します。チェックアウトの確認ページで

、あなたはこのようにチェックを追加したくなるでしょう:

<?php 
    // /app/code/core/Mage/Checkout/controllers/CartController.php 
    $cart   = Mage::helper('checkout/cart')->getCart(); 
    $cartItemsCount = $cart->getQuote()->getItemsSummaryQty(); 

    if($cartItemsCount % 50 !== 0) { 
     // Redirect and show error message 
     $this->_getSession()->addError('Custom cart rule does not allow this'); 
     $this->_goBack(); 
    } 
?> 

注:コア編集を行うための最善の方法は、独自のモジュールにファイルを拡張することです。

フロントエンドの検証も可能ですが、それは不正なものではありません。トリッキーなユーザーはこの検証を回避することができます。

ユーザーのために物事を簡単にするために、あなたは数量入力がHTML5 number inputなる可能性があり、その後、明らかにあなたがここにドットを接続するために持って行います50

のブロックにステップ属性増分をしています仕事のビット、しかしこれはあなたがそれを開始するでしょう。乾杯。

0

サイドノートでは、Magentoの「Magentoを使った電子商取引プログラミングの手引」に関するphp Architectの本は、この種のことをするカスタムモジュールに行きます。チェックアウトの価値があるかもしれません。

関連する問題