Magento:当收到付款时,直接发送邮件给我的供应商

时间:2016-03-25 18:13:32

标签: email magento payment

当订单被检查为付款时,我想向我的供应商发送自动电子邮件。当我告诉他时,我是一个开始生产的外部供应商,所以当收到付款时,我可以向他确认生产。我想自动化这个过程,我喜欢使用类似的确认订单电子邮件,但添加自定义属性而不是sku。 谢谢!

---编辑---
我已经达到了插入这些线的目标,但是我在$ result结果行的Observer第24行仍有一些问题,其中一个错误就是#34;,#34;。
config.xml中

<?xml version="1.0"?>
<config>
<modules>
    <Electricjesus_Notifyowner>
        <active>true</active>
        <codePool>local</codePool>
    </Electricjesus_Notifyowner >
</modules>

Electricjesus_Notifyowner.xml

    // parameters you can get from the $observer parameter:
    // array(’payment’ ? $this, ‘invoice’ ? $invoice)

    $payment = $observer->getPayment();
    $invoice = $observer->getInvoice();

    // derivative data
    $order = $invoice->getOrder(); // Mage_Sales_Model_Order

    $ownerEmail = 'test@gmail.com';

    $emailTemplate  = Mage::getModel('core/email_template')
        ->loadDefault('order_new');
    $emailTemplate
        ->setSenderName(Mage::getStoreConfig('trans_email/ident_support/name'))
        ->setSenderEmail(Mage::getStoreConfig('trans_email/ident_support/email'))
        ->setTemplateSubject('Prova di Ordine Confermato dopo pagamento');
    $result = $emailTemplate->send(Mage::getStoreConfig('trans_email/ident_general/email'),(Mage::getStoreConfig('trans_email/ident_general/name'), $observer->getCustomer()->getData());

    /*
         - build data
         - build email structure
         - send email via any php mailer method you want
    */
    return $this;  // always return $this.
}
}

和Observer.php,错误

{{1}}

你能帮我解读为什么逗号的错误?谢谢!

1 个答案:

答案 0 :(得分:0)

在magento有两个派遣事件 1.sales_order_payment_place_end 2. sales_order_payment_place_start。 根据您的请按照我的下面的代码。添加观察者

<global>
        <events>
            <sales_order_payment_place_end>
                <observers>
                    <mymodule>
                        <type>singleton</type>
                        <class>mymodule/observer</class>
                        <method>handleOrder</method>
                    </mymodule>
                </observers>
            </sales_order_payment_place_end>           
        </events>
    </global>

然后在模型目录

下创建observer.php
class Mycompany_Mymodule_Model_Observer
{   
    public function handlePayment($observer)
    {
       $order = $observer->getOrder();
       $payment=$order->getPayment();
       /// put logic as per your requirement.
    }
}

我没有时间测试这段代码,但我确信逻辑是这样的。谢谢。