在magento中有没有办法强制用户在结账前拥有增量为50的产品?我能够确定他们在结账之前需要50美元,但这并不妨碍有人订购51.我出售火柴并且我已将每种产品设置为他们自己的香水,因此您可以订购4种产品和57种另一个,但我想迫使这个人必须以50的总增量结账。所以他们在技术上可以有20个红色匹配,30个绿色匹配,25个白色和25个黑色。任何帮助将不胜感激。
答案 0 :(得分:0)
因此,您要做的是检查总购物车项目是否可被50整除。根据您是否有AJAX购物车或传统的购物车购物车,解决方案会有所不同。我假设你有后者。
在结帐验证页面中,您需要添加如下支票:
<?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为单位递增。
显然你必须在这里连接点并做一些工作,但这将让你开始。欢呼声。
答案 1 :(得分:0)
另一方面,php Architect关于Magento的书“Magento的电子商务编程指南”介绍了一个自定义模块,它可以完成这类工作。可能值得一试。