Исправление 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 ----------

// Страница на которой произошла эта ошибка

REQUEST URI : /opencart/1564/index.php?route=product/search&search=apples
MOD DETAILS:
   // vQmod файл который вызвал ошибку
   modFile   : /var/www/html/opencart/1564/vqmod/xml/search_mr.xml
   // идентификатор, название модификации
   id        : Better Search
   // версия модификации
   version   : 1.0.0
   //  версия vQmod заданная в vQmod файле
   vqmver    : 1.0.9
   //  автор модификации
   author    : sv2109@gmail.com
 
// файл в котором произошла ошибка
File Name    : catalog/controller/product/search.php(0)
// Информация о самой ошибке, чаще всего это "SEARCH NOT FOUND"
VQModObject::applyMod - SEARCH NOT FOUND (ABORTING MOD): $product_total =  $this->model_catalog_product->getTotalProducts($data);

----------------------------------------------------------------------

Это значит, что когда пользователь зашел по адресу "/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 

Если ни один из выше описанных советов вам не помог - напишите о своей проблеме в коментариях. 

Комментарии

<p>Добрый день! Версия магазина: opencart 1.5.4 Изменения не вносились. Сайт локальный на OpenServer Начал изучать OpenCart и PHP. Выполнять разные тестовые примеры, создавать подобие сайтов и т.д. Но сталкнулся с не понятной проблемой: Когда создаю новый Альбом в модуле Галерея, заполняю все поля, прикрепляю фотки, нажимю сохранить, страница начинает перезагружаться и замирает (вот что в адресной строке: devhome.lc/admin/index.php?route=catalog/photo/insert&amp;token=23120a1d8e1c92ab9d666eefe2801635).</p><p>&nbsp;</p><p>Если проверить галерею, то видно, что ничего не сохранилось и не создалось. Причем раньше всё работало хорошо. Установил галерею, создал 4 альбома с фотками и перешел к другим модулям для изучения, а сейчас решил добавить еще картинок, но не получатеся. Заметил, что в логе ошибок появляются записи такого вида: <code> 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'<br>Error No: 1054<br>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 </code></p><p>&nbsp;</p><p>Проверял файлы указанные в ошибках, вроед все также, как и в ранее сохраненных. Я перед тем как поменять что-нибудь, создаю копию, чтобы можно было вернуть если что-то не так. Подскажите, пожалуйста, в чем может быть проблем? Еще заметил такую вещь: В phpmyadmin -- база данных -- выбираю "Таблица: photo" и вижу все альбомы, которые я пытался ранее создать. Если перейти в таблицу "photo_description" то там только старые альбомы, но если создать таблицу с ID не видимого альбома, то в админке появляется нужный альбом, далее вношу изменения, нажимаю сохранить и альбом появляется в галереи. Не подскажите, как можно восстановить связь с таблицей "photo_description" ?</p>

<p>Спасибо Вам огромное. Прочитав статью, исправил кучу ошибок в логах. Но некоторые остались, а точнее 4:</p><p>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):</p><ul><li><a href="&lt;?php echo $contact; ?&gt;"><!--?php echo $text_contact; ?--></a></li><li>REQUEST URI : /index.php?route=account/login 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):</li><li><a href="&lt;?php echo $contact; ?&gt;"><!--?php echo $text_contact; ?--></a></li><li>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):</li><li><a href="&lt;?php echo $contact; ?&gt;"><!--?php echo $text_contact; ?--></a></li><li>REQUEST URI : /index.php?route=account/login 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):</li><li><a href="&lt;?php echo $contact; ?&gt;"><!--?php echo $text_contact; ?--></a></li><li>Подскажите, пожалуйста, что ему не нравится? Заранее благодарен.</li></ul>

Добавить комментарий

CAPTCHA
Защита от спама
Target Image