Magentoはどこでsales_flat_order_itemのproduct_optionsの値をシリアル化しますか
-
16-10-2019 - |
質問
私のMagentoインストールでは、すべての製品はサイズがスーパー属性である構成可能な製品です。 [PRODUCT_CODE] - [COLOUR]
, 、 お気に入り 999MBELT - Black
しかし、これは色属性が製品の説明にあるため、色が2回置き換えられ、それを削除するように言われました
私は今、製品の色を含めることで請求書を修正することを任されています、私はこれを行う方法を知っています、私はただシリアル化された文字列を編集する必要があります sales_flat_order_item.product_options
そして変化します
s:15:"attributes_info";a:1:{i:0;a:2:{s:5:"label";s:4:"Size";s:5:"value";s:2:"58";}
このようなものに
s:15:"attributes_info";a:2:{i:0;a:2:{s:5:"label";s:4:"Size";s:5:"value";s:2:"58";}i:1;a:2:{s:5:"label";s:6:"Colour";s:5:"value";s:10:"Dark Brown";}}
今、私はこれをどうやってやろうとしているのか知っています、問題は自分のコードをどこに置くかわからないということです
だから私は不思議に思っています、Magentoはどこで元の配列を連続化して保存しますか sales_flat_order_item
解決
少なくともそれが私のために働く場所、 app\code\core\Mage\Sales\Model\Convert\Quote.php
行があります $orderItem->setProductOptions($options);
, 、 の setProductOptions
またはbyによって呼ばれる関数で setProductOptions
データをシリアル化するところです。 array_push
の中へ $options['attributes_info']
これは、注文の化粧品としてのみ資料のような他の属性を追加する場合に便利です
所属していません magento.stackexchange