2022-10-26 10:15:07 - 米境通跨境電商
首先
評估要導(dǎo)入Magento的內(nèi)容.qestion得到回答越清楚,評估你的選擇就越容易.
基本上,這些選項包括通過內(nèi)置導(dǎo)入(內(nèi)置方式)導(dǎo)入數(shù)據(jù),通過自定義腳本導(dǎo)入數(shù)據(jù)(腳本方式),通過純SQL(可怕的,可怕的SQL方式)導(dǎo)入數(shù)據(jù)以及通過外部模塊導(dǎo)入(模塊方式).
內(nèi)置的方式
首先,您可以通過后端導(dǎo)入csv數(shù)據(jù),如果您可以將基于opencart的產(chǎn)品/客戶以CSV格式提供,然后可以在后端重新導(dǎo)入-請參閱此處或此處(僅限產(chǎn)品).
這個解決方案取決于你如何從開放式購物車中導(dǎo)出數(shù)據(jù)這一事實,我坦率地說,這不是專家.只要你可以導(dǎo)出到XLS,CSV或類似產(chǎn)品,你應(yīng)該沒問題.
腳本方式
如果你不能這樣做,我建議使用Magento自己的模型編寫一個導(dǎo)入腳本.一個非常基本的片段,可以幫助您入門:
//placethisfileintheMagentoroot,e.g../import.php,"."beingyouMagentoroot
//loadthemagentoappwiththeadminstore
require_once('app/Mage.php');
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
//dataimport,Iassumeyoucanwritesomesortofinputforthis$datalikereadingazipfileorsomeotherformat,ihere,Iassume,this$dataarrayholdsarraysofproducts($new_product)containinginformationonaproductfromopencart
$data=...
//loopoverthedataandcreatetheMagentomodels,thesecanincludeproducts,customers,etc.-forsimplicitythisisdoneforproducts,butcanbedoneforeveryotherdataobjectinmagento
foreach($dataas$new_product){
//loadanemptyMagentoproductmodel
$product=Mage::getModel('catalog/product');
//settheattributesyouwant
$product->setData('sku',$new_product['sku']);
$product->setData('name',$new_product['name']);
.
.
.
//saveit
try{
$product->save();
}
catch(Exception$e){
Mage::logException($e);
continue;
}
}
這是一個利用的例子Mage_Catalog_Model_Product,其他數(shù)據(jù)類型可以是Mage_Sales_Model_Order訂單或Mage_Customer_Model_Customer客戶.我可以從內(nèi)存中回憶一下Magento風(fēng)格的一些數(shù)據(jù)對象實例化調(diào)用的代碼:
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')
可以在相應(yīng)的核心模塊中查找這些調(diào)用-有時它們在不同的Magento版本中有所不同.