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 安装 它在 onestepcheckout 中不起作用

所以,它似乎在默认的 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 回答