我正在尝试为Magento编写自定义支付网关.该模块在管理后端(系统 - 配置 - 付款方式)中被识别,但是当到达前端的"付款信息"时,不会出现选择模块的选项.
下面包含我创建的三个XML文件以及它们所在的目录.
任何帮助将非常感激.谢谢.
根/应用程序的/ etc /模块/ Namespace_Module
<?xml version="1.0"?>
<config>
<modules>
<Namespace_Module>
<active>true</active>
<codePool>local</codePool>
</Namespace_Module>
</modules>
</config>
Run Code Online (Sandbox Code Playgroud)
根/应用程序/代码/本地//命名空间/模块的/ etc/config.xml中
<?xml version="1.0"?>
<config>
<modules>
<Namespace_Module>
<version>0.1.0</version>
</Namespace_Module>
</modules>
<global>
<models>
<alias>
<class>Namespace_Module_Model</class>
</alias>
</models>
<resources>
<alias_setup>
<setup>
<module>Namespace_Module</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</alias_setup>
<alias_write>
<connection>
<use>core_write</use>
</connection>
</alias_write>
<alias_read>
<connection>
<use>core_read</use>
</connection>
</alias_read>
</resources>
</global>
Run Code Online (Sandbox Code Playgroud)
根/应用程序/代码/本地//命名空间/模块的/ etc /的system.xml
<?xml version="1.0"?>
<config>
<sections>
<payment>
<groups>
<alias translate="label">
<label>Module</label>
<frontend_type>text</frontend_type>
<sort_order>1</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<fields>
<active translate="label">
<label>Enabled: </label>
<frontend_type>select</frontend_type>
<source_model>adminhtml/system_config_source_yesno</source_model>
<sort_order>1</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</active>
<title translate="label">
<label>Title: </label>
<frontend_type>text</frontend_type>
<sort_order>2</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</title>
<host translate="label">
<label>Host Address: </label>
<frontend_type>text</frontend_type>
<sort_order>3</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</host>
<port translate="label">
<label>Port Number: </label>
<frontend_type>text</frontend_type>
<sort_order>4</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</port>
<cctypes translate="label">
<label>Credit Card Types: </label>
<frontend_type>multiselect</frontend_type>
<source_model>adminhtml/system_config_source_payment_cctype</source_model>
<sort_order>5</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>0</show_in_store>
</cctypes>
<useccv translate="label">
<label>Credit Card Verification: </label>
<frontend_type>select</frontend_type>
<source_model>adminhtml/system_config_source_yesno</source_model>
<sort_order>6</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>0</show_in_store>
</useccv>
</fields>
</alias>
</groups>
</payment>
</sections>
Run Code Online (Sandbox Code Playgroud)
您设置的值system.xml是全局Magento配置值.支付模块需要包含一个名为的配置字段model,该字段指定负责支付逻辑的PHP类.看看吧
app/code/core/Mage/Payment/etc/system.xml
Run Code Online (Sandbox Code Playgroud)
通常,模块将其设置为隐藏配置字段,然后提供默认值config.xml.考虑一下这个XML Mage/Payment/etc/config.xml
<default>
<payment>
<ccsave>
<active>1</active>
<cctypes>AE,VI,MC,DI</cctypes>
<model>payment/method_ccsave</model>
<order_status>pending</order_status>
<title>Credit Card (saved)</title>
<allowspecific>0</allowspecific>
<group>offline</group>
</ccsave>
Run Code Online (Sandbox Code Playgroud)
他们在这里设置了一个模型payment/method_ccsave.这是与PHP Model类对应的类别名
Mage_Payment_Model_Method_Ccsave
Run Code Online (Sandbox Code Playgroud)
您的配置似乎缺少此类,这是您的付款选项未显示的一个原因.
| 归档时间: |
|
| 查看次数: |
3544 次 |
| 最近记录: |