0

如何为 Magento 中的每个新订单生成一个文本文件。

4

2 回答 2

3

您将需要创建一个新模块(使用Module Creator扩展作为先行者)并将观察者绑定到sales_convert_quote_to_order事件。然后,您可以Order从 Event 中检索对象并使用标准 PHP 文件函数(或 Zend_File,如果您愿意)将感兴趣的值输出到文本文件。

如果您搜索 stackoverflow 或一般的网络,您会发现许多 关于如何使用 Event-Observer 模型 教程,您只需要根据您感兴趣的 Event 的细节进行调整。

HTH, 法学博士

于 2010-12-02T05:28:39.973 回答
-1

您还可以从 Mage 的 Checkout 模块中覆盖 OnepageController 中的 succesAction。在 Magento 中成功完成新订单后,总是会调用此操作。

您可以使用代码:

$order = Mage::getModel('sales/order')->load($this->getOnepage()->getCheckout()->getLastOrderId())

$ourFileName = "order_".$order->getId().".txt";
$ourFileHandle = fopen($ourFileName, 'w') or die("can't open file");
fwrite($ourFileHandle, 'Some text');
fclose($ourFileHandle);

您可以将这部分代码放在 Mage::getSingleton('checkout/session')->clear(); 之前

于 2010-12-02T16:10:53.237 回答