gpt4 book ai didi

php - Magento:产品从购物车移至愿望 list

转载 作者:行者123 更新时间:2023-12-01 23:18:28 25 4
gpt4 key购买 nike

我正在 try catch 将购物车项目移至愿望 list 的事件。我尝试了 wishlist_product_addwishlist_product_item 事件。但它们不适用于购物车页面。我想将产品的自定义选项保存在愿望 list 中。但是,当我将产品从购物车移至愿望 list 时,所有选项数据都会丢失。

最佳答案

您可以使用以下事件

       <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>

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

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());
}


}

关于php - Magento:产品从购物车移至愿望 list ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25158675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com