2012-01-26 71 views
2

在magento中,有一種方法可以強制用戶在結帳之前擁有增量爲50的產品?我能夠弄清楚他們在結帳之前需要50個,但是這並不妨礙某人訂購51.我出售火柴,並且將每個產品設置爲他們自己的香水,以便您可以訂購一種產品中的4種,另一個,但我想迫使這個人必須以50的增量結賬。所以他們在技術上可以有20個紅色匹配,30個綠色,25個白色和25個黑色。任何幫助將不勝感激。Magento在結賬前遞增

回答

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

在附註中,php Architect關於Magento的「Magento電子商務編程指南」一書介紹了一種自定義模塊,它可以處理這類事情。可能值得一試。