我有一个基于 opencart 的购物车网站..
现在我想把它转换成一个magento网站..
我已经完成了全新的 magento 安装。现在我需要将数据从我的 opencart 数据库迁移到新的 magento 数据库
那么谁能给我表名并告诉我应该做些什么才能成功迁移?
谢谢
我有一个基于 opencart 的购物车网站..
现在我想把它转换成一个magento网站..
我已经完成了全新的 magento 安装。现在我需要将数据从我的 opencart 数据库迁移到新的 magento 数据库
那么谁能给我表名并告诉我应该做些什么才能成功迁移?
谢谢
评估您要导入 Magento 的内容。问题回答得越清楚,就越容易评估您的选择。
基本上,这些选项包括通过内置导入(内置方式)导入数据、通过自定义脚本导入数据(脚本方式)、通过普通 SQL 导入数据(糟糕、糟糕的 SQL 方式)和通过外部模块导入(模块方式)。
首先,您可以通过后端导入 csv 数据,如果您可以将基于 opencart 的产品/客户以 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
.
一个模型通常有一个 init 方法调用_construct
(它不是PHP 的__construct
!),它定义了一个模型可以通过 via 实例化的字符串Mage::getModel()
。
可以在此处找到有关导入产品的更完整说明。Magento 中数据对象的风格几乎总是保持不变。
这是一个比较冗长的选项,但您可以了解 Magento 的大量内部数据处理。此外,您不一定需要知道后台的数据表。
Magento 知识库中也有很多关于该主题的帮助。同样,如果您想学习 Magento,这是一个很好的开始方式。
您还可以执行普通 SQL 来填充 Magento 的表。
不要那样做。您会发现自己为每个其他 Magento 版本编写 SQL,如果您通过脚本编写,请通过 Magento 提供的框架编写。
过去我们使用一些模块来导入大量数据,因为我上面展示的脚本方法对于大量数据不是很有效。我不确定其中一些是否得到积极维护,但在Magento Connect中四处逛逛是个好主意。根据您使用的内容,这些模块可能对您不是免费的。
我真的建议您构建一个自定义脚本,因为它是学习 Magento 的好方法。如果你不关心编程,你应该看看内置的导入器。
如果还有其他问题,请走开:)
请参阅我的教程,该教程解释了如何使用 magento 脚本导入产品和类别。
http://www.pearlbells.co.uk/import-products-magento-script/
一步一步解释