1

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 では動作しません。

どうもありがとうございました !

4

0 に答える 0