Magento的:用ajax更新购物车项目自定义选项(Magento :Update cart it

2019-09-20 04:42发布

我需要使用Ajax更新自定义选项值。 我想更新它像

$params = $this->getRequest()->getParams();
    $itemID = $params['item'];
    $item =         Mage::getSingleton('checkout/session')->getQuote()->getItemById($itemID);
    $options = $item->getOptions();

    foreach ($options as $option) {

        if(strtolower($option->getCode()) == 'info_buyRequest')
        {
            $unserialized = unserialize($option->getValue());
            $unserialized['options'][216]= 'New Value';
            $option->setValue(serialize($unserialized));

        }
    }
    $item->save();

任何一个可以帮助我生根粉是怎么回事错在这里。 谢谢

Answer 1:

普拉得到它下面行代码的工作。

$item->setOptions($options)->save(); 
Mage::getSingleton('checkout/cart')->save();

感谢p4pravin分享。



Answer 2:

这绝不是真实的:

(strtolower($option->getCode()) == 'info_buyRequest')

此外,我不得不还可以编辑特定保存的自定义选项。 我的循环如下所示:

foreach ($options as $option) {
  switch (true) {
    case (strtolower($option->getCode()) == 'info_buyrequest') :
      $unserialized = unserialize($option->getValue());
      $unserialized['options'][216] = 'NEW VALUE';
      $option->setValue(serialize($unserialized));
      break;
    case ($option->getCode() == "option_216") :
      $option->setValue('NEW VALUE');
      break;
  }
}


文章来源: Magento :Update cart item Custom Option using ajax
标签: magento