0

支払いモジュール(librepag)の魔女に問題が発生しています。

モジュールには2つのテンプレート「情報ブロック」(支払いの詳細を含むブロック)があります。

  1. バックエンドで使用(app / design / adminhtml /base/default/template/librepag/info/cartao.phtml)-顧客に表示されるべきではないアクションボタンがいくつかあります
  2. 電子メールテンプレートで使用されます(app / design / frontend /base/default/template/librepag/info/cartao.phtml)

顧客が注文すると、正しいテンプレート(#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メソッドに対して異なる情報ブロックを送信するのはなぜですか?同様のスレッド を見ましたが、このモジュールの電子メールテンプレートで別の情報ブロックを指定する方法がわかりませんでした。

どんな助けでも大歓迎です。

4

1 に答える 1

0

バックエンドにいる場合、メール送信機能を選択すると、ショップ フロントエンドにあるため、すべてのアクションの領域は ではありadminません。frontend

そのため、相対パスlibrepag/info/cartao.phtmlは次のように解釈されますadminhtml/default/default/librepag/info/cartao.phtml

これを解決するには、コンストラクターで$this->setArea('frontend');前に呼び出すことができます。setTemplate()

于 2013-01-09T14:09:56.933 に答える