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->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() 设置的数据?