Magento:产品从购物车移至收藏夹 - php

我正在尝试捕获将购物车商品移至愿望清单的事件。我尝试了wishlist_product_addwishlist_product_item事件。但是它们在购物车页面上不起作用。我想将产品的自定义选项保存在愿望清单中。但是,当我将产品从购物车移动到愿望清单时,所有选项数据都丢失了。

参考方案

您可以使用以下事件

       <wishlist_item_add_after>
            <observers>
               <cop_wishlist_price_options>         
                    <class>AAA_Addon_Model_Observer</class>
                    <method>addProductPriceOptionsToWishlist</method>           
                </cop_wishlist_price_options>
            </observers>
        </wishlist_item_add_after>

在观察者中,您可以访问愿望清单和报价。将数据/选项表格报价复制到愿望清单项目。

public function addProductPriceOptionsToWishlist($observer){

try {

    $wishlist = $observer->getEvent()->getWishlist();   
    $itemId = (int) $this->_getRequest()->getParam('item');

    $cart = Mage::getSingleton('checkout/cart');
    $session = Mage::getSingleton('checkout/session');


        $quote_item = $cart->getQuote()->getItemById($itemId);
        if (!$quote_item) {
            Mage::throwException(
                Mage::helper('wishlist')->__("Requested cart item doesn't exist")
            );
        }

        $productId  = $quote_item->getProductId();

    $buyRequest = $quote_item->getBuyRequest();
    $buyRequestData = $buyRequest->getData();


    if($buyRequestData):

    $additional_op = $quote_item->getOptionByCode('additional_options');
    $additional_op = $additional_op->getData();

    $wishlist_item = Mage::getModel('wishlist/item')->load($productId,'product_id');


    //save additonal options to wishlist-options        
    $modelRes_w_item_op = Mage::getModel('wishlist/item_option');
    $modelRes_w_item_op->setWishlistItemId($wishlist_item->getId());
    $modelRes_w_item_op->setProductId($productId);
    $modelRes_w_item_op->setCode('additional_options');
    $modelRes_w_item_op->setValue($additional_op['value']);
    $modelRes_w_item_op->save();

    endif;


    } catch (Mage_Core_Exception $e) {
        Mage::log($e->getMessage());
    } catch (Exception $e) {
        Mage::log($e->getMessage());
    }


}

Magento-将特定父类别的子类别作为链接列出 - php

我是php的初学者,并且坚持尝试仅将一个父类别的子类别称为链接我明白了,它显示了getName,但是getUrl()根本不返回任何URL...。<?php $children = Mage::getModel('catalog/category')->getCategories(3); foreach ($children a…

Magento:通过自定义字段获取我的模型的记录 - php

是否可以通过模型的另一个字段来获取模型的记录?正常方式$model = Mage::getModel('foo_bar/baz'); $model->load($id); // do something with the loaded record 但是我需要这样的东西$model = Mage::getModel('fo…

Magento API太慢了? - php

因此,我最近通过Magento API调用在数据库上运行了一些查询,例如$connection = Mage::getSingleton('core/resource')->getConnection('core_write'); $readresult = $connection_write->query…

Magento-禁用PayPal Express结帐? - php

Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想改善这个问题吗?更新问题,以使溢出。 上个月关闭。 on-topic 我已经设置了PayPal Merchant Payments Pro,可以接受信用卡,但是商店还可以自动接受PayPal Express Che…

Magento隐藏的自定义产品属性 - php

我目前正在制作一个模块,以便用户在结帐页面上看到类似的内容:“购买产品X的人还购买了Y,Z和T​​”。我做了一个cronjob来计算每个产品的相关产品,并在安装脚本中为产品添加了属性。我决定(为简单起见)-存储最相关的5种产品,所以我想存储以下内容:123-3-5543-1290-9911。但是我不希望管理员在任何地方看到此消息,因此尝试了以下操作:$set…