结账时,自定义付款模块不会出现在前端

时间:2011-09-22 12:02:35

标签: php magento module

我的自定义付款模块存在一些问题。

问题在于,无论我尝试什么,我都无法在前端看到我的付款方式的选择。

这可能看起来像是类似问题的重复,但我已经阅读了它们,解决方案对我来说没有用。

设置

文件树:

/app/code/local/CatalystCode/EwirePayment/
-controllers/
--CallbackController.php
-etc/
--config.xml
-etc/
--system.xml
-Model/
--Payment.php

内容

config.xml中:

<?xml version="1.0"?>
<config>    
    <modules>
        <CatalystCode_EwirePayment>
            <version>0.1.0</version>
        </CatalystCode_EwirePayment>
    </modules>
    <global>

                <resources>
                    <ewirepayment_setup>
                        <setup>
                            <module>CatalystCode_EwirePayment</module>
                        </setup>
                        <connection>
                            <use>core_setup</use>
                        </connection>
                    </ewirepayment_setup>
                    <ewirepayment_write>
                        <connection>
                            <use>core_write</use>
                        </connection>
                    </ewirepayment_write>
                    <ewirepayment_read>
                        <connection>
                        <use>core_read</use>
                            </connection>
                    </ewirepayment_read>
                </resources>        

        <events>
            <controller_front_init_routers>
                <observers>
                    <CatalystCode_ewirepayment_model_observer>
                        <type>singleton</type>                          
                        <class>CatalystCode_EwirePayment_Model_Observer</class>
                        <method>checkForConfigRequest</method>
                    </CatalystCode_ewirepayment_model_observer>
                </observers>
            </controller_front_init_routers>
        </events>


    <frontend>
        <routers>
            <ewirepayment>
                <use>standard</use>
                <args>
                    <module>CatalystCode_EwirePayment</module>
                    <frontName>ewirepayment</frontName>
                </args>
            </ewirepayment>
        </routers>  
    </frontend>    

    </global>    


<default>
    <payment>
        <ewirepayment>
            <active>1</active>
            <model>ewirepayment/payment</model>
            <order_status>pending</order_status>
            <title>Pay with Ewire</title>           
        </ewirepayment>
    </payment>
</default>

</config> 

的system.xml:

<?xml version="1.0"?>
<config>
    <sections>


        <payment>
            <groups>
                <CatalystCode_EwirePayment>


                    <label>Ewire 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>

                        <company_id translate="label">
                            <label>CompanyID</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>
                        </company_id>
                        <encryption_key translate="label">
                            <label>Encryption key</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>0</show_in_store>
                        </encryption_key>

                        <payment_action translate="label">
                            <label>Payment Action</label>
                            <frontend_type>select</frontend_type>

                            <source_model>paygate/authorizenet_source_paymentAction</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>
                        </payment_action>

                        <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>5</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>

                        <test translate="label">
                            <label>Test mode</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>
                        </test>                        

                        <title translate="label">
                            <label>Title</label>
                            <frontend_type>text</frontend_type>
                            <sort_order>7</sort_order>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>1</show_in_store>
                        </title>

                    </fields>
                </CatalystCode_EwirePayment>
            </groups>
        </payment>
    </sections>
</config>

Payment.php

<?php

    class CatalystCode_EwirePayment_Model_Payment extends Mage_Payment_Model_Method_Abstract
    {
        protected $_code  = 'ewirepayment';

        protected $_isInitializeNeeded      = true;
        protected $_canUseInternal          = false;
        protected $_canUseForMultishipping  = false;


        /**
        * Return Order place redirect url
        *
        * @return string
        */
        public function getOrderPlaceRedirectUrl()
        {
            // TODO - fix the url when I'm able to select my payment method...
            return Mage::getUrl('customcard/standard/redirect', array('_secure' => true));
        }

    }       

1 个答案:

答案 0 :(得分:2)

好像你错过了一个模型部分,所以它不知道在哪里可以找到你的课程。

<?xml version="1.0"?>
<config>
    <modules>
        <CatalystCode_EwirePayment>
            <version>0.1.0</version>
        </CatalystCode_EwirePayment>
    </modules>
    <global>
        <models>
            <ewirepayment>
                <class>CatalystCode_EwirePayment_Model</class>
            </ewirepayment>
        </models>
        <resources>
            <ewirepayment_setup>
                <setup>
                    <module>CatalystCode_EwirePayment</module>
                </setup>
                <connection>
                    <use>core_setup</use>
                </connection>
            </ewirepayment_setup>
            <ewirepayment_write>
                <connection>
                    <use>core_write</use>
                </connection>
            </ewirepayment_write>
            <ewirepayment_read>
                <connection>
                    <use>core_read</use>
                </connection>
            </ewirepayment_read>
        </resources>
        <events>
            <controller_front_init_routers>
                <observers>
                    <CatalystCode_ewirepayment_model_observer>
                        <type>singleton</type>
                        <class>ewirepayment/observer</class>
                        <method>checkForConfigRequest</method>
                    </CatalystCode_ewirepayment_model_observer>
                </observers>
            </controller_front_init_routers>
        </events>
        <frontend>
            <routers>
                <ewirepayment>
                    <use>standard</use>
                    <args>
                        <module>CatalystCode_EwirePayment</module>
                        <frontName>ewirepayment</frontName>
                    </args>
                </ewirepayment>
            </routers>
        </frontend>
    </global>
    <default>
        <payment>
            <ewirepayment>
                <active>1</active>
                <model>ewirepayment/payment</model>
                <order_status>pending</order_status>
                <title>Pay with Ewire</title>
            </ewirepayment>
        </payment>
    </default>
</config>