[Помощь] Модифицированный модуль курьерской доставки требуется помощь

Тема в разделе "Shop-script", создана пользователем Valeras, 9 фев 2011.

  1. Valeras

    Valeras Постоялец

    Регистр.:
    23 апр 2007
    Сообщения:
    107
    Симпатии:
    36
    Модифицированный модуль курьерской доставки - требуется помощь
    Обращаюсь к лицам писавшим модули доставки (Shop-Script Pre).
    Попросили написать модифицированный модуль доставки курьером. Суть задания заключается в следующем. Сейчас у некоторых курьерских служб при доставки по области меняется тариф, в зависимости от зоны (пояса) области. По этому, при доставки курьером, скажем, по Московской области нужно чтобы покупатель выбрал зону(пояс) в Московской области, соответственно менялся тариф доставки от этой зоны в области. Получается по функционалу что-то среднее между стандартным курьером и почтой Росcии.
    Модуль практически написан.
    Но столкнулся со следующей проблемой, на примере модуля Почта России(modules/shipping/class.russianpost.php:(
    метод calculate_shipping_rate, возращающий расчет в виде массива:
    PHP:
            $Rates = array();
            
    $Rates[] = array(
                
    'name' => 'Наземный транспорт',
                
    'id' => 1,
                
    'rate' => $this->_convertCurrency($GroundCost$this->_getSettingValue('CONF_RUSSIANPOST_CURRENCY'), 0),
                );
            
    $Rates[] = array(
                
    'name' => '"Авиа"',
                
    'id' => 2,
                
    'rate' => $this->_convertCurrency($AirCost$this->_getSettingValue('CONF_RUSSIANPOST_CURRENCY'), 0),
                );
            if(
    $_ServID != && $_ServID !=2){
                return 
    $Rates;
            }else{
                return array(
    $Rates[$_ServID-1]);
            }
    Если добавим еще один элемент в массив ('Супер Авиа')
    PHP:
            $Rates = array();
            
    $Rates[] = array(
                
    'name' => 'Наземный транспорт',
                
    'id' => 1,
                
    'rate' => $this->_convertCurrency($GroundCost$this->_getSettingValue('CONF_RUSSIANPOST_CURRENCY'), 0),
                );
            
    $Rates[] = array(
                
    'name' => '"Авиа"',
                
    'id' => 2,
                
    'rate' => $this->_convertCurrency($AirCost$this->_getSettingValue('CONF_RUSSIANPOST_CURRENCY'), 0),
                );
            
    $Rates[] = array(
                
    'name' => '"Супер Авиа"',
                
    'id' => 3,
                
    'rate' => 1000,
                );    
            if(
    $_ServID != && $_ServID !=2){
                return 
    $Rates;
            }else{
                return array(
    $Rates[$_ServID-1]);
            }
    В выпадающем списке выбрать элемент 'Супер Авиа' даст, но почему-то не считает. Точнее считает по умолчанию первый элемент ( 'Наземный транспорт'). Такое ощущение что стоит ограничение по двум id ('id' => 1, 'id' => 2) больше нельзя.
    Может кто сталкивался, где стоит ограничение, как снять, где копать?
    В случае адекватной помощи смогу поделиться наработкой с форумчанами :bc:.
     
  2. Devork

    Devork Создатель

    Регистр.:
    1 авг 2010
    Сообщения:
    23
    Симпатии:
    1
    Давно себе делал, но у меня строка:
    if($_ServID != 1 && $_ServID !=2){

    Выглядит так:
    if($_ServID == 0){

    И все работало.
     
    Valeras нравится это.
  3. Valeras

    Valeras Постоялец

    Регистр.:
    23 апр 2007
    Сообщения:
    107
    Симпатии:
    36
    Модифицированный модуль курьерской доставки (Курьер - зоны в области) для Shop-Script Pre.
    Применяется в случае договоренности с курьерскими службами, у которых при доставки по области меняется тариф, в зависимости от зоны (пояса) области. Например, в различные населенные пункты за пределами МКАД - по Московской области.
    Создавался под клиента, заключившего договор с курьерской службой uniexpress.ru, работающей с интернет- магазинами(финансовое сопровождение, ответственное хранение товара). Забираем:
    Посмотреть вложение courier_region.rar