Модуль доставки EMS
#21
Отправлено 20 November 2014 - 05:38 PM
ща к клиенту залезу, погляжу как там у меня сделано.
Да, лохонулся малеха, извиняюсь.
вот рабочий вариант, скаченный с сайта клиента.
ems.rar 3.41К 22 Количество загрузок:
Вот этот 100% работает.
#22
Отправлено 20 November 2014 - 09:58 PM
Рабочий - это когда Вы взяли свой архив и свою инструкцию и поставили на свой тестовый сайт. Где до этого момента модуль никак не был засвечен, т.е. ни таблиц уже не создано, ни полей к существующим таблицам уже не добавлено. А не слили два файла с работающего сайта.Да, лохонулся малеха, извиняюсь.
вот рабочий вариант, скаченный с сайта клиента.
PS. Вы бы хоть проверяли выкладываемое перед гордым "пользуйтесь". Я вот не поленился, проверил. Не работает. Доставка всегда бесплатна. Я-то разберусь, почему не работает, но какой смысл выкладывать заведомо не рабочие модули даже не утрудив себя проверкой?
#23
Отправлено 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
Прикрепленные файлы
#24
Отправлено 21 November 2014 - 02:47 PM
#25
Отправлено 21 November 2014 - 03:23 PM
$WeightF = $Weight;
if ( $WeightF < $Weight )
{
...
#26
Отправлено 21 November 2014 - 07:09 PM
Но вообще модуль какой-то странный по своему исполнению. Зачем-то в админке модуля есть выбор страны (хотя возможна только Россия) и валюты (хотя возможны только рубли), но нет выбора города, гда находится отправитель.
Прикрепленные файлы
#27
Отправлено 21 November 2014 - 07:21 PM
я вот думаю.. ems же где-то базу городов хранит с правильным написанием.. при установке модуля как-то бы ее спарсить и ставить заместо имеющихся.. правда тогда обычная почтовая может сломаться, но..
#28
Отправлено 21 November 2014 - 07:28 PM
Я никогда не скрывал, что дял меня это хобби.много свободного времени?
Зайдите на сайт http://emspost.ru/ru/ - там все очевидно. Хоть обпарсись .я вот думаю.. ems же где-то базу городов хранит с правильным написанием.. при установке модуля как-то бы ее спарсить и ставить заместо имеющихся..
#29
Отправлено 24 November 2014 - 09:59 AM
Выложил мод, а мне еще и репу занижают(
#30
Отправлено 24 November 2014 - 12:25 PM
Хм... Это не я .Выложил мод, а мне еще и репу занижают(
Это кто-то, видимо, до конца тред не дочитал.
#31
Отправлено 24 November 2014 - 12:26 PM
Дочитал)) Вам же плюсов наставили))Хм... Это не я .Выложил мод, а мне еще и репу занижают(
Это кто-то, видимо, до конца тред не дочитал.
#32
Отправлено 24 November 2014 - 12:39 PM
Хм... На самом сайте, кстати, совсем другой способ используется.Зайдите на сайт http://emspost.ru/ru/ - там все очевидно. Хоть обпарсись
В модуле запрос идет по номерам регионов (как на автомобильных номерах), а на родном сайте по почтовым индексам.
Т.е. если хочется сделать новый модуль именно как на штатном сайте, то массив почтовых индексов и городов/регионов берем из select-а на странице сайта, а сам запрос и ответ смотрим firebug-ом, там все довольно просто. Несколько POST-переменных туда и строка с данными обратно.
PS. Только вот как связать при таком раскладе таблицу городов EMS и таблицу городов ShopCMS - не знаю. Только если вручную связывать всю сотню городов.
#33
Отправлено 15 February 2015 - 10:50 PM
Правда ее надо запросом сокращать до уровня городов