我想知道,我是否可以为放置在 magento(1.7 或 1.9)上的每个订单自动创建/导出一个 csv 文件
我需要它们包含发送订单、产品、选定属性、客户详细信息等所需的所有信息。我需要以类似于“order_number_timestamp.csv”的格式命名的文件
也许它可以通过一些 php 和 cron 脚本来实现?
谢谢
最佳答案
Leeboyce,您可以使用 Magento Event Observer 功能
来做到这一点。
当触发一个将运行函数的事件时,它将在订单位置触发一个函数
创建一个扩展将发送邮件...使用 csv
步骤:在 app/code/local/Amit/Sendorderdata/etc/
下创建 config.xml 和
config.xml的代码是
<?xml version="1.0" encoding="utf-8"?>
<config>
<modules>
<Amit_Sendorderdata>
<version>0.1.4</version>
</Bh_Sendorderdata>
</modules>
<global>
<models>
<sendorderdata>
<class>Amit_Sendorderdata_Model</class>
</sendorderdata>
</models>
</global>
<frontend>
<events>
<checkout_submit_all_after>
<observers>
<sendorderdata_observer_checkout_type_onepage_save_order_after>
<type>singleton</type>
<class>sendorderdata/observer</class>
<method>checkoutTypeOnepageSaveOrderAfter</method>
</sendorderdata_observer_checkout_type_onepage_save_order_after>
</observers>
</checkout_submit_all_after>
</events>
</frontend>
</config>
第二步:创建Observer.php app/code/local/Amit/Sendorderdata/Model/
在这个文件中有一个函数checkoutTypeOnepageSaveOrderAfter which send mail
...
<?php
class Amit_Sendorderdata_Model_Observer
{
public function checkoutTypeOnepageSaveOrderAfter($observer)
{
$order = $observer->getEvent()->getOrder();
if (!$order) {
$orders = $observer->getEvent()->getOrders();
$order = array_shift($orders);
}
/* Here you will write yours code for create $order will give all detail of order */
}
如何在 magento 中创建 csv here
进一步了解Event和observer
http://inchoo.net/category/ecommerce/magento/events-observers/
http://www.pierrefay.com/event-observers-magento-tutorial-howto-105
http://www.nicksays.co.uk/magento-events-cheat-sheet-1-7/
关于php - Magento:为下的每个订单自动创建 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23968336/