2

カスタム支払いモジュールを作成しました。正常に動作しているようですが、チェックアウト プロセスでメソッド フォームを表示できません。つまり、メソッドが表示され、選択できますが、フォームが表示されません。いくつかのオプションを含む選択ボックスを表示したいのですが、フォームがレンダリングされません。

app\code\local\Neurona\Sistarbanc\Block\Form\sistarbanc.php

class Neurona_Sistarbanc_Block_Form_Sistarbanc extends Mage_Payment_Block_Form
{
  protected function _construct()
   {
    parent::_construct();
    $this->setTemplate('payment/form/sistarbanc.phtml');
   }
....

app\design\frontend\base\default\template\payment\form\sistarbanc.phtml のフォーム

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

編集

デフォルトのテーマを使用して、magento の新規インストールで動作します ワンステップチェックアウトでは機能しません

したがって、デフォルトのckeckoutプロセスでは機能しているようですが、onestepcheckoutでは機能していないようです

編集2

onestepheckout で、これが支払い方法フォームのレンダリング方法であることがわかりました。

<?php if ($html = $this->getPaymentMethodFormHtml($_method)): ?>
  <dd id="container_payment_method_<?php echo $_code; ?>" class="payment-method" <?php if(!$this->getSelectedMethodCode()==$_code || !($hide_nonfree_methods && $_code == 'free')): ?> style="display:none"<?php endif; ?>>
<?php echo $html; ?>
</dd>

だから、私の方法$this->getPaymentMethodFormHtml($_method)FALSE. どうして?

4

2 に答える 2

1

テンプレートのファイル名は ですSisterbanc.phtmlが、ブロックはロードを試みますsisterbanc.phtml(大文字の「s」と小文字の「s」)。

于 2012-05-03T16:34:23.943 に答える
0

Model/Payment.php にこの行を追加する必要があるかもしれません。

protected $_formBlockType = "sistarbanc/form/sistarbanc"

理由はわからないけど。他の決済モジュールのコードと比較して、これにたどり着きました。

于 2013-04-26T09:55:01.080 に答える