在将报价项添加到购物车之前,我使用以下代码将选项传递给报价项。这些选项在结帐过程中显示得很好,但一旦下订单就会消失。这些选项不会显示在订单的确认电子邮件中、订单审核页面或后端中。我需要这些选项以供以后审查。
$cart = Mage::getModel('checkout/cart')
$quote = Mage::getSingleton('checkout/session')->getQuote()
$product = Mage::getModel('catalog/product')->load(7)
$quoteItem=Mage::getModel('sales/quote_item')->setProduct($product)
$a_options = array(
'options1' => array(
'label' => 'Ingredients',
'value' => $recipecontents,
),
'options2' => array(
'label' => 'Crush Grains',
'value' => $crush,
),
);
$quoteItem->addOption(new Varien_Object(
array(
'product' => $quoteItem->getProduct(),
'code' => 'additional_options',
'value' => serialize($a_options)
)
));
$quote->addItem($quoteItem)
$cart->save()
变量 $recipecontents 和 $crush 在代码前面使用从表单传递的数据定义。
其他一切正常,但是一旦下订单,Magento 就会忘记选项设置的内容。我需要将这些值保留到后端才能完成订单。我正在使用社区版 1.7.0.2。
有谁知道为什么这些价值观会丢失以及如何防止它发生?