3
プログラムからCSVからMagentoに注文をインポートする
古い、古くなったPOSシステムからMagento 1.7を排他的にPOSとして使用するように切り替えています。予想外のことではありませんが、私たちが直面している課題の1つは、古いシステムから大惨事なしにMageに20年近くの記録を取得する方法です。 顧客レコードの移行という課題は別として、この質問で重点を置いている問題は、過去の注文データを古いPOSからMageに移行する方法です。私たちが話している注文レコードの数が多い場合、正確な数字は100%確信できませんが、少なくとも100万は言うでしょう。 これにアプローチする方法に関して私が考えているのは次のとおりです: Magentoがデータを適切に再生するために、データをどのようにフォーマットする必要があるかを正確に把握してください。動作する形式で古いPOSから取得できるかどうかは疑問ですが、これがうまくいくとしばらく仮定しましょう... 適切にフォーマットされた履歴データを含む.CSVファイルを作成する row- $order> save()でMagentoのオブジェクト行にその.CSVを読み込む方法を見つける 利益! 私の問題は、ポイント2と3にアプローチする方法が少し曖昧だということです。古いPOSから出力されるデータはフォーマットできますが、非常に面倒でPerlが関係している場合でも、.CSVファイル(またはこのプロセスで実際に機能するファイルの種類)を取得した後でも、 Magentoの注文オブジェクトにどのようにフィードするか。 私はいくつかのグーグルを行い、Mageの注文オブジェクトを使用してプログラムで注文をインポートする人々の例を考え出しましたが、フロントエンドカート以外のデータソースを前述のオブジェクトに接続する方法についてはほとんど議論されていません。私は注文オブジェクトのバージョンを研究しています: $id=1; // get Customer Id $customer = Mage::getModel('customer/customer')->load($id); $transaction = Mage::getModel('core/resource_transaction'); $storeId = $customer->getStoreId(); $reservedOrderId = Mage::getSingleton('eav/config')->getEntityType('order')->fetchNewIncrementId($storeId); $order = Mage::getModel('sales/order') ->setIncrementId($reservedOrderId) ->setStoreId($storeId) ->setQuoteId(0) ->setGlobal_currency_code('USD') ->setBase_currency_code('USD') ->setStore_currency_code('USD') ->setOrder_currency_code('USD'); // set Customer data $order->setCustomer_email($customer->getEmail()) ->setCustomerFirstname($customer->getFirstname()) ->setCustomerLastname($customer->getLastname()) ->setCustomerGroupId($customer->getGroupId()) ->setCustomer_is_guest(0) ->setCustomer($customer); …