是否可以在Magento中设置每个订单类别所需的最小产品数量。一个客户出售野生动物画,其中一个商店类别是“卡片”,一次运送少于6个这样的商品并不是非常划算。
如何从卡类别中强制推出至少6种产品?
谢谢, 丹
答案 0 :(得分:2)
如果从商业角度来看,您可以要求用户购买一定数量的卡,那么B00MER的建议可能是最简单的方法。缺点是他们将被要求订购同一张卡的倍数。
如果您需要允许多张不同的卡并仍然执行限制,请考虑使用整个购物车的最低订购金额。这将涵盖少量运输无利可图的其他产品的情况。
如果这不起作用,请考虑使用表费率运费并将其用作无利可图订单的手续费。或所有订单的手续费。
如果这不起作用,AFAIK,您需要按照描述进行一些自定义代码检查。如何使用多个子类别中的产品等等?绝对可行,但语义可能很奇怪。
希望有所帮助!
谢谢, 乔
答案 1 :(得分:1)
作为替代建议,请考虑制定购物车价格规则,该规则虽然不会阻止较小数量,但可以为潜在客户提供鼓励。
例如,规则可能具有以下条件:
然后在这些卡上免费送货。
答案 2 :(得分:1)
如果订单中还包含更大的东西,比如画布画,那么发卡的成本可以忽略不计。
将您选择的运输方式的最小重量设置为1磅,每张卡的重量为0.18(五分之一到六分之一)。这样,客户必须同时购买至少5个其他或重物。
答案 3 :(得分:0)
我不知道类别但是如果你想为单个产品页面添加一个允许的最小数量,那么就可以实现这一目标。
使用Magento像往常一样创建产品页面。创建后,转到页面并查看源代码。获取所有代码并将其转储到编辑器(即记事本++)中。从那里向下滚动代码直到约560-580线,具体取决于您的布局。你应该找到javascript函数:
productAddToCartForm.submit = function(button, url) {
if (this.validator.validate()) {
var form = this.form;
var oldUrl = form.action;
if (url) {
form.action = url;
}
var e = null;
try {
this.form.submit();
} catch (e) {
}
this.form.action = oldUrl;
if (e) {
throw e;
}
if (button && button != 'undefined') {
button.disabled = true;
}
}
}.bind(productAddToCartForm);
从这里你可以编辑它看起来像这样的东西:
productAddToCartForm.submit = function(button, url) {
var LJSM1 = parseFloat(document.getElementById('bundle-option-1-qty-input').value);
var L2 = parseFloat(document.getElementById('bundle-option-2-qty-input').value);
var L3 = parseFloat(document.getElementById('bundle-option-3-qty-input').value);
var L4 = parseFloat(document.getElementById('bundle-option-4-qty-input').value);
var L5 = parseFloat(document.getElementById('bundle-option-7-qty-input').value);
var L6 = parseFloat(document.getElementById('bundle-option-6-qty-input').value);
if (this.validator.validate()) {
if((L1+L2+L3+L4+L5+L6) <= 15){
alert("Sorry you are below the minimum order. Please increase your order to 16 or more to continue.");
}
else{
var form = this.form;
var oldUrl = form.action;
if (url) {
form.action = url;
}
var e = null;
try {
this.form.submit();
} catch (e) {
}
this.form.action = oldUrl;
if (e) {
throw e;
}
if (button && button != 'undefined') {
button.disabled = true;
}
}
}
}.bind(productAddToCartForm);
在我的情况下,我添加了一个简单的if / else语句并调用了页面中的选项,并将它们分配给一个变量,然后我将其汇总。
修改此代码后,您可以将其保存为与原始页面URL同名的.html文件,然后将其上传到magento目录的根目录。这可以作为原始页面的一种掩码,因此在浏览产品时,您将被定向到此页面,而不是原始的Magento页面。购物车,选项和Java脚本仍然可以工作,一切都会正常运行。唯一的缺点是,当你抓住代码时,无论页面是什么样子,对其他人来说都是这样。因此,我建议您删除购物车的代码,产品比较以及其他任何具有唯一数据的代码,以免造成任何混淆。最重要的是,如果您对原始Magento页面或主题进行任何更改,则必须再次快速运行该过程以更新代码。