СтатьяИсправление vQmod ошибок
В предыдущих статьях я уже писал что такое vQmod, как установить vQmod и как создать свой vQmod файл.
В этой статье вы узнаете как исправить ошибки и конфликты vQmod.
Как я уже упоминал ранее, vQmod является очень плохим инструментов для разработки из-за того, что он является причиной множества конфликтов. Если у вас есть всего 2 vQmod файла, которые изменяют один и тот же кусок кода в одном и том же файле, то с очень большой долей вероятности вы получите конфликт и минимум один из этих vQmod файлов у вас работать не будет, а возможно и весь OpenCart не загрузится.
Что же делать в такой ситуации:
1. Зайти в каталог vqmod/logs, там должен быть log файл с информацией об ошибке, файл будет называться как-то так: "5_Fri.log"
В этом файле будет примерно такой текст:
// Дата ошибки
---------- Date: 2014-10-17 17:34:25 ~ IP : ::1 ----------
// Страница на которой произошла эта ошибка
----------------------------------------------------------------------
Это значит, что когда пользователь зашел по адресу "/opencart/1564/index.php?route=product/search&search=apples" то vqmod файл "vqmod/xml/search_mr.xml" не смог в файле "catalog/controller/product/search.php" найти нужный для изменения код "$product_total = $this->model_catalog_product->getTotalProducts($data);"
Как я уже упоминал раньше, код для замены должен быть точно таким, как оригинальном в файле, никаких лишних пробелов, табуляций итд.
Теперь для поиска причины ошибки нам нужно открыть файл "catalog/controller/product/search.php" и найти там код, похожий на "$product_total = $this->model_catalog_product->getTotalProducts($data);" Часто он незначительно отличается. После того, как мы нашли этот код, нам нужно скопировать его и вставить в проблемный vQmod файл "vqmod/xml/search_mr.xml", заменив им старый нерабочий код. После этого нужно очистить vQmod кеш (удалить файл "catalog/controller/product/search.php" из папки "vqmod/vqcache") и запустить сайт. Если вы все сделали правильно то ошибка должна исчезнуть.
2. Если в файле "catalog/controller/product/search.php" все нормально, а vqmod все равно выдает ошибки. Тогда вам нужно открыть кешированную версию файла (в папке vqmod/vqcache) и посмотреть там, возможно этот файл был изменен другим vQmod файлом. Если этого так то вам нужно изучить измененный файл и изменить проблемный vQmod файл согласно этим изменениям. Тут универсального совета нету, нужно изучать код.
3. Если в папке vqmod/logs пусто. Попробуйте изменить права доступа к этой папке, дать права на запись.
4. Если все еще ничего не работает? Убедитесь, что vqmod на вашем сайте установлен и работает. Можете его переустановить, запустив файл адрес_сайта/vqmod/install
Если ни один из выше описанных советов вам не помог - напишите о своей проблеме в коментариях.
- sv2109
- пт, 10/17/2014 - 21:06
Комментарии
Добрый день! Версия магазина: opencart 1.5.4 Изменения не вносились. Сайт локальный на OpenServer Начал изучать OpenCart и PHP. Выполнять разные тестовые примеры, создавать подобие сайтов и т.д. Но сталкнулся с не понятной проблемой: Когда создаю новый Альбом в модуле Галерея, заполняю все поля, прикрепляю фотки, нажимю сохранить, страница начинает перезагружаться и замирает (вот что в адресной строке: devhome.lc/admin/index.php?route=catalog/photo/insert&token=23120a1d8e1c92ab9d666eefe2801635).
Если проверить галерею, то видно, что ничего не сохранилось и не создалось. Причем раньше всё работало хорошо. Установил галерею, создал 4 альбома с фотками и перешел к другим модулям для изучения, а сейчас решил добавить еще картинок, но не получатеся. Заметил, что в логе ошибок появляются записи такого вида:
2015-01-15 23:32:02 - PHP Notice: Undefined variable: entry_quantity in /home/www/devhome.lc/docs/admin/view/template/catalog/photo_form.tpl on line 704 2015-01-15 23:32:02 - PHP Notice: Undefined variable: entry_price in /home/www/devhome.lc/docs/admin/view/template/catalog/photo_form.tpl on line 706 2015-01-15 23:32:02 - PHP Notice: Undefined variable: discount_row in /home/www/devhome.lc/docs/admin/view/template/catalog/photo_form.tpl on line 783 2015-01-15 23:32:02 - PHP Notice: Undefined variable: special_row in /home/www/devhome.lc/docs/admin/view/template/catalog/photo_form.tpl on line 810 2015-01-15 23:32:26 - PHP Notice: Undefined index: link in /home/www/devhome.lc/docs/admin/model/catalog/photo.php on line 52 2015-01-15 23:32:26 - PHP Notice: Error: Unknown column 'link' in 'field list'
Error No: 1054
INSERT INTO photo_description SET photo_id = '135', language_id = '1', link = '', meta_keyword = '', meta_description = '', description = '' in /home/www/devhome.lc/docs/system/database/mysql.php on line 49 2015-01-15 23:34:02 - PHP Notice: Undefined variable: entry_quantity in /home/www/devhome.lc/docs/admin/view/template/catalog/photo_form.tpl on line 704 2015-01-15 23:34:02 - PHP Notice: Undefined variable: entry_price in /home/www/devhome.lc/docs/admin/view/template/catalog/photo_form.tpl on line 706 2015-01-15 23:34:02 - PHP Notice: Undefined variable: discount_row in /home/www/devhome.lc/docs/admin/view/template/catalog/photo_form.tpl on line 783 2015-01-15 23:34:02 - PHP Notice: Undefined variable: special_row in /home/www/devhome.lc/docs/admin/view/template/catalog/photo_form.tpl on line 810
Проверял файлы указанные в ошибках, вроед все также, как и в ранее сохраненных. Я перед тем как поменять что-нибудь, создаю копию, чтобы можно было вернуть если что-то не так. Подскажите, пожалуйста, в чем может быть проблем? Еще заметил такую вещь: В phpmyadmin -- база данных -- выбираю "Таблица: photo" и вижу все альбомы, которые я пытался ранее создать. Если перейти в таблицу "photo_description" то там только старые альбомы, но если создать таблицу с ID не видимого альбома, то в админке появляется нужный альбом, далее вношу изменения, нажимаю сохранить и альбом появляется в галереи. Не подскажите, как можно восстановить связь с таблицей "photo_description" ?
Спасибо Вам огромное. Прочитав статью, исправил кучу ошибок в логах. Но некоторые остались, а точнее 4:
REQUEST URI : / MOD DETAILS: modFile : D:\zOther\!\OpenServer\domains\old\www\vqmod/xml/faq.xml id : FAQ for OpenCart 1.5.1.x version : 1.0.0 vqmver : 1.2.3 author : Fido-X SEARCH NOT FOUND (ABORTING MOD):
Добавить комментарий