как добавить параметры способа доставки


Я написал модуль с помощью этой ссылки , и я не знаю, что делать, если я хочу показать варианты способа доставки, я имею в виду, что у меня есть одна доставка (одно название перевозчика), но разные названия методов

Связано ли это с созданием другой модели? если да, то должен ли я изменить свой config.xml ?или другой файл? Я не мог решить свою проблему, я много искал в Интернете

            $method = Mage::getModel('shipping/rate_result_method');
            $method->setCarrier($this->_code);
            $method->setMethod($this->_code);
            $method->setCarrierTitle($this->getConfigData('title'));
            $method->setMethodTitle($this->getConfigData('name'));
            $method->setPrice($price);
            $method->setCost($price);
            $result->append($method);
Author: Nickool, 2014-02-07

1 answers

Взгляните на Mage_Shipping_Model_Rate_Request. Если у вас есть несколько методов, в методе collectRates() класса, который расширяет Mage_Shipping_Model_Carrier_Abstract, вы можете создать массив с подробными сведениями о методе. Затем вы можете выполнить цикл по массиву:

public function collectRates(Mage_Shipping_Model_Rate_Request $request)
{
    if (!Mage::getStoreConfig('carriers/'.$carrierCode.'/enabled')) {
        return false;
    }

    $methods = array('method_one'=>array('price'=>some_val,'title'=>some_title,'cost'=>some_cost)...add more methods);


        $finalMethods = Mage::getModel('shipping/rate_result');

       foreach($methods as $item){

        $method = Mage::getModel('shipping/rate_result_method');
        $method->setCarrier($carrierCode);
        $method->setMethod($item['code']);
        $method->setCarrierTitle($carrierTitle);
        $method->setMethodTitle($item['title']);
        $method->setPrice($item['price']);
        $method->setCost($item['cost']);
        $finalMethods->append($method);
    }

    return $finalMethods;
}

Также взгляните на эту статью: http://coding.smashingmagazine.com/2014/01/15/create-custom-shipping-methods-magento / (есть раздел под названием "Использование нескольких способов доставки").

 6
Author: Evgeni Ivanov, 2014-07-25 21:00:04