我写了一个自定义付款模块。它似乎工作正常,但我无法在结帐过程中显示方法表单。我的意思是:我看到我的方法,我可以选择它,但看不到形式。 我想显示一个带有几个选项的选择框,但不会呈现任何形式。
应用\代码\本地\ Neurona \ Sistarbanc \块\表格\ 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中
我发现在onetepheckout中这是呈现付款方式表单的方式:
<?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
。 ¿为什么?
答案 0 :(得分:1)
您的模板文件名为Sisterbanc.phtml
,但您的区块会尝试加载sisterbanc.phtml
(大写“s”与小写“s”)。
答案 1 :(得分:0)
也许您需要在Model / Payment.php中添加此行。
protected $_formBlockType = "sistarbanc/form/sistarbanc"
我不知道原因。我与其他支付模块代码进行了比较,得到了这个。