【问题标题】:Magento: Add multiple product to the cart simultaneously with checkboxMagento:使用复选框同时将多个产品添加到购物车
【发布时间】:2014-05-22 00:12:03
【问题描述】:

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

目标是允许用户通过复选框或单选按钮创建其他部分,然后在用户单击通用添加到购物车按钮时将选定的附加项目添加到购物车。

我们的想法是在购买其主要产品的同时出售附加服务,例如保修、会员资格或其他服务。

虽然我确实意识到这可以通过分组或捆绑产品来完成,但我们希望对产品在页面上的表示方式有一个更加自定义的视图,从而使我们采用这种动态添加多个产品的方法。

另一个困难是我们想尽量避免修改任何核心文件,并尽可能保持在主题和本地文件之外。

提前谢谢你!

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

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

【问题讨论】:

  • 您了解相关产品块的工作原理吗?如果它们不是可配置的产品,您可以将它们放在框中并一次性添加它们。您的产品是否可配置?
  • 我们主要使用简单的产品,但是我们将有大约 20-30k 产品,并且每个产品需要在整个站点上具有 2-3 个(附加选项)产品,因此使用相关产品可能会变得很麻烦作为编码,这可能是一种更直接的方法,每次都能为我们提供准确的产品而不会失败。
  • 企业版附带基于规则的产品关系,但如果您不愿意花那么多钱(谁是?),Magento Connect 有几个用于自动化相关产品的扩展。

标签: php magento-1.4 magento


【解决方案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">

希望这可以帮助将来尝试做同样事情的人!

干杯!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    相关资源
    最近更新 更多