[Помогите] Ошибка в модуле

Тема в разделе "OpenCart", создана пользователем baksys, 13 ноя 2013.

  1. baksys

    baksys

    Регистрация:
    24 янв 2013
    Сообщения:
    54
    Симпатии:
    17
    День добрый у меня возникла проблема перестал работать модуль почта России выдает такую ошибку

    Notice: unserialize() [function.unserialize]: Error at offset 0 of 345 bytes in /home/*****/******/www/catalog/model/shipping/mk_mail_rus.php on line 56
    До этого все работало ок, а тут бах и перестало, ставил на чистую систему все равно не аллё
     
  2. baksys

    baksys

    Регистрация:
    24 янв 2013
    Сообщения:
    54
    Симпатии:
    17
    Прочитал на сайте почты россии (через который идет подсчет) что они блокируют запросы к ним в которых нет мейла, как думаете эта ошибка с этим как-то связано потому что началось все примерно в одно время
     
  3. Bogdan

    Bogdan

    Регистрация:
    25 фев 2013
    Сообщения:
    228
    Симпатии:
    104
    Думаю, что ошибка возникает на этапе десериализации опций модуля, взятых из базы.
    Покажите строки примерно с 50 по 60 вышеуказанного файла
     
  4. baksys

    baksys

    Регистрация:
    24 янв 2013
    Сообщения:
    54
    Симпатии:
    17
    Вот
    Код:
                    if(extension_loaded('curl')){
                                $res = curl_init();
                                curl_setopt($res, CURLOPT_URL, $request);
                                curl_setopt($res, CURLOPT_RETURNTRANSFER, 1);
                                curl_setopt($res, CURLOPT_TIMEOUT, 15);
                                $response = curl_exec($res);
                            }else{
                                $response = file_get_contents ($request);
                            }
    
                            $arrResponse = unserialize($response);
    
                            if($arrResponse['Status'] == 'OK'){
    
                                $type['metods'] = array(
                                    '0'        => 'ПростаяБандероль',
                                    '1'        => 'ЗаказнаяБандероль',
                                    '2'        => 'ЗаказнаяБандероль1Класс',
                                    '3'        => 'ЦеннаяБандероль',
                                    '4'        => 'ЦеннаяПосылка',
                                    '5'        => 'ЦеннаяАвиаБандероль',
                                    '6'        => 'ЦеннаяАвиаПосылка',
                                    '7'        => 'ЦеннаяБандероль1Класс'
                                );
    
     
  5. Bogdan

    Bogdan

    Регистрация:
    25 фев 2013
    Сообщения:
    228
    Симпатии:
    104
    Моё мнение было ошибочным.
    Действительно, проблема в ответе от "Почты"
    Но тут уж в 2-х словах не разобраться: возможно поменялся формат ответа, возможно возвращает ошибку.
    Если модуль приобретался официально, есть смысл обращаться к разработчику, если нет - нужно ковыряться, разбираться.
    Для начала перед строчкой:
    Код:
    $arrResponse = unserialize($response);
    вставьте строку:
    Код:
    echo print_r($response,true).'</br>-----------</br>';
    Ну и опубликуйте то, что выдаст на экране
     
  6. baksys

    baksys

    Регистрация:
    24 янв 2013
    Сообщения:
    54
    Симпатии:
    17
    Поменялся формат запроса на сайте почта России поэтому и выдает ошибочку
     
  7. baksys

    baksys

    Регистрация:
    24 янв 2013
    Сообщения:
    54
    Симпатии:
    17

    выдает
    404 - Not Found

    и что мне с этим делать
    неужели никто не пользуется данным методом доставки
    --- Добавлено, 17 ноя 2013 ---
    проблема решена
    решение
    Код:
        if((isset($from))&&(isset($to))){
                            $from=urlencode($from);
                            $to=urlencode($to);
                            $weight= $weight*1000;
                            $request = 'api.postcalc.ru?Site=site.ru&[email protected]&Person=Vasya_Pupkin&f='.$from.'&t='.$to.'&w='.$weight.'&v='.$total.'&o=php&e=0';
    
                            if(extension_loaded('curl')){
                                $res = curl_init();
                                curl_setopt($res, CURLOPT_URL, $request);
                                curl_setopt($res, CURLOPT_RETURNTRANSFER, 1);
                                curl_setopt($res, CURLOPT_TIMEOUT, 15);
                                $response = curl_exec($res);
                            }else{
                                $response = file_get_contents ($request);
                            }
    
                            $arrResponse = unserialize($response);
     
    Последнее редактирование: 17 ноя 2013
  8. Aduanit

    Aduanit

    Регистрация:
    9 янв 2013
    Сообщения:
    58
    Симпатии:
    1
    Добрый день,установил модуль почты России, но он не отображается при оформлении заказа,где и как настроить? ( ostore 1.5.5.1.1, Simle 3.8.3)
     
  9. cereberlum

    cereberlum

    Регистрация:
    26 май 2013
    Сообщения:
    756
    Симпатии:
    269
    В способах доставки (админка/дополнения/доставка) надо его для начала сделать активным и указать гео-зоны и какие там еще ему нужны настройки.
     
  10. Aduanit

    Aduanit

    Регистрация:
    9 янв 2013
    Сообщения:
    58
    Симпатии:
    1
    Сделал активным,в ГЕО зонах у меня стоит только НДС ( как я понял это по всем регионам),остальные настройки выставил,вес,индекс,минимальная сумма,
    при оформлении не выводится блок доставки
    Может что нужно в Simple поправить?
     
  11. cereberlum

    cereberlum

    Регистрация:
    26 май 2013
    Сообщения:
    756
    Симпатии:
    269
    Ну вообще что за модуль? во-первых и совместим ли он с simple? а вообще, конечно надо и в настройках симпла его указать, на вкладках "страница заказа" и "заглушки для методов".
     
  12. Aduanit

    Aduanit

    Регистрация:
    9 янв 2013
    Сообщения:
    58
    Симпатии:
    1
    модуль брал здесь на форуме,pochtaros_1_4,с simple совместим
    а на страницах заказа что именно надо указать?
    уже все перепробовал....никак не пойму
     
    Последнее редактирование: 5 янв 2014
  13. cereberlum

    cereberlum

    Регистрация:
    26 май 2013
    Сообщения:
    756
    Симпатии:
    269
    Я не экстрасенс, тут выложено штук 7 модулей для Почты России, но покажу на примере модуля EMS итак, 1) устанавливаем модуль и переходим на страницу его редактирования там устанавливаем:
    [​IMG]
    Скорее всего будут и другие настройки необходимы, но это самое главное.
    2)Идем в редактирование модуля симпл - если будет стоять "да" то способ не появится пока не будет вбит полный адрес на странице оформления.
    [​IMG]
    Настраиваем необходимые поля:
    [​IMG]
    не забываем настроить связи способов оплаты и доставки, если там ничего не указано сейчас, то по идее должно быть связаны со всеми, если связи есть то не появится пока не будут установлены.
    [​IMG]
    На странице заглушки можно поставить так:
    [​IMG]
    Переходим к оформлению, и радуемся:
    [​IMG]
    Любые другие модули аналогично, была проблема с модулем киви, там надо было указать регион и город, сама логика модуля такая, а в целом все так.
     
    Aduanit нравится это.
  14. pavellm

    pavellm

    Регистрация:
    1 апр 2015
    Сообщения:
    1
    Симпатии:
    0
    Можете подсказать - все стало работать, в плане ошибка исчезла, но теперь выбора доставки в почте почему то нету вообще. хотя модуль отображается при заказе. скрин прикладываю [​IMG]