Перейти к содержимому


Модуль доставки EMS


  • Вы не можете ответить в тему
Сообщений в теме: 32

#21 zcz

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 104 сообщений
Репутация: 62
Продвинутый

Отправлено 20 November 2014 - 05:38 PM

то ли лыжи не едут, то ли асфальт не катит.. ))
ща к клиенту залезу, погляжу как там у меня сделано.

Да, лохонулся малеха, извиняюсь.
вот рабочий вариант, скаченный с сайта клиента.
Прикрепленный файл  ems.rar   3.41К   22 Количество загрузок:
Вот этот 100% работает.
  • 0
Пишу, устанавливаю, натягиваю))) pix-art.ru

#22 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 20 November 2014 - 09:58 PM

Да, лохонулся малеха, извиняюсь.
вот рабочий вариант, скаченный с сайта клиента.

Рабочий - это когда Вы взяли свой архив и свою инструкцию и поставили на свой тестовый сайт. Где до этого момента модуль никак не был засвечен, т.е. ни таблиц уже не создано, ни полей к существующим таблицам уже не добавлено. А не слили два файла с работающего сайта.

PS. Вы бы хоть проверяли выкладываемое перед гордым "пользуйтесь". Я вот не поленился, проверил. Не работает. Доставка всегда бесплатна. Я-то разберусь, почему не работает, но какой смысл выкладывать заведомо не рабочие модули даже не утрудив себя проверкой?
  • 1
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#23 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 21 November 2014 - 02:35 PM

Я вот не поленился, проверил. Не работает.

Отбой и мои глубочайшие извинения.
Модуль вполне рабочий (с оговоркой, что в самом теле модуля надо сменить выставленный там регион ОТКУДА на свой.
Странно, что это не вынесено в настройку модуля.

У меня не работало из-за того, что модуль использует CURL, а у меня к серверам доступ снаружи и изнутри по разным IP-адресам (изнутри - локальные). Т.е. в CURL задавался "http://.. ", разрешался во внешний IP-шник и, естесвенно, ничего в результате не получалось. Т.е. сервер сам к себе по внешнему IP доступа получить не может. Сменил серверу DNS на другой, отдающий внутренние адреса для внутренних серверов - все заработало. Сайты на хостингах такая проблема не коснется никак.

Мне думается, что CURL там притянут за уши и был сделан для того, чтобы вычислительная функция лежала на сервере автора этого модуля, а не на своем сервере. Этакая защита от распространения модуля. Т.к. если функция лежит локально, то нахрена этот CURL сдался?

Я заменил в файле class.emspost.php

/*
$ch = curl_init();
$x="country_iso_2=".$country_iso_2."&zoneID=".$_Address["zoneID"]."&zone_code=".$zone_code."&Weight=".$Weight."&total=".$_Order['order_amount']."&sum=".$this->_getSettingValue('CONF_EMSPOSTP_SUM')."&added=".$this->_getSettingValue('CONF_EMSPOSTP_ADDED');
curl_setopt($ch, CURLOPT_URL, "http://".CONF_SHOP_URL."/callbackhandlers/emspost_handler.php");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $x);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);
return $result;
*/
return $this->emspost_handler($country_iso_2,$_Address["zoneID"],$zone_code,$Weight,$_Order['order_amount'],$this->_getSettingValue('CONF_EMSPOSTP_SUM'),$this->_getSettingValue('CONF_EMSPOSTP_ADDED'));

а файл emspost_handler.php вставил сюда же в виде функции класса.
Теперь достаточно одного файла class.emspost.php

Прикрепленные файлы


  • 2
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#24 zcz

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 104 сообщений
Репутация: 62
Продвинутый

Отправлено 21 November 2014 - 02:47 PM

Рад, что совместными усилиями, справились с этим модулем)
  • 0
Пишу, устанавливаю, натягиваю))) pix-art.ru

#25 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 21 November 2014 - 03:23 PM

Хм... Интересные в этом модуле конструкции попадаются :).

$WeightF = $Weight;
if ( $WeightF < $Weight )
{
...

  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#26 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 21 November 2014 - 07:09 PM

Я причесал этот модуль не вдаваясь в логику работы. Т.е. если в логике есть кривизна, то она осталась, но применяемые решения языка я постарался сделать более правильными и, как следствие, более короткими. Массив и in_array() вместо do case, ifelse вместо пучка if и тому подобное.

Но вообще модуль какой-то странный по своему исполнению. Зачем-то в админке модуля есть выбор страны (хотя возможна только Россия) и валюты (хотя возможны только рубли), но нет выбора города, гда находится отправитель.

Прикрепленные файлы


  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#27 zcz

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 104 сообщений
Репутация: 62
Продвинутый

Отправлено 21 November 2014 - 07:21 PM

много свободного времени?.. а я зашиваюсь - клиенты как с цепи сорвались на этой неделе.

я вот думаю.. ems же где-то базу городов хранит с правильным написанием.. при установке модуля как-то бы ее спарсить и ставить заместо имеющихся.. правда тогда обычная почтовая может сломаться, но..
  • 0
Пишу, устанавливаю, натягиваю))) pix-art.ru

#28 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 21 November 2014 - 07:28 PM

много свободного времени?

Я никогда не скрывал, что дял меня это хобби.

я вот думаю.. ems же где-то базу городов хранит с правильным написанием.. при установке модуля как-то бы ее спарсить и ставить заместо имеющихся..

Зайдите на сайт http://emspost.ru/ru/ - там все очевидно. Хоть обпарсись :).
  • 1
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#29 zcz

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 104 сообщений
Репутация: 62
Продвинутый

Отправлено 24 November 2014 - 09:59 AM

Вот, бляха, делай людям добро после этого.
Выложил мод, а мне еще и репу занижают(
  • 0
Пишу, устанавливаю, натягиваю))) pix-art.ru

#30 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 24 November 2014 - 12:25 PM

Выложил мод, а мне еще и репу занижают(

Хм... Это не я :).
Это кто-то, видимо, до конца тред не дочитал.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#31 zcz

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 104 сообщений
Репутация: 62
Продвинутый

Отправлено 24 November 2014 - 12:26 PM

Выложил мод, а мне еще и репу занижают(

Хм... Это не я :).
Это кто-то, видимо, до конца тред не дочитал.

Дочитал)) Вам же плюсов наставили))
  • 0
Пишу, устанавливаю, натягиваю))) pix-art.ru

#32 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 24 November 2014 - 12:39 PM

Зайдите на сайт http://emspost.ru/ru/ - там все очевидно. Хоть обпарсись

Хм... На самом сайте, кстати, совсем другой способ используется.
В модуле запрос идет по номерам регионов (как на автомобильных номерах), а на родном сайте по почтовым индексам.
Т.е. если хочется сделать новый модуль именно как на штатном сайте, то массив почтовых индексов и городов/регионов берем из select-а на странице сайта, а сам запрос и ответ смотрим firebug-ом, там все довольно просто. Несколько POST-переменных туда и строка с данными обратно.

PS. Только вот как связать при таком раскладе таблицу городов EMS и таблицу городов ShopCMS - не знаю. Только если вручную связывать всю сотню городов.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#33 Go_Blin

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 44 сообщений
Репутация: 0
Начинающий

Отправлено 15 February 2015 - 10:50 PM

Можно взять базу 1С по адресам с индексами kladr.dbf. На всякий случай выложил.
Правда ее надо запросом сокращать до уровня городов

Прикрепленные файлы

  • Прикрепленный файл  KLADR.rar   2.04МБ   1 Количество загрузок:

  • 0