【问题标题】:Magento Observer on checkout结帐时的 Magento 观察员
【发布时间】:2013-05-28 23:23:05
【问题描述】:

我刚刚学习了有关如何创建简单模型观察器的教程。当用户单击“继续结帐”时,这里有人可以帮助我或指出正确的方向来调用该方法吗?

代码如下:

 <events>
  <checkout_onepage_controller_success_action>
    <observers>
      <sales_order_place_before>
        <type>singleton</type>
        <class>my_Observer</class>
        <method>send_email</method>
      </sales_order_place_before>
    </observers>
  </checkout_onepage_controller_success_action>     
 </events> 

【问题讨论】:

    标签: php xml magento


    【解决方案1】:

    试试

    创建:app/code/local/MagePal/MyCheckout/etc/config.xml

    <?xml version="1.0"?>
    <config>
        <modules>
            <MagePal_MyCheckout>
                <version>1.0.1</version>
            </MagePal_MyCheckout>
        </modules>
    
        <global>
            <models>
                <magepal_mycheckout>
                    <class>MagePal_MyCheckout_Model</class>
                </magepal_mycheckout>
            </models>
             <events>
                <checkout_onepage_controller_success_action>
                    <observers>
                        <magepal_mycheckout>
                            <type>singleton</type>
                            <class>mycheckout/observer</class>
                            <method>sendEmail</method>
                        </magepal_mycheckout>
                    </observers>
                </checkout_onepage_controller_success_action>
            </events>
        </global>
    </config>
    

    创建:app/code/local/MagePal/MyCheckout/Model/Observer.php

    class MagePal_MyCheckout_Model_Observer 
    {
        /**
         *
         * @param Varien_Event_Observer $observer
         * @return object
         */
        public function sendEmail(Varien_Event_Observer  $observer)
        {
            //add logic here
    
            return $this;
        }
    }
    

    创建:app/etc/modules/MagePal_MyCheckout.xml

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

    【讨论】:

    • @Kornik,介意分享正确答案吗?给出的答案实际上是在提交订单时观察,而不是在用户刚刚进行结帐时观察。
    • @RenonStewart 如果客户选择从商店挑选如何取消手续费,我有一个选项,例如从商店挑选,有人发布相同的内容,请帮助发布 -> magento.stackexchange.com/q/285128/57334
    • @Gem...在不知道您要完成什么的情况下...我完成此类事情的方法是使用特殊的运输方式进行本地取货,并且仅在以下情况下收取手续费送货方式不是本地取货。
    • 好的,我明白了。
    猜你喜欢
    • 2013-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    • 2011-06-11
    • 2013-01-10
    相关资源
    最近更新 更多