2

ショッピング カートに追加する前に、次のコードを使用して見積もりアイテムにオプションを渡しました。オプションは、チェックアウト プロセスで問題なく表示されますが、注文が行われると消えます。オプションは、注文の確認メール、注文レビュー ページ、またはバックエンドに表示されません。後で確認するために、これらのオプションを保持する必要があります。

$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 はオプションの設定内容を忘れてしまいます。注文を満たすために、これらの値をバックエンドに保持する必要があります。Community Edition 1.7.0.2 を使用しています。

これらの値が失われている理由と、それを防ぐ方法を知っている人はいますか?

4

1 に答える 1