美文网首页我爱编程
新建MAGENTO的运费方式

新建MAGENTO的运费方式

作者: 跨境小白 | 来源:发表于2018-05-29 01:57 被阅读34次

    在我们网站开发过程中常常会遇到各种运费的问题,怎样快速添加一个简单的运费规则呢,下面是快速建立运费规则的一些步骤。
    模板文件路径:

    app

    • code
      • local
        • Tang
          • MyCarrier
            • Model
              • Carrier.php
            • etc
              • config.xml
              • system.xml
    • etc
      • modules
        • Tang.xml
          Carrier.php文件中的内容:

    <?php
    class Tang_MyCarrier_Model_Carrier
    extends Mage_Shipping_Model_Carrier_Abstract
    implements Mage_Shipping_Model_Carrier_Interface
    {
    protected $_code = 'tang_mycarrier';

    public function collectRates(Mage_Shipping_Model_Rate_Request $request)
    {
        $rate = Mage::getModel('shipping/rate_result_method');
        /* @var $rate Mage_Shipping_Model_Rate_Result_Method */
    
        $rate->setCarrier($this->_code);
        /**
         * getConfigData(config_key) returns the configuration value for the
         * carriers/[carrier_code]/[config_key]
         */
        $rate->setCarrierTitle($this->getConfigData('title'));
    
        $rate->setMethod('tang_mycarrier');
        $rate->setMethodTitle('tang_mycarrier');
    
        $rate->setPrice(58.00);
        $rate->setCost(0);
    
        return $rate;
    }
    
    public function getAllowedMethods()
    {
        return array('tang_mycarrier' => $this->getConfigData('name'));
    }
    

    }
    etc.xml文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <config>
    <modules>
    <Tang_MyCarrier>
    <module>0.0.1</module>
    </Tang_MyCarrier>
    </modules>
    <global>
    <models>
    <tang_mycarrier>
    <class>tang_MyCarrier_Model</class>
    </tang_mycarrier>
    </models>
    </global>

    <default>
    <carriers>
    <tang_mycarrier>
    <active>1</active>

    <model>tang_mycarrier/carrier</model>

    <title>Smashing Magazine Carrier</title>

    <sort_order>10</sort_order>

    <sallowspecific>0</sallowspecific>
    </tang_mycarrier>
    </carriers>
    </default>
    </config>
    system.xml文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <config>
    <sections>
    <carriers translate="label" module="shipping">
    <groups>
    <tang_mycarrier translate="label">
    <label>国际物流</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>
    <fields>

                            This shipping carrier abstract checks
                            this value to determine whether
                            the carrier should be shown.
                        -->
                        <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>
                        <!--
                            This value can be used to specify a
                            custom title for our method.
                        -->
                        <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>
                        <!--
                            The sort order is used in Magento
                            to determine what order the carrier
                            will appear in relative to the
                            other carriers available.
                        -->
                        <sort_order translate="label">
                            <label>Sort Order</label>
                            <frontend_type>text</frontend_type>
                            <sort_order>100</sort_order>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>0</show_in_store>
                        </sort_order>
                        <!--
                            This value is used to specify whether
                            the carrier is available only for
                            specific countries or all countries
                            available in the current Magento
                            installation.
                        -->
                        <sallowspecific translate="label">
                            <label>Ship to Applicable Countries</label>
                            <frontend_type>select</frontend_type>
                            <sort_order>90</sort_order>
                            <frontend_class>shipping-applicable-country</frontend_class>
                            <source_model>adminhtml/system_config_source_shipping_allspecificcountries</source_model>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>0</show_in_store>
                        </sallowspecific>
                        <!--
                            If 'specific countries' is chosen
                            in the previous option, then this field
                            allows the administrator to specify
                            which specific countries this carrier
                            should be available for.
                        -->
                        <specificcountry translate="label">
                            <label>Ship to Specific Countries</label>
                            <frontend_type>multiselect</frontend_type>
                            <sort_order>91</sort_order>
                            <source_model>adminhtml/system_config_source_country</source_model>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>0</show_in_store>
                            <can_be_empty>1</can_be_empty>
                        </specificcountry>
                    </fields>
                </tang_mycarrier>
            </groups>
        </carriers>
    </sections>
    

    </config>
    Tang_MyCarrier.xml文件

    <?xml version="1.0"?>
    <config>
    <modules>
    <Tang_MyCarrier>
    <active>true</active>
    <codePool>local</codePool>
    <depends>
    <Mage_Shipping />
    </depends>
    </Tang_MyCarrier>
    </modules>
    </config>

    相关文章

      网友评论

        本文标题:新建MAGENTO的运费方式

        本文链接:https://www.haomeiwen.com/subject/cyxojftx.html