1

我正在尝试使用 Magento 的订单对象以编程方式将订单数据从旧的销售点系统导入 Magento。来自旧销售点系统的数据采用 .CSV 格式。

例如,如果我有一个如下所示的 .CSV:

Email        ||     Firstname    ||    Lastname ||    GroupID
---------------------------------------------------------------
abc@abc.com  ||     John         ||    Smith    ||    General     

例如,我将如何将它输入到 Magento 的订单对象的这一部分?

// set Customer data
$order->setCustomer_email($customer->getEmail())
  ->setCustomerFirstname($customer->getFirstname())
  ->setCustomerLastname($customer->getLastname())
  ->setCustomerGroupId($customer->getGroupId())
  ->setCustomer_is_guest(0)
  ->setCustomer($customer);

我知道 Mage 的 order 对象远不止这些,但这只是为了充实 .CSV -> PHP 对象部分。我知道如何使用 PHP 将 .CSV 读入数组 - 没有问题,但是在处理对象时我仍然很弱,而且我很难概念化如何处理这个问题。我四处搜索,发现其他人使用 Mage 的订单对象进行各种订单上传任务,但没有关于如何从 .CSV 文件中提取订单数据的信息。

4

2 回答 2

3

首先,这个过程不是小菜一碟,原因很简单,与 Magento 的其他功能不同,您不能只为 Order 调用 getModel() 并加载订单实例。以编程方式下订单要复杂得多。

要创建 Magento 订单,您将需要更多信息,而不仅仅是电子邮件、名字、姓氏和组 ID。您将需要帐单地址、送货地址、付款方式、产品信息等信息。如果您没有这些信息,您的第一步是开始从旧系统收集这些信息或找到一个好的替代品信息。然后,您可以编写脚本,从 csv 中提取数据并将其推送到 Magento。我们之前已经完成了(几年前在 Magento 1.6.1 上。由于保密问题(我不是为此编写代码的人,这也是付费 magento 扩展的一部分)我无法分享实际代码,但我可以与您分享我们用于 CSV 适配器创建订单的代码。

使用此链接获取代码http://munjalmunshi.info/import_order.pdf

于 2013-11-24T14:50:45.527 回答
0

我的意见是:

1)首先将您的CSV文件上传到您的数据库。(用它创建一个表)。处理您的数据会更容易。

2)使用while循环遍历表格的每一行。每一行都是一个单独的订单。

3) 使用每一行设置例如客户名称、数量、地址等。

按照该教程了解如何使用 magento 以编程方式下订单:

希望有帮助,加油

于 2013-11-20T19:10:06.143 回答