关于类的任何想法都没有在Magento中实例化以获得正确的事件触发(SMTPPro事件与测试事件)?

时间:2015-07-05 19:42:29

标签: php magento

我想知道是否有人可能对我有一些建议,为什么我有一个事件观察者类,当我将它绑定到 controller_action_predispatch 时实例化得很好,但是当我'将它绑定到 aschroder_smtppro_before_send ,这是我需要它工作的地方。

我不想最终跳过正确的方式,而是覆盖 Zend_Mail 中的某些内容,相反,但是在我花了几个小时后,我有点绝望了。当与正确的事件联系在一起时,我花了很多时间试图弄清楚为什么这根本不起作用。

所有这些都是关于实现一个非常简单的域名黑名单,以拦截和阻止交易电子邮件(通过我们服务器上的 SMTPPro 处理)到适用的域。我的意思是,最终。现在它只是测试代码,你可以看到如下。

config.xml遵循

<?xml version="1.0" encoding="UTF-8"?>
  <config>
    <modules>
        <Myorganization_Emailblacklist>
            <version>0.1.0</version>
        </Myorganization_Emailblacklist>
    </modules>
    <global>
      <helpers>
        <emailblacklist>
            <class>Myorganization_Emailblacklist_Helper</class>
        </emailblacklist>
      </helpers>
      <models>
        <myorganization_emailblacklist>
          <class>Myorganization_Emailblacklist_Model</class>
        </myorganization_emailblacklist>
      </models>
      <events>
        <!-- <controller_action_predispatch> -->
        <aschroder_smtppro_before_send>
          <observers>
            <myorganization_emailblacklist>
              <type>singleton</type>
              <class>myorganization_emailblacklist/observer</class>
              <method>watchEmails</method>
            </myorganization_emailblacklist>
          </observers>
        </aschroder_smtppro_before_send>
        <!-- </controller_action_predispatch> -->
      </events>
    </global>
  </config>

app / code / local / Myorganization / Emailblacklist / Model / Observer.php如下

<?php
class Uselite_Emailblacklist_Model_Observer {
    public function watchEmails(Varien_Event_Observer $observer) {
        $order = $observer->getEvent();

        //echo "<pre>";
        //die(var_dump($order));
        Mage::log('Damo\'s debugging info order:\n' . var_dump($order) .
            '\n debugging info observer:\n' . var_dump($observer), null,
            'd4m0log.log');
    }
}

您可能提供的任何帮助,或者指向正确方向的指示都将非常感激。提前谢谢。

-Damon

1 个答案:

答案 0 :(得分:0)

您是否尝试过 aschroder_smtppro_template_before_send 而不是aschroder_smtppro_before_send?据我所知,此扩展程序会覆盖电子邮件模板引擎。