Magentoはどこでsales_flat_order_itemのproduct_optionsの値をシリアル化しますか

magento.stackexchange https://magento.stackexchange.com/questions/2786

質問

私の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']

これは、注文の化粧品としてのみ資料のような他の属性を追加する場合に便利です

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top