Magento在电子邮件模板中发送错误的付款信息块

时间:2013-01-09 13:00:50

标签: magento-1.4 magento

我遇到了支付模块(librepag)女巫的问题:

该模块有2个模板“信息块”(包含付款详情的块):

  1. 用于后端(app / design / adminhtml /base/default/template/librepag/info/cartao.phtml) - 它有一些客户看不到的操作按钮
  2. 用于电子邮件模板(app / design / 前端 /base/default/template/librepag/info/cartao.phtml)
  3. 当客户下订单时,会发送正确的模板(#2)。但是,当我们处于后端订单视图并单击发送电子邮件按钮时,会发送#1。

    我注意到模块中的模型有

    protected $_formBlockType = 'librepag/form_cartao';
    protected $_infoBlockType = 'librepag/info_cartao';
    

    女巫对应于这个特定的块

    class Weblibre_Librepag_Block_Info_Cartao extends Mage_Payment_Block_Info_Ccsave
    {
    protected function _construct()
    {
        parent::_construct();
        $this->setTemplate('librepag/info/cartao.phtml');
    }
    ...
    

    为什么系统会为同一个sendNewOrderEmail方法发送不同的信息块? 我看到了一个similar thread,但没想出如何在这个模块上的电子邮件模板上简单地指定另一个信息块。

    感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

当你在后端时,选择发送邮件功能,每个操作的区域为admin而不是frontend,就像它在商店前端一样。

这就是相对路径librepag/info/cartao.phtml被解释为adminhtml/default/default/librepag/info/cartao.phtml

的原因

要解决此问题,您可以在构造函数中$this->setArea('frontend');之前调用setTemplate()