私はオープンカートベースのショッピングカートサイトを持っています..
今、私はそれをmagentoサイトに変換したいと思います..
マジェントの新規インストールを行いました。次に、opencart データベースから新しい magento データベースにデータを移行する必要があります
誰でもテーブル名を教えて、移行を成功させるために何をすべきか教えてもらえますか?
ありがとう
私はオープンカートベースのショッピングカートサイトを持っています..
今、私はそれをmagentoサイトに変換したいと思います..
マジェントの新規インストールを行いました。次に、opencart データベースから新しい magento データベースにデータを移行する必要があります
誰でもテーブル名を教えて、移行を成功させるために何をすべきか教えてもらえますか?
ありがとう
Magentoにインポートするものを評価します。質問への回答が明確であればあるほど、選択肢の評価が容易になります。
基本的に、これらのオプションには、組み込みのインポートを介したデータのインポート(組み込みの方法)、カスタムスクリプトを介したデータのインポート(スクリプトの方法)、プレーンSQLを介したデータのインポート(ひどい、ひどいSQLの方法)、および外部モジュールを介したインポートが含まれます(モジュールウェイ)。
まず、opencartベースの製品/顧客をCSV形式で取り込むことができ、バックエンドで再インポートできる場合は、バックエンドを介してcsvデータをインポートできます。ここまたはここ(製品のみ)を参照してください。
この解決策は、私が率直に言って専門家ではないオープンカートからデータをエクスポートする方法に依存します。XLS、CSVなどにエクスポートできる限り、問題はありません。
それができない場合は、Magento独自のモデルを使用してインポートスクリプトを作成することをお勧めします。開始するための非常に基本的なスニペット:
<?php
//place this file in the Magento root, e.g. ./import.php, "." being you Magento root
//load the magento app with the admin store
require_once('app/Mage.php');
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
//data import, I assume you can write some sort of input for this $data like reading a zip file or some other format, i here, I assume, this $data array holds arrays of products ($new_product) containing information on a product from open cart
$data = ...
// loop over the data and create the Magento models, these can include products, customers, etc. - for simplicity this is done for products, but can be done for every other data object in magento
foreach ($data as $new_product) {
//load an empty Magento product model
$product = Mage::getModel('catalog/product');
//set the attributes you want
$product->setData('sku', $new_product['sku']);
$product->setData('name', $new_product['name']);
.
.
.
//save it
try {
$product->save();
}
catch(Exception $e) {
Mage::logException($e);
continue;
}
}
これは利用例ですMage_Catalog_Model_Product
。他のデータタイプはMage_Sales_Model_Order
注文Mage_Customer_Model_Customer
用または顧客用である可能性があります。メモリからMagentoスタイルのデータオブジェクトインスタンス化呼び出しのコードを思い出すことができます。
Mage_Catalog_Model_Product
次のようにインスタンス化できますMage::getModel('catalog/product')
Mage_Catalog_Model_Category
次のようにインスタンス化できますMage::getModel('catalog/category')
Mage_Customer_Model_Customer
次のようにインスタンス化できますMage::getModel('customer/customer')
Mage_Sales_Model_Order
次のようにインスタンス化できますMage::getModel('sales/order')
これらの呼び出しは、対応するコアモジュールで検索できます。Magentoのバージョンによって異なる場合があります。
./app/code/core/Mage/
モジュールのフォルダを調べて調べることで、それらを見つけることができModel
ます。ここで、フォルダベースの命名規則(たとえば、Mage_Catalog_Model_Product
へのマップ)で上記のクラスを見つけることができます./app/code/core/Mage/Catalog/Model/Product.php
。
_construct
モデルには通常、 (PHPではありません!)と呼ばれるinitメソッドがあり、__construct
これは、を介してモデルをインスタンス化できる文字列を定義しますMage::getModel()
。
製品のインポートに関するより完全な説明は、ここにあります。ほとんどの場合、スタイルはMagentoのデータオブジェクト間で同じです。
これはより長いオプションですが、Magentoの内部データ処理の多くを学ぶことができます。また、バックグラウンドでデータテーブルを知る必要はありません。
Magentoのナレッジベースでも、このトピックに関する多くのヘルプがあります。繰り返しになりますが、Magentoを学びたい場合は、これから始めるのが良い方法です。
プレーンSQLを実行してMagentoのテーブルを埋めることもできます。
そうしないでください。他のすべてのMagentoバージョン用にSQLを記述していることに気付くでしょう。スクリプトを介して行う場合は、Magentoが提供するフレームワークを介して行ってください。
上で示したスクリプトメソッドは大量のデータに対してあまり効率的ではないため、過去に大量のデータをインポートするために使用したモジュールがいくつかあります。それらのいくつかが積極的に維持されているかどうかはわかりませんが、MagentoConnectをざっと見てみるのは良い考えです。使用するものによっては、これらのモジュールが無料ではない場合があります。
Magentoを学ぶのに最適な方法なので、カスタムスクリプトを作成することをお勧めします。プログラミングを気にしない場合は、組み込みのインポーターを調べる必要があります。
さらに質問が残っている場合は、質問してください:)