2

这就是我想要做的:

  1. 当我将产品添加到购物车时,我抓住了事件
  2. 在关联的观察者中,我想将数据添加到当前报价项并保存。
  3. 在购物车中,我取回此信息以显示它

这就是我在观察者中所做的:

 $item = $observer->getEvent()->getQuoteItem();
 $item->setData('results',$results); 

在购物车中,我试图像这样记录这个值:

 Mage::log($_item->getData('results')); 

但是这个值是空的。我认为“结果”属性不是持久的。

你能帮我解决我的问题吗?

如果需要更多详细信息,请告诉我。

4

2 回答 2

4

我来给你一个解决方案!我找到了“sales_flat_quote_item_option”表,并将我的价值存入其中。

if(isset($results))
{
        $item->addOption(array(
              "product_id" => $item->getProduct()->getId(),
              "product" => $item->getProduct(),
              "code" => "results",
              "value" => serialize($results)
        ));
        $item->save();
} 

我就这样在购物车中得到了这个值。

$results_data = $_item->getOptionByCode("results");
if(!is_null($results_data))
     $results = unserialize($results_data->getValue()); 

它的工作就像一个魅力,感谢您的宝贵帮助。

于 2013-05-24T13:25:33.060 回答
0
 $item = $observer->getEvent()->getQuoteItem();
 $item->setData('results',$results); 

你在哪里初始化了 $results。由于似乎没有与 $results 关联的值,因此您得到一个空白值。

于 2013-05-23T16:50:32.593 回答