douli4852 2016-09-29 06:46
浏览 47
已采纳

当magento购物车中存在其他产品时,自动将商品添加到购物车

I want to add item(one fix) to cart automatically when another product is present but quantity changes when main product quantity changed. Ex. if I add Product A with qty 1 in cart then product B with qty 1 will be add to cart same if I add Product A with qty 2 in cart then product B with qty 2. Please don't recommend any extension. Thanks

  • 写回答

1条回答 默认 最新

  • duancao2082 2016-09-29 08:41
    关注

    You need to override cart controller. Register your module, then in your modules config.xml

    <?xml version="1.0"?>
     <config>
       <modules>
         <Kreativ_Buynow>
           <version>1.0.0</version>
         </Kreativ_Buynow>
       </modules>
       <frontend>
        <routers>
            <checkout>
                <args>
                    <modules>
                        <Kreativ_Buynow before="Mage_Checkout">Kreativ_Buynow</Kreativ_Buynow>
                    </modules>
                 </args>
            </checkout>
        </routers>
       </frontend>
     </config>
    

    Then create CartController.php in controllers folder

    require_once 'Mage/Checkout/controllers/CartController.php';
    class Kreativ_Buynow_CartController extends Mage_Checkout_CartController{
     public function addAction(){ 
    
         foreach ($this->_getCart()->getQuote()->getAllItems() as $items) {
            if($items->getProductId() == 933){
                $value = $items->getQty();
                $prd = Mage::getModel('catalog/product')->load(943);
                $this->_getCart()->addProduct($prd,$value)->save();
                $this->_getSession()->setCartWasUpdated(true);
            }
         }
         return parent::addAction();
     }
    

    Where I assumed if product with id 933 is present, then you are going to add product with id 943 in the cart.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 把VMware项目复制到另一台电脑
  • ¥15 onlyoffice编辑完后立即下载,下载的不是最新编辑的文档
  • ¥15 求caverdock使用教程
  • ¥15 Coze智能助手搭建过程中的问题请教
  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么