Здравствуйте уважаемые форумчане. Очень нужна Ваша помощь. После переезда магазина 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 До этого также все работало хорошо. Заранее огромное спасибо!
У вас не правильные права на папку vqmod/vqcache. А может и vqmod не активный. И проблемы другие из-за vqmod-а. Лучше не ипользуйте его вобще на рабочем магазине.
Spy, спасибо Вам за ответ. А какие правильные, подскажите, если можно. Посмотрел сейчас права и на vqmod и на vqcache 755. Поставил 777, ничего не изменилось. :-( Кэш почистил... Если vqmod неактивный, то как его активировать? На старом хостинге вроде ничего не делал для этого. И Вы говорите не использовать, его что, вообще, удалить нужно?
если 1-2 модуля то лучше руками перенести код, а vqmod не использовать. А если десяток модулей которые работают через него, тогда активните/переустановите. PS: vqmod - больше для тестирования модулей и на продакшене его неиспользуют))
Переустановил vqmod. Перед этим вернул на место оригинальные файлы index.php, в корне и в админке. Отредактировал файл "vqmod\pathReplaces.php" под свою Админскую директорию. Дал права на запись 766 (777) на файлы "index.php" в корне и в АДМИНКЕ. Заменил имя админской директории на свое в файле "vqmod\install\index.php". Проинсталлировал vqmod http://stylishjewel.ru/vqmod/install. Установил права 644 на файлы "index.php" в корне и в АДМИНКЕ... И ничего не изменилось. Ни надписи не пропали, ни модули не заработали... :-( В общем, все осталось, как и было. Куда дальше копать, подскажите, пожалуйста?
Да, vqmod работает. Сейчас удалил все файлы из vqcache. Затем зашел в папку, они заново создались. Пробовал переустановить модуль рандомной перелинковки, но ничего не получилось, ссылки не выводятся и опять таже самая ошибка. Может быть с путями что-то перепуталось? Только где это смотреть и править?
Тогда сейчас у вас в папке vqcache должны быть такие же и столько же файлов как в ней было до переноса, тоесть в вашем бэкапе. Если так и есть и всеравно ругается на то тогда сравните этот файл с бекапа и с новосгенерированым
Сравнил. В бэкапе участок кода: 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#. М.б. из-за этого модуль не может найти файл в этой директории?
теперь же хостинг не stylishjewel.ru значит и путь к этому файлу не http://stylishjewel.ru/js/text.txt PS: хотя я не понимаю зачем пхп - файл txt, что лежит в js??))) Может у вас лицензии на модуля? Какие модули вы ставили? Что за ошибли в логах админки?
Я ставил модуль рандомной перелинковки. Но через блок, он у меня не выводился на страницы и тогда я добавил код в 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
а ну так у вас https, с этого нужно и было начинать. У ОС не очень с https)). Замените строчку $data = file("http://stylishjewel.ru/js/text.txt"); на $data = "просто текст, тест"; должны ошибки пропасть PS: а лучше отключите эти модули , ошибки пропадут, тогда влючайте по одному и отлавливайте. Не помешает посмотреть, что за код в строках на который ругается и var_dump - в помощь))
Спасибо за совет. Ошибка то исчезла, но не в ней же дело. Ссылки так и не выводятся из текстового файла... Вдобавок сейчас в админку зашел, а там тоже не все ладно оказывается. :-( Вот такая мессага сверху появилась: 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. Вообще, жесть какая-то с этим переездом! И где концы всего этого искать я х.з. Ужос!!!
С модулем рандомной перелинковки удалось справиться. Теперь все работает. Остался каталог товаров. По прежнему ничего не выводится во вкладке и та же самая ошибка: 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 скрипте, он должен смещаться по элементам массива, но он их не может найти. Уважаемые профессионалы, помогите, пожалуйста, исправить эту ошибку.
Dotrox, спасибо Вам за ответ. Вот код файла /www/stylishjewel.ru/catalog/controller/module/catalog.php Красным цветом выделил строки на которые ругается модуль.
Какое ж дерьмище однако! Замените это: 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'] );}
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 И модуль по-прежнему не выводит товары...
Это не из-за ошибок. Он из базы ничего не достаёт. А не достаёт потому, что не находит ничего соответствующего. Что этот модуль должен был выводить?