sales_flat_quote_item_option テーブルに行を追加するカスタム モジュールを Magento で作成しました。quote_item オブジェクトのパラメーターとして配列を指定して addOption メソッドを使用します。次に、$quoteItem->save(); を実行します。
Magento のバージョン 1.4 では、すべてが魅力的に機能します。Magento を 1.7 バージョンにアップグレードしようとしましたが、モジュールが機能しなくなったようです。
カップルがデバッグを試みた後、(クエリ ログ ファイルによると) sales_flat_quote_item_option の挿入クエリがまったく起動されていないことがわかりました。
そこで、データを挿入するための簡単なクエリを作成し、モジュールが動作するようになりました。
たぶん、誰かがすでにこの種の問題に直面しているのではないでしょうか? できるだけきれいにする必要があります。
失敗したコードを共有させてください:
public function assignDocumentToQuoteItem(Mage_Sales_Model_Quote_Item $quoteItem, $documentid)
{
if(is_numeric($documentid) && $documentid > 0)
{
/** @var Mage_Catalog_Model_Product */
$product = $quoteItem->getProduct();
$quoteItem->addOption(array(
'product_id' => $product->getId(),
'product' => $product,
'code' => 'documentid',
'value' => $documentid));
$quoteItem->save();
return true;
}
throw new Exception(__METHOD__.' - Document id has to be a numeric value.');
}
Magento 1.4 では正常に動作しますが、1.7 では動作しません。
どうもありがとうございました !