这是一个非常奇怪的问题。如果我启用Authorize.net付款方式,则HTML中缺少输入CC详细信息的输入字段。这是一个非常开箱即用的安装,只完成了一些主题工作,我没有触及opc模板。
如果我启用了已保存的CC付款方式,则字段会正确显示。
我没有对Magneto中的OOTB Authorize.net文件进行任何更改,甚至尝试禁用我的整个主题,但没有任何影响。
代码截图: http://cl.ly/image/3g1n2x021N2s
在进一步研究之后,模板/ checkout / payments / method.phtml中的这一行看起来没有返回任何HTML: $这 - > getPaymentMethodFormHtml($ _方法)
我找到了这个方法,然后又试图加载一个孩子。
public function getPaymentMethodFormHtml(Mage_Payment_Model_Method_Abstract $method)
{
return $this->getChildHtml('payment.method.' . $method->getCode());
}
这就是我已经走了多远。
答案 0 :(得分:2)
我会尝试以下步骤:
/var/log/exception.log
/app/design/frontend/default/themename
>> /app/design/frontend/default/_themename
- 这排除了无效主题/布局XML问题的可能性。确保它回退到未触及的基本默认主题!<active>false</active>
下逐一设置的XML中设置/app/etc/modules
来停用您的非标准扩展程序。$method->getCode()
的差异&amp;关闭。/app/etc/modules/Mage_Authorizenet.xml
是否如下:<config> <modules> <Mage_Authorizenet> <active>true</active> <codePool>core</codePool> <depends> <Mage_Paygate/> <Mage_Sales/> <Mage_Checkout/> </depends> </Mage_Authorizenet> </modules> </config>
答案 1 :(得分:0)
如果找不到任何问题的解决方案,这是一种解决方法。
您可以为authorize.net
创建自己的付款表单 Authorize.net表单使用cc.phtml
文件显示Authorize.net字段,以便您可以复制此文件并从xml设置此表单。
转到<checkout_onepage_index translate="label">
标记中的checkout.xmland查找checkout.payment.methods
,其中显示所有方法,将操作方法设置为此类
<action method="setMethodFormTemplate"><method>authorizenet</method><template>payment/form/authorizenet.phtml(which is copy of your cc.phtml)</template></action>
我没有测试过。
Authorize.net将此块用于显示表单字段,以便您可以进一步查看此文件 应用\代码\核心\法师\付款网关\块\ Authorizenet \表格\ Cc.php
答案 2 :(得分:0)
您还可以检查Magento管理员中是否禁用了Mage_Authorizenet
或Mage_Paygate
模块。
系统 - &gt;高级 - &gt;先进
确保在那里启用它们。