magento 自定义付款方式表单未显示

Posted

技术标签:

【中文标题】magento 自定义付款方式表单未显示【英文标题】:magento custom payment method form not showing 【发布时间】:2012-05-13 02:41:25 【问题描述】:

我编写了一个自定义支付模块。它似乎工作正常,但我无法在结帐过程中显示方法表单。我的意思是:我看到我的方法,我可以选择它,但看不到表格。 我想显示一个带有几个选项但没有呈现表单的选择框。

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中的表单

任何帮助将不胜感激!

编辑

所以,它似乎在默认的 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-&gt;getPaymentMethodFormHtml($_method)FALSE。 ¿为什么?

【问题讨论】:

你有没有想过这个问题?有同样的问题,似乎无法让表单呈现。 【参考方案1】:

您的模板文件名为Sisterbanc.phtml,但您的块将尝试加载sisterbanc.phtml(大写“s”与小写“s”)。

【讨论】:

如果日志记录被激活,这也应该在 /var/log/system.log 中显示为缺少模板文件 对不起,这是我帖子中的错字。文件名和声明都是小写的。日志中没有任何内容【参考方案2】:

也许您需要在 Model/Payment.php 中添加这一行。

protected $_formBlockType = "sistarbanc/form/sistarbanc"

我不知道为什么。我对比了其他支付模块的代码,得到了这个。

【讨论】:

以上是关于magento 自定义付款方式表单未显示的主要内容,如果未能解决你的问题,请参考以下文章

Magento 1.8.0.0:添加自定义付款方式重定向到新页面

Magento 自定义付款方式:如何获取通过 Mage_Payment_Model_Method_Abstract::assignData() 设置的数据?

Magento 自定义支付网关

根据所选付款方式显示隐藏自定义 Woocommerce 结帐字段

用于多运输的 magento 自定义支付模块

向 Magento 的订阅模块添加自定义字段