2022-10-19 10:26:00 - 米境通跨境電商
首先
評(píng)估要導(dǎo)入Magento的內(nèi)容.qestion得到回答越清楚,評(píng)估你的選擇就越容易.
基本上,這些選項(xiàng)包括通過(guò)內(nèi)置導(dǎo)入(內(nèi)置方式)導(dǎo)入數(shù)據(jù),通過(guò)自定義腳本導(dǎo)入數(shù)據(jù)(腳本方式),通過(guò)純SQL(可怕的,可怕的SQL方式)導(dǎo)入數(shù)據(jù)以及通過(guò)外部模塊導(dǎo)入(模塊方式).
內(nèi)置的方式
首先,您可以通過(guò)后端導(dǎo)入csv數(shù)據(jù),如果您可以將基于opencart的產(chǎn)品/客戶以CSV格式提供,然后可以在后端重新導(dǎo)入-請(qǐng)參閱此處或此處(僅限產(chǎn)品).
這個(gè)解決方案取決于你如何從開(kāi)放式購(gòu)物車中導(dǎo)出數(shù)據(jù)這一事實(shí),我坦率地說(shuō),這不是專家.只要你可以導(dǎo)出到XLS,CSV或類似產(chǎn)品,你應(yīng)該沒(méi)問(wèn)題.
腳本方式
如果你不能這樣做,我建議使用Magento自己的模型編寫(xiě)一個(gè)導(dǎo)入腳本.一個(gè)非常基本的片段,可以幫助您入門:
//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;
}
}
這是一個(gè)利用的例子Mage_Catalog_Model_Product,其他數(shù)據(jù)類型可以是Mage_Sales_Model_Order訂單或Mage_Customer_Model_Customer客戶.我可以從內(nèi)存中回憶一下Magento風(fēng)格的一些數(shù)據(jù)對(duì)象實(shí)例化調(diào)用的代碼:
Mage_Catalog_Model_Product可以實(shí)例化為Mage::getModel('catalog/product')
Mage_Catalog_Model_Category可以實(shí)例化為Mage::getModel('catalog/category')
Mage_Customer_Model_Customer可以實(shí)例化為Mage::getModel('customer/customer')
Mage_Sales_Model_Order可以實(shí)例化為Mage::getModel('sales/order')