[Помогите] Undefined offset: 0

Тема в разделе "OpenCart", создана пользователем KuEdA, 3 май 2017.

  1. KuEdA

    KuEdA

    Регистрация:
    20 сен 2014
    Сообщения:
    194
    Симпатии:
    36
    Здравствуйте уважаемые форумчане. Очень нужна Ваша помощь. После переезда магазина http://stylishjewel.ru/ на другой хостинг перестал работать модуль каталог товаров, во вкладке вместо товаров отображается только - (0), а в картах товаров сверху появилась такая надпись:
    Notice: Undefined offset: 0 in /var/www/stylishj/data/www/stylishjewel.ru/catalog/controller/module/catalog.php on line 85Notice: Undefined offset: 0 in /var/www/stylishj/data/www/stylishjewel.ru/catalog/controller/module/catalog.php on line 101Notice: Undefined offset: 0 in /var/www/stylishj/data/www/stylishjewel.ru/catalog/controller/module/catalog.php on line 105.
    Пробовал удалить модуль и поставить заново, но ничего не изменилось. Помогите пожалуйста исправить ошибку. Не могу понять откуда она появилась, ведь на старом хостинге все работало нормально.
    Также перестал работать модуль рандомной перелинковки. Во вкладке описание, где ранее в случайном порядке из текстового файла выводились ссылки с анкорами теперь пишет:

    Warning: file(http://stylishjewel.ru/js/text.txt): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /var/www/stylishj/data/www/stylishjewel.ru/vqmod/vqcache/vq2-catalog_view_theme_stylishjewel_template_product_product.tpl on line 289
    До этого также все работало хорошо. Заранее огромное спасибо!
     
  2. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    У вас не правильные права на папку vqmod/vqcache.
    А может и vqmod не активный.
    И проблемы другие из-за vqmod-а.
    Лучше не ипользуйте его вобще на рабочем магазине.
     
    KuEdA нравится это.
  3. KuEdA

    KuEdA

    Регистрация:
    20 сен 2014
    Сообщения:
    194
    Симпатии:
    36
    Spy, спасибо Вам за ответ. А какие правильные, подскажите, если можно. Посмотрел сейчас права и на vqmod и на vqcache 755. Поставил 777, ничего не изменилось. :-( Кэш почистил... Если vqmod неактивный, то как его активировать? На старом хостинге вроде ничего не делал для этого. И Вы говорите не использовать, его что, вообще, удалить нужно?
     
  4. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    если 1-2 модуля то лучше руками перенести код, а vqmod не использовать.
    А если десяток модулей которые работают через него, тогда активните/переустановите.
    PS: vqmod - больше для тестирования модулей и на продакшене его неиспользуют))
     
    KuEdA нравится это.
  5. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    Ну не используют те кто умееют прописать ручками. А кто нет - используют да еще как)
     
    KuEdA нравится это.
  6. KuEdA

    KuEdA

    Регистрация:
    20 сен 2014
    Сообщения:
    194
    Симпатии:
    36
    Переустановил vqmod. Перед этим вернул на место оригинальные файлы index.php, в корне и в админке. Отредактировал файл "vqmod\pathReplaces.php" под свою Админскую директорию. Дал права на запись 766 (777) на файлы "index.php" в корне и в АДМИНКЕ. Заменил имя админской директории на свое в файле "vqmod\install\index.php". Проинсталлировал vqmod http://stylishjewel.ru/vqmod/install. Установил права 644 на файлы "index.php" в корне и в АДМИНКЕ... И ничего не изменилось. Ни надписи не пропали, ни модули не заработали... :-( В общем, все осталось, как и было. Куда дальше копать, подскажите, пожалуйста?
     
    Lasted edited by : 4 май 2017
  7. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    vqmod, точно работает?
    создается файл/файлы в папке vqcache?
     
  8. KuEdA

    KuEdA

    Регистрация:
    20 сен 2014
    Сообщения:
    194
    Симпатии:
    36
    Да, vqmod работает. Сейчас удалил все файлы из vqcache. Затем зашел в папку, они заново создались. Пробовал переустановить модуль рандомной перелинковки, но ничего не получилось, ссылки не выводятся и опять таже самая ошибка. Может быть с путями что-то перепуталось? Только где это смотреть и править?
     
  9. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    Тогда сейчас у вас в папке vqcache должны быть такие же и столько же файлов как в ней было до переноса, тоесть в вашем бэкапе.
    Если так и есть и всеравно ругается на
    то тогда сравните этот файл с бекапа и с новосгенерированым
     
  10. KuEdA

    KuEdA

    Регистрация:
    20 сен 2014
    Сообщения:
    194
    Симпатии:
    36
    Сравнил. В бэкапе участок кода:
    PHP:
    <?php
    $data 
    file("http://stylishjewel.ru/js/text.txt");
    $total count($data);
    srand((double)microtime()*1000000);
    $mn 5;
    $mx 5;
    $text "<div><strong>Обратите также Ваше внимание на:</strong></div><br>";
    for(
    $i=0$i<mt_rand($mn,$mx); $i++){
    $s mt_rand(0,$total-1);
    $text .= "".$data[$s];
    }
    echo 
    "$text";
    ?>
    В новосгенерированном:
    <?php
    $data 
    file("http://stylishjewel.ru/js/text.txt");
    $total count($data);
    srand((double)microtime()*1000000);
    $mn 5;
    $mx 5;
    $text "<div><strong>Обратите также Ваше внимание на:</strong></div><br>";
    for(
    $i=0$i<mt_rand($mn,$mx); $i++){
    $s mt_rand(0,$total-1);
    $text .= "".$data[$s];
    }
    echo 
    "$text";
    ?>
    Все одно и тоже...
    --- Добавлено, 4 май 2017 ---
    Сейчас посмотрел в панели управления хостингом адрес до папки js. Такая ссылка на нее: https://isp16.adminvps.ru/ispmgr#. М.б. из-за этого модуль не может найти файл в этой директории?
     
    Lasted edited by : 18 май 2017
  11. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    теперь же хостинг не stylishjewel.ru
    значит и путь к этому файлу не http://stylishjewel.ru/js/text.txt
    PS:
    хотя я не понимаю зачем пхп - файл txt, что лежит в js??)))
    Может у вас лицензии на модуля? Какие модули вы ставили?
    Что за ошибли в логах админки?
     
  12. KuEdA

    KuEdA

    Регистрация:
    20 сен 2014
    Сообщения:
    194
    Симпатии:
    36
    Я ставил модуль рандомной перелинковки. Но через блок, он у меня не выводился на страницы и тогда я добавил код в product.tpl, на старом хостинге все отлично работало...
    --- Добавлено, 4 май 2017 ---
    И еще модуль каталог товаров, отображающий во вкладке каталог товары из той же категории... Тот, который сейчас выдает ошибку: Notice: Undefined offset: 0 in /var/www/stylishj/data/www/stylishjewel.ru/catalog/controller/module/catalog.php on line 85Notice: Undefined offset: 0 in /var/www/stylishj/data/www/stylishjewel.ru/catalog/controller/module/catalog.php on line 101Notice: Undefined offset: 0 in /var/www/stylishj/data/www/stylishjewel.ru/catalog/controller/module/catalog.php on line 105
    --- Добавлено, 4 май 2017 ---
    Насчет пути, я пробовал заменить http://stylishjewel.ru/js/ на https://isp16.adminvps.ru/ispmgr#/. Тогда выдает такую ошибку:
    Warning: file(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in /var/www/stylishj/data/www/stylishjewel.ru/vqmod/vqcache/vq2-catalog_view_theme_stylishjewel_template_product_product.tpl on line 289Warning: file(): Failed to enable crypto in /var/www/stylishj/data/www/stylishjewel.ru/vqmod/vqcache/vq2-catalog_view_theme_stylishjewel_template_product_product.tpl on line 289Warning: file(https://isp16.adminvps.ru/ispmgr#/text.txt): failed to open stream: operation failed in /var/www/stylishj/data/www/stylishjewel.ru/vqmod/vqcache/vq2-catalog_view_theme_stylishjewel_template_product_product.tpl on line 289
     
  13. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    а ну так у вас https, с этого нужно и было начинать.
    У ОС не очень с https)).
    Замените строчку
    $data = file("http://stylishjewel.ru/js/text.txt");
    на
    $data = "просто текст, тест";
    должны ошибки пропасть
    PS: а лучше отключите эти модули , ошибки пропадут, тогда влючайте по одному и отлавливайте.
    Не помешает посмотреть, что за код в строках на который ругается и var_dump - в помощь))
     
    KuEdA нравится это.
  14. KuEdA

    KuEdA

    Регистрация:
    20 сен 2014
    Сообщения:
    194
    Симпатии:
    36
    Спасибо за совет. Ошибка то исчезла, но не в ней же дело. Ссылки так и не выводятся из текстового файла... Вдобавок сейчас в админку зашел, а там тоже не все ладно оказывается. :-( Вот такая мессага сверху появилась: Notice: unserialize(): Error at offset 0 of 281 bytes in /var/www/stylishj/data/www/stylishjewel.ru/system/library/cache.php on line 11Notice: unserialize(): Error at offset 0 of 295 bytes in /var/www/stylishj/data/www/stylishjewel.ru/system/library/cache.php on line 11.
    Вообще, жесть какая-то с этим переездом! И где концы всего этого искать я х.з. Ужос!!!
     
  15. KuEdA

    KuEdA

    Регистрация:
    20 сен 2014
    Сообщения:
    194
    Симпатии:
    36
    С модулем рандомной перелинковки удалось справиться. Теперь все работает. Остался каталог товаров. По прежнему ничего не выводится во вкладке и та же самая ошибка:
    Notice: Undefined offset: 0 in /var/www/stylishj/data/www/stylishjewel.ru/catalog/controller/module/catalog.php on line 43Notice: Undefined offset: 0 in /var/www/stylishj/data/www/stylishjewel.ru/catalog/controller/module/catalog.php on line 51Notice: Undefined offset: 0 in /var/www/stylishj/data/www/stylishjewel.ru/catalog/controller/module/catalog.php on line 53

    Переустанавливал модуль, заменив перед этим все его файлы - ничего не изменилось... В службе поддержки хостинга мне сказали, что ошибка в php скрипте, он должен смещаться по элементам массива, но он их не может найти. Уважаемые профессионалы, помогите, пожалуйста, исправить эту ошибку.
     
    Последнее редактирование: 18 май 2017
  16. Dotrox

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

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Всё правильно вам сказали.

    Без кода никто вам не поможет, это же очевидно.
     
    KuEdA нравится это.
  17. KuEdA

    KuEdA

    Регистрация:
    20 сен 2014
    Сообщения:
    194
    Симпатии:
    36
    Dotrox, спасибо Вам за ответ. Вот код файла /www/stylishjewel.ru/catalog/controller/module/catalog.php
    Красным цветом выделил строки на которые ругается модуль.
     
    Lasted edited by : 19 май 2017
  18. Dotrox

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

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Какое ж дерьмище однако!
    Замените это:
    PHP:
    $curr_id $products[0]['manufacturer_id'];
        
            
    $tmpid 0;
        
            
    $tmptotal 0;
        
            
    $tmp = array (
            
                
    'manufacturer_name' => $products[0]['manufacturer_name'],
            
                
    'manufacturer_id' => $products[0]['manufacturer_id'],
                
            );
    На это:
    PHP:
    $tmpid 0;     
    $tmptotal 0;
    $tmp = array();
    $curr_product current($products);
    if(!empty(
    $curr_product)){
    $curr_id $curr_product['manufacturer_id'];
    $tmp = array(
                
    'manufacturer_name' => $curr_product['manufacturer_name'],        
                
    'manufacturer_id' => $curr_product['manufacturer_id']
            );
    }      
     
    KuEdA нравится это.
  19. KuEdA

    KuEdA

    Регистрация:
    20 сен 2014
    Сообщения:
    194
    Симпатии:
    36
    Dotrox, спасибо. Но теперь появилась ошибка:
    Notice: Undefined index: manufacturer_name in /var/www/stylishj/data/www/stylishjewel.ru/catalog/controller/module/catalog.php on line 137Notice: Undefined index: manufacturer_id in /var/www/stylishj/data/www/stylishjewel.ru/catalog/controller/module/catalog.php on line 139
    И модуль по-прежнему не выводит товары...
     
  20. Dotrox

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

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Это не из-за ошибок. Он из базы ничего не достаёт. А не достаёт потому, что не находит ничего соответствующего.
    Что этот модуль должен был выводить?
     
    KuEdA нравится это.