我已將產品銷售價格設置爲100英鎊。我還在「大型」120英鎊創建了「尺寸」屬性。Adobe Catalyst - '屬性價格'添加到'銷售價格'問題
但是,當我查看產品並選擇「大型」時,當我只需要120英鎊時,價格就高達220英鎊(將屬性和售價一起添加)。
有關我爲什麼會遇到此問題的任何想法?
我已將產品銷售價格設置爲100英鎊。我還在「大型」120英鎊創建了「尺寸」屬性。Adobe Catalyst - '屬性價格'添加到'銷售價格'問題
但是,當我查看產品並選擇「大型」時,當我只需要120英鎊時,價格就高達220英鎊(將屬性和售價一起添加)。
有關我爲什麼會遇到此問題的任何想法?
BC中的屬性是加載項。你不能只獲得屬性。 您需要的是產品分組。
集團的產品一起
您可以創建同一類型,並將它們一起組的多個產品。查看一個產品的客戶也可以通過從該組中選擇另一個產品來查看可用變體。
檢查分組如何在商業催化劑
從操作菜單,選擇集團產品一起使用。
將產品從左側面板移到右側,選擇默認產品,然後單擊保存。
注意:默認產品是顯示在目錄中的唯一產品。所有其他分組產品均可通過分組產品下拉菜單獲得。
您好,我已經在卑詩省的這個問題上創建了自己的方法,我也在Business Catalyst Forum上分享了它。對於選擇下拉菜單或單選按鈕使用下面的代碼,您需要具備一定的代碼修復能力,前段時間已經完成了,但如果有人希望將其改進爲更清晰的方式,歡迎分享。
$(document).ready(function(){
StartDynamicPrice();
DoPriceChange();
});
var el_totalprice='#totalprice';
var el_totalprice_gst='#totalprice_gst';
//var el_attrselect='.catProdAttributeItem select';
// uncomment if you want radio as well
var el_attrselect='.catProdAttributeItem select, .catProdAttributeItem input';
var currencysymbol='£';
Number.prototype.toMoney=function(decimals, decimal_sep, thousands_sep){
var n = this,
c = isNaN(decimals) ? 2 : Math.abs(decimals),
d = decimal_sep || '.',
t = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
sign = (n < 0) ? '-' : '',
i = parseInt(n = Math.abs(n).toFixed(c)) + '',
j = ((j = i.length) > 3) ? j % 3 : 0;
return sign + (j ? i.substr(0, j) + t : '') + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : '');
}
DoPriceChange=function(){
var selected='';
var newsubtotal=0;
$.each($(el_attrselect), function(i,e){
selected=$(e).children(':selected').text();
if (selected.indexOf(currencysymbol) != -1){
newsubtotal+=parseFloat(selected.substring(selected.indexOf(currencysymbol)+1));
};
});
newtotal=parseFloat($(el_totalprice).attr('base'))+parseFloat(newsubtotal);
newtotal_gst=newtotal+(newtotal*.10);
$(el_totalprice).html(currencysymbol+newtotal.toMoney());
$(el_totalprice_gst).html(currencysymbol+newtotal_gst.toMoney());
}
StartDynamicPrice=function(){
$(el_totalprice).attr('base',$(el_totalprice).html().replace(currencysymbol,'').replace(' ,','')); // set base price
$(el_attrselect).on('change',function(){
DoPriceChange();
})
}
/// END