Valeras
Постоялец
- Регистрация
- 23 Апр 2007
- Сообщения
- 112
- Реакции
- 40
- Автор темы
- #1
Модифицированный модуль курьерской доставки - требуется помощь
Обращаюсь к лицам писавшим модули доставки (Shop-Script Pre).
Попросили написать модифицированный модуль доставки курьером. Суть задания заключается в следующем. Сейчас у некоторых курьерских служб при доставки по области меняется тариф, в зависимости от зоны (пояса) области. По этому, при доставки курьером, скажем, по Московской области нужно чтобы покупатель выбрал зону(пояс) в Московской области, соответственно менялся тариф доставки от этой зоны в области. Получается по функционалу что-то среднее между стандартным курьером и почтой Росcии.
Модуль практически написан.
Но столкнулся со следующей проблемой, на примере модуля Почта России(modules/shipping/class.russianpost.php
метод calculate_shipping_rate, возращающий расчет в виде массива:
Если добавим еще один элемент в массив ('Супер Авиа')
В выпадающем списке выбрать элемент 'Супер Авиа' даст, но почему-то не считает. Точнее считает по умолчанию первый элемент ( 'Наземный транспорт'). Такое ощущение что стоит ограничение по двум id ('id' => 1, 'id' => 2) больше нельзя.
Может кто сталкивался, где стоит ограничение, как снять, где копать?
В случае адекватной помощи смогу поделиться наработкой с форумчанами :bc:.
Обращаюсь к лицам писавшим модули доставки (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 != 1 && $_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 != 1 && $_ServID !=2){
return $Rates;
}else{
return array($Rates[$_ServID-1]);
}
Может кто сталкивался, где стоит ограничение, как снять, где копать?
В случае адекватной помощи смогу поделиться наработкой с форумчанами :bc:.