質問

マゼントを既存のシステムと統合しています。私達の既存のシステムはすでに注文番号を持っています。Magentoが独自の注文番号を持っているので多くの混乱があり、既存のシステムには注文番号が異なるので、注文番号を合わせることを試みています。

既存のシステムから注文番号を取得するSALES_ORDER_PLACE_AFTERのオブザーバーが設定されています。$ order-> setIncrementid($ our_existing_order_id)には機能しないようです。

本当に、私たちが望む最終目標は、既存のシステムの注文#sと一致するように送信される電子メール領収書の注文#sです。それを起こすより良い方法はありますか?

役に立ちましたか?

解決

このIDを保存するためにsales_flat_orderに新しいフィールドを作成することです。このIDを保存するために必要に応じてさまざまなテンプレートを更新することです。このようにして、将来のクリーンアップグレードパスがあります

他のヒント

1つの解決策はあなた自身の早生エンティティモデルを作成することです。列eav_entity_typeincrement_modelテーブルを調べると、そこにクラスパスがあります。あなた自身のカスタムモデルでそれらを置き換えます(例えば、[module]/entity_increment_erp

class [Namespace]_[Model]_Model_Entity_Increment_Erp extends Mage_Eav_Model_Entity_Increment_Abstract
{
    public function getNextId()
    {
        /**
        * your custom code to generate the increment ID, 
        * as long as it is unique
        */

        return $id;
    }
}
.

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