[Помогите] Разобраться с ошибкой

Тема в разделе "OpenCart", создана пользователем ioh2007, 17 ноя 2015.

  1. ioh2007

    ioh2007

    Регистрация:
    7 окт 2013
    Сообщения:
    57
    Симпатии:
    3
    В логах периодически мелькают такие ошибки:

    PHP Notice: Undefined index: route in /home/***/public_html/vqmod/vqcache/vq2-catalog_controller_common_header.php on line 25

    PHP Notice: Undefined index: route in /home/***/public_html/vqmod/vqcache/vq2-catalog_controller_common_header.php on line 29

    Вот кусок из файла вкумода

    Код:
     // start body_class code
    
        $current_path = $this->request->get;
       if (empty($current_path) || $current_path['route'] == 'common/home') {
          $body_class = 'home';
        }
        else {
    $body_class = explode('/', str_replace('product/', '', $current_path['route']));
          unset($current_path['route']);
          if (isset($current_path['_route_'])) {
            $body_class = array_merge($body_class, explode('/', str_replace('-', '_', $current_path['_route_'])));
            unset($current_path['_route_']);
          }
          foreach ($current_path as $key => $value) {
            $body_class[] = $key . "_" . $value;
          }
          $body_class = 'page_' . implode(" page_", array_unique($body_class));
        }
        $body_class .= ' lang_' . $this->language->get('code');
        $this->data['body_class'] = $body_class;
    
        // end body_class code
    Строка 25 if (empty($current_path) || $current_path['route'] == 'common/home') {
    Строка 29 $body_class = explode('/', str_replace('product/', '', $current_path['route']));

    Как решить проблему?
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.050
    Симпатии:
    777
    Это всё ваши кривые vQmod модули, в ориигнале такого кода нет.

    Добавьте после этой строки:
    PHP:
    $current_path $this->request->get;
    это:
    PHP:
    if(!isset($current_path['route'])){
        
    $current_path['route'] = '';
    }
     
    ioh2007 нравится это.
  3. ioh2007

    ioh2007

    Регистрация:
    7 окт 2013
    Сообщения:
    57
    Симпатии:
    3
    А как узнать, какой это модуль, было бы проще ))

    А вот эта ошибка с чем связана? Это же по идее запрос с БД
    Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-30,30' at line 1<br />Error No: 1064<br />SELECT * FROM custom_url_404 ORDER BY hit DESC LIMIT -30,30 in.....
    Я понимаю, что отрицательных значений быть не может, но как исправить не понимаю
     
    Последнее редактирование: 17 ноя 2015
  4. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.050
    Симпатии:
    777
    Ищите в xml инструкциях vQmod по ключевому слову body_class.

    А я не понимаю, откуда оно берётся. Но, судя по тексту запроса, это явно запрос из Паладина.
     
  5. ioh2007

    ioh2007

    Регистрация:
    7 окт 2013
    Сообщения:
    57
    Симпатии:
    3
    Такая ошибка с отрицательными значениями появлялась еще из нескольких модулей. И точно, как вы и говорили, они из vQmod модулей.
    Но вот в самих файлах модулей ошибка не находится
     
  6. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.050
    Симпатии:
    777
    А что вы там рассчитывали увидеть? :Smile:
    Эти отрицательные значения появляются в процессе работы. Каким образом они появляются у меня ни малейшего представления.
    Если отрицательное значение встречается в запросах из разных модулей (и вы уверены, что это разные модули, а не компоненты одного), возможно, дело в каком-то модуле, который должен был, например, оптимизировать запросы к базе.

    Самый просто вариант - поотключать все vQmod модули, убедиться, что ошибка исчезла, а затем поочереди включать их, пока она опять не появится, тогда станет ясно, какой модуль её вызывает.