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

Valeras

Постоялец
Регистрация
23 Апр 2007
Сообщения
112
Реакции
40
Модифицированный модуль курьерской доставки - требуется помощь
Обращаюсь к лицам писавшим модули доставки (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]);
		}
В выпадающем списке выбрать элемент 'Супер Авиа' даст, но почему-то не считает. Точнее считает по умолчанию первый элемент ( 'Наземный транспорт'). Такое ощущение что стоит ограничение по двум id ('id' => 1, 'id' => 2) больше нельзя.
Может кто сталкивался, где стоит ограничение, как снять, где копать?
В случае адекватной помощи смогу поделиться наработкой с форумчанами :bc:.
 
Давно себе делал, но у меня строка:
if($_ServID != 1 && $_ServID !=2){

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

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