5

私は、4 つのドメイン (米国用に 1 つ、ヨーロッパ (英国、フランス語、およびドイツ語) 用に 3 つ) にわたる単一のカタログを使用して Magento ストアを構築しています。ヨーロッパには 1 つのフルフィルメント ウェアハウスがあり、米国には 1 つのフルフィルメント ウェアハウスがあり、米国には一種の非公式/内部の「ウェアハウス」があり、ここで景品などが履行されます。Magento の在庫レベルは追跡していません。ウェブ以外の販売、景品、見本市の注文などの内部/管理注文とともに、プレーンなウェブ販売などの特定のトランザクション タイプを追跡する必要があります。私の計画は、コア注文モデルを拡張し、ある種の「注文/トランザクション タイプ」を追加することです。フィールドに入力し、注文の際に注文データを処理し、ストア ID と「注文タイプ」の値に基づいて、フルフィルメントのためにどの倉庫に発送されるかを指示します。

Magento を初めて使用するので、この種のセットアップが何らかの理由で悪い考えかどうかを知りたいです。私は自分の足を撃っていますか?単一のカタログに問題がある可能性がある理由はありますか? このフローを処理するためのより簡単またはより良い方法はありますか? 商品と同じように注文にカスタム属性を追加する方法はありますか?

4

2 に答える 2

15

あなたは正しい方向に向かっていますが、(ほとんどの Magento と同様に) いくつかのオプションがあります。ここで最も重要な原則は、変更のアーキテクチャが、コアのアップグレード/パッチが危険にさらされる状況につながることがあってはならないということです。これについて興味深いのは、Magento がMage_Sales_Model_Order現在のリリースで (および関連するオブジェクト) の高度に拡張可能でアップグレードに安全な (ほとんどの場合) EAV モデルから離れたことです。これにより、アップグレードに安全な方法で属性を追加することがより困難になります。

Observer システムを使用して新しい属性値を追加することをお勧めしますが、関連するモデルに追加します。つまり、注文モデル自体に属性を追加するのではなく、order_idカスタム属性を保持するモデルを作成します。適切なイベント (おそらくsales_convert_quote_to_orderすべての注文またはcheckout_type_onepage_save_order_afterフロントエンド注文) にフックし、Quote Item を調べて、カスタム モデルに値を設定します。注文をフルフィルメント会社に送信するプロセスを実行すると、order_id.

于 2010-10-08T01:25:59.083 に答える
6

もう 1 つの (より良い?) オプションは、Magento での Ivan のアドバイスに従うことです - 新しい列を sales_flat_quote_item と sales_flat_order_item に追加し、 Magento の販売セットアップ クラスを使用して、データを sales_flat_order テーブルに追加します。

于 2011-01-13T19:03:43.460 に答える