誰かが私を助けてくれることを願っています...
目標は、製品をカートに分割することです。そのため、同じ ID を持つ 2 つの製品がカートに入っている場合、数量が 2 の 1 つの製品/アイテムとしてではなく、別々に表示および処理する必要があります。
これを実現するために、見積もりアイテムのオプションとイベントを使用します。
イベント: checkout_cart_product_add_after コード:
$quoteItem->addOption(new Varien_Object(
array(
'product' => $quoteItem->getProduct(),
'code' => 'unique_id',
'value' => $uniqueId
)
));
私もaddional_optionsを使って同じことを試しました:
$additionalOptions = array(
array(
'code' => 'unique_id',
'label' => 'Uniaue ID',
'value' => $uniqueId
)
);
$quoteItem->addOption(
array(
'code' => 'additional_options',
'value' => serialize($additionalOptions),
)
);
その後 - すべて正常に動作します。オプションはカートに表示され、データベース (sales_flat_quote_item_option) に保存され、すべて独自の item-id を持っています。
しかし、1 つの製品を編集して再度カートに入れると、追加のオプションが失われ、データベースに存在しなくなります...これは、カート内の同じ ID を持つすべての製品に影響します...
誰かが私を助けてくれるなら、それは素晴らしいことです...