Magento中新配置选项卡中的新支付方式

时间:2011-12-23 00:05:43

标签: php magento module tabs payment

我想要做的就是添加一种新的自定义付款方式,并在新的配置标签中提供,而不是“销售/付款方式”。

例如,我想在管理员配置中的“CompanyName / Method1”下使用我的付款方式,而不是在“销售/付款方式”下设置一个组。

我的问题出在这里。我可以设置system.xml文件以在其下面有一个新选项卡和我的模块选项。但是当我更改config.xml时,我的付款方式不再显示在chekout页面中。

当我更改为自定义标签名称时,它无法在结帐时显示。有什么想法吗?

<default>
        <payment>
            <spos>
                <active>0</active>
                <model>spos/payment</model>
                <order_status>1</order_status>
                <title>SPos</title>
                <payment_action>authorize</payment_action>
                <allowspecific>0</allowspecific>
            </spos>
        </payment>
</default>

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我认为你需要展示你的config.xml和system.xml。我试过这个,我的xmls如下:

的System.Xml

<?xml version="1.0"?>
<config>
    <tabs>
        <newmodule translate="label" module="newmodule">
            <label>NewModule</label>
            <sort_order>200</sort_order>
        </newmodule>
    </tabs>
    <sections>
        <newmodule translate="label" module="newmodule">
            <label>NewModule</label>
            <tab>newmodule</tab>
            <frontend_type>text</frontend_type>
            <sort_order>0</sort_order>
            <show_in_default>1</show_in_default>
            <show_in_website>1</show_in_website>
            <show_in_store>1</show_in_store>
            <groups>
                <newmodule translate="label" module="paygate">
                    <label>NewModule Payment</label>
                    <sort_order>670</sort_order>
                    <show_in_default>1</show_in_default>
                    <show_in_website>1</show_in_website>
                    <show_in_store>0</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>0</show_in_store>
                        </active>
                        <order_status translate="label">
                            <label>New order status</label>
                            <frontend_type>select</frontend_type>
                            <source_model>adminhtml/system_config_source_order_status_processing</source_model>
                            <sort_order>4</sort_order>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>0</show_in_store>
                        </order_status>
                        <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>0</show_in_store>
                        </title>
                    </fields>
                </newmodule>
            </groups>
        </newmodule>
    </sections>
</config>  

的Config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <NameSpace_NewModule>
            <version>0.1.0</version>
        </NameSpace_NewModule>
    </modules>
    <frontend>
        <routers>
            <newmodule>
                <use>standard</use>
                <args>
                    <module>NameSpace_NewModule</module>
                    <frontName>newmodule</frontName>
                </args>
            </newmodule>
        </routers>
        <layout>
            <updates>
                <newmodule>
                    <file>newmodule.xml</file>
                </newmodule>
            </updates>
        </layout>
    </frontend>
    <admin>
        <routers>
            <newmodule>
                <use>admin</use>
                <args>
                    <module>NameSpace_NewModule</module>
                    <frontName>newmodule</frontName>
                </args>
            </newmodule>
        </routers>
    </admin>
    <adminhtml>
        <menu>
            <newmodule module="newmodule">
                <title>NewModule</title>
                <sort_order>71</sort_order>
                <action>newmodule/adminhtml_newmodule</action>
                <children>
                    <marketing module="newmodule">
                        <title>Marketing</title>
                        <sort_order>0</sort_order>
                        <action>newmodule/adminhtml_newmodule</action>
                    </marketing>                    
                </children>
            </newmodule>
        </menu>
        <acl>
            <resources>
                <all>
                    <title>Allow Everything</title>
                </all>
                <admin>
                    <children>
                        <newmodule>
                            <title>NewModule</title>
                            <sort_order>1</sort_order>
                            <action>newmodule/adminhtml_newmodule</action>
                            <children>
                            <marketing module="newmodule">
                                <title>Marketing</title>
                                <sort_order>0</sort_order>
                                <action>newmodule/adminhtml_newmodule</action>
                            </marketing>                           
                            </children>
                        </newmodule>
                    </children>
                </admin>
            </resources>
        </acl>
        <layout>
            <updates>
                <newmodule>
                    <file>newmodule.xml</file>
                </newmodule>
            </updates>
        </layout>
    </adminhtml>
    <global>
        <fieldsets>
            <sales_convert_quote_payment>
                <newmodule_id>
                    <to_order_payment>*</to_order_payment>
                </newmodule_id>               
                <order_cash_value>
                    <to_order_payment>*</to_order_payment>
                </order_cash_value>
            </sales_convert_quote_payment>
            <sales_convert_order_payment>
                <budget_id>
                    <to_quote_payment>*</to_quote_payment>
                </budget_id>                
                <order_cash_value>
                    <to_quote_payment>*</to_quote_payment>
                </order_cash_value>
            </sales_convert_order_payment>
        </fieldsets>
        <models>
            <newmodule>
                <class>NameSpace_NewModule_Model</class>
                <resourceModel>newmodule_mysql4</resourceModel>
            </newmodule>
            <newmodule_mysql4>
                <class>NameSpace_NewModule_Model_Mysql4</class>
                <entities>
                    <newmodule>
                        <table>newmodule</table>
                    </newmodule>                    
                </entities>
            </newmodule_mysql4>
        </models>
        <resources>
            <newmodule_setup>
                <setup>
                    <module>NameSpace_NewModule</module>
                </setup>
                <connection>
                    <use>core_setup</use>
                </connection>
            </newmodule_setup>
            <newmodule_write>
                <connection>
                    <use>core_write</use>
                </connection>
            </newmodule_write>
            <newmodule_read>
                <connection>
                    <use>core_read</use>
                </connection>
            </newmodule_read>
        </resources>
        <blocks>
            <newmodule>
                <class>NameSpace_NewModule_Block</class>
            </newmodule>
        </blocks>
        <helpers>
            <newmodule>
                <class>NameSpace_NewModule_Helper</class>
            </newmodule>
        </helpers>
    </global>
    <default>
        <payment>
            <newmodule>
                <active>1</active>
                <model>newmodule/payment_newmodule</model>
                <order_status>processing</order_status>
                <title>NewModule Payment</title>
                <payment_action>authorize</payment_action>
            </newmodule>
        </payment>
    </default>
</config>

希望这可以帮到你。检查这些xmls并进行比较..

答案 2 :(得分:0)

您必须将<config_path>payment/[YourGroupName]/[FieldName]</config_path>节点添加到新组部分下的每个新付款字段中。 因此,您的字段在system.xml文件中看起来像这样:

...
    <fields>
        <active translate="label">
            <label>Enabled</label>
            <config_path>payment/method1/active</config_path>
            <frontend_type>select</frontend_type>
            <source_model>adminhtml/system_config_source_yesno</source_model>
            <sort_order>10</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>
            <config_path>payment/method1/title</config_path>
            <frontend_type>text</frontend_type>
            <sort_order>15</sort_order>
            <show_in_default>1</show_in_default>
            <show_in_website>0</show_in_website>
            <show_in_store>1</show_in_store>
        </title>
        .
        .
        .
    </fields>
...

Magento中的PayPal模块是一个很好的参考,可以检查,学习和查找付款方式的新内容。