Magento:使用复选框同时将多个产品添加到购物车

时间:2011-06-24 14:09:04

标签: php magento-1.4 magento

我们有一个场景,在产品页面上我们有一些文字链接,除了用户当前正在查看的实际产品外,还引用了可购买的产品。

目标是允许用户通过复选框或可能的单选按钮制作其他部分,然后在用户点击通用添加到购物车按钮时将所选的其他项目添加到购物车。

我们的想法是在购买主要产品的同时销售额外服务,例如保修,会员或其他服务。

虽然我确实知道这可以通过分组或捆绑产品来完成,但我们希望能够更加自定义地了解产品在页面上的表现方式,从而使我们能够采用这种方法即时添加多种产品。

另一个困难是,我们希望尝试避免修改任何核心文件,并尽可能保留在主题和本地文件中。

提前谢谢!

[UPDATE] 我一直在测试一小段代码,当用户使用默认添加到购物车时,将通过以下内容添加实际库存商品

<?php // add multiple items to cart
$cart = Mage::getModel("checkout/cart");
$cart->addProduct($someId, $someQty);                                
$cart->save();
?>

1 个答案:

答案 0 :(得分:1)

找到以下解决方案:

<script type="text/javascript">
//<![CDATA[
$$('.related-checkbox').each(function(elem){
Event.observe(elem, 'click', addRelatedToProduct)
});

var relatedProductsCheckFlag = false;
function addRelatedToProduct(){
var checkboxes = $$('.related-checkbox');
var values = [];
for(var i=0;i<checkboxes.length;i++){
    if(checkboxes[i].checked) values.push(checkboxes[i].value);
}
if($('related-products-field')){
    $('related-products-field').value = values.join(',');
}
}
//]]>
</script>

然后,您可以添加以下项目:

<input type="checkbox" class="checkbox related-checkbox" id="related-checkbox35" name="related_products[]" value="35">

希望这可能有助于将来尝试做同样的事情!

干杯!