Відповіді на найчастіші проблеми
При установці модулів або модифікаторів, можна зіткнутися з помилками. Ми зібрали в даному розділі відповіді на питання, що часто ставляться, вирішення найбільш загальних і часто зустрічаються проблем.
- Завантажте та встановіть розширення Localcopy OCMOD;
- Після встановлення цього додатка потрібно перейти до розділу Меню -> Розширення -> Модифікатори та натиснути кнопку Оновити модифікатори;
- Тепер можна інсталювати інші модулі.
Можливо кілька проблем та варіантів їх вирішення:
- Не скинутий кеш шаблону – потрібно оновити кеш;
- Ви раніше редагували файли шаблону через адмінку в розділі Меню -> Дизайн -> Редактор шаблону, тоді цей файл зберігся в базі даних і на нього вже не впливають ocmod-модифікатори, це проблема Opencart 3. Вам потрібно встановити фікс та оновити модифікації в адмінці;
- Ваш шаблон влаштований на TPL-файлах (*.tpl), у той час, коли в Opencart 3 шаблони мають бути у форматі TWIG (*.twig). Проблема в тому, що ocmod модифікатори не впливають на TPL-файли - всі зміни потрібно вносити в ці файли вручну.
В офіційних збірках Opencart 3.0.3.5 - 3.0.3.6 є баг - там модифікатори не працюють з twig-файлами через помилку в стандартному модифікаторі /system/modification.xml - друга операція цього модифікатора не спрацьовує.
Проблема є на офіційному GitHub та запропоновано рішення на GitHub.
Фікс-модифікатор за цими рекомендаціями, він замінить файл /system/modification.xml на вірний.
Рішення проблеми:
- Зробіть резервну копію файлу /system/modification.xml;
- Завантажте фікс-модифікатор та встановіть його у себе в адмінці;
- Оновіть кеш модифікаторів;
- Обновіть кеш twig-шаблонів.
Якщо модуль не реагує на ваші дії, будь-то натискання на кнопку або завантаження карти або вибір дати або на будь-яку іншу дію, яка є у функціоналі модуля, швидше за все стався конфлікт у JS-скриптах.
Натисніть F12 на проблемній сторінці в браузері - відкриється панель вебмайстра, де на вкладці Console можна побачити конфлікти в скриптах, якщо вони є. Ця дія доступна в браузерах Chrome, Opera, Firefox.
- Завантажте та встановіть розширення Localcopy OCMOD;
- Після встановлення цього додатка потрібно перейти до розділу Меню -> Розширення -> Модифікатори та натиснути кнопку Оновити модифікатори;
- Тепер можна інсталювати інші модулі.
Помилка 500 після встановлення модуля означає, що трапилася якась критична помилка у php.
Для визначення проблеми можна:
- Відкрити файл logs/error.log на вашому сервері. Наприкінці цього файлу будуть усі останні критичні помилки;
- Відкрити в адмінці Меню -> Інструменти -> Логи помилок - тут відображаються помилки, але не завжди;
Включить вывод ошибок php на экран - добавить следующий код в конец файла .htaccess:
php_value display_errors 1 php_value display_startup_errors 1 php_value error_reporting E_ALL
Тепер замість помилки 500 має відображатись код помилки, який вкаже на проблему.
Можливі причини цієї проблеми:
- Якщо ви раніше не завантажували модулі в архіві через адмінку - вам потрібно встановити безкоштовну модифікацію Localcopy OCMOD згідно з інструкцією та після цього перевстановити модуль;
- Можливо, у модулі немає власної сторінки налаштувань, і відповідно його не буде в списку модулів.
Існують два способи вирішення цієї проблеми:
1. Якщо під час встановлення модуля з адмінки вилітає ця помилка - вам потрібно встановити Localcopy OCMOD:
Вона встановлюється без проблем через той самий інсталятор додатків, тільки після встановлення не забудьте оновити модифікації і потім можете приступати до встановлення будь-яких модулів на Opencart 2
2. Також вирішити цю помилку можна інакше: прописати доступи до FTP в адмінці Меню -> Система -> Налаштування -> Магазин -> вкладка FTP.
Якщо ви бачите повідомлення «Доступ заборонено! У вас немає прав на доступ до цієї сторінки. Якщо вона вам потрібна, зверніться до адміністратора» - потрібно надати права адміністраторам на керування модулем або сторінкою.
Рішення: в адмінці Opencart 2 переходимо в Меню -> Система -> Користувачі -> Групи користувачів, вибираємо групи користувачів, які повинні мати доступ до цього модулю, і тут натискаємо «Виділити все» нижче за обидва блоки, потім «Зберегти».
Ще однією причиною появи цієї помилки може бути неправильне встановлення модуля - файли не завантажилися на свої місця. Завантажте файли модуля вручну на сервер або встановіть фікс Localcopy OCMOD та перевстановіть модуль.
В адмінці Opencart 2 переходимо в Меню -> Система -> Користувачі -> Групи користувачів і тут натискаємо «Виділити все» нижче за обидва блоки, потім «Зберегти»
Якщо модуль - це один XML файл, його розширення має бути .ocmod.xml
Якщо модуль - це ocmod.zip архів, його не потрібно розпаковувати, а встановлювати як є. У такому архіві обов'язково має бути папка upload (може бути порожньою), а також можуть бути модифікаційні файли: install.xml, install.php, install.sql. Ніяких інших файлів докорінно архіву не повинно бути.
Ця помилка означає, що в архіві, що завантажується, відсутня папка upload. Навіть якщо у модуля немає файлів, крім модифікацій - ця папка має бути присутня в архіві модуля .ocmod.zip, тоді вона повинна залишатися порожньою.
Ця помилка означає, що ви намагаєтеся встановити модифікатор, який вже встановлено або, можливо, у якогось вашого модуля такий самий ID.
Для вирішення цієї помилки вам потрібно перед встановленням видалити стару версію модифікації в розділі Меню -> Розширення -> Модифікатори.
Якщо такого модуля у вас немає, але збігається ID, тоді потрібно змінити значення параметра <code> у встановлюваному модифікаторі XML, зробити цей параметр унікальним, дописавши кілька символів.
Ця помилка означає, що ви намагаєтеся встановити надто об'ємний xml-модифікатор.
Кількість символів у файлі ocmod.xml не повинна перевищувати 65535.
Для вирішення помилки потрібно розбити xml-файл модифікації на кілька частин. Головне - не забути задавати кожній унікальній значенні <code>, можна додавати до поточного значення цифри 1,2,3... як ідентифікатори частини.
Ще одним способом рішення є зміни типу поля, де зберігаються модифікації, в таблиці oc_modification бази даних.
Потрібно виконати наступний SQL-запит:
ALTER TABLE oc_modification CHANGE xml MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
- Схоже, ви встановили на Opencart 2.3.x.x модуль більш старих версій цієї системи, тобто не сумісний модуль. Потрібно видалити всі файли цього модуля, інакше помилка не зникне;
- Також ця помилка може виникати, якщо скрипт звертається до неіснуючої таблиці у базі даних. Тобто таблиця модуля не створилася при встановленні. Читайте інструкцію з установки та перевстановіть модуль.
Є кілька причин, чому не змінюється щось на сайті. В основному це відбувається в OpenCart 3-ї версії, але може і у 2-й теж.
- Ви не оновили кеш модифікатора. Його потрібно оновлювати після редагування файлу, якщо він проходить через модифікатор. Про модифікаторів читайте у документації та на форумі.
- Не оновлено або не вимкнено кеш TWIG. Так, за замовчуванням він увімкнений, але при внесенні змін він заважає. Його потрібно або оновлювати або вимкнути.
- Були зміни через Редактор шаблону. Ось одні редагують через адмінку, інші через FTP. Скрізь написано, що краще редагувати тільки через FTP, але деяким все ж таки вдається все зламати. Тому перед тим, як редагувати через FTP, необхідно видалити всі зміни в Меню -> Дизайн -> Редактор шаблону.
- Редагуєте не ті файли. Та й таке буває. То редагують інший сайт, то інший шаблон, то забувають оновити кеш браузера натисканням CTRL+F5, то намагаються редагувати щось у кеші модифікатора, тобто в директорії Storage і тд. Уважно вивчайте структуру. Про це є інформація у документації.
- Хостин із затримкою. Так бувають хостери, які затримують зміни у файлах. Тобто редагуєш, а зміни застосовуються за хвилину. За хвилину можна весь сайт зламати, а винний виявляється хостер.
- Кривий шаблон або шаблон із кешем. Деякі шаблони настільки перекешовані, що починаєш редагувати, а змін немає. Виною кеш шаблону. Зазвичай це поширене у багатофункціональних шаблонах, тому уважніше вивчайте функціонал.
- Завантажте та встановіть розширення Localcopy OCMOD;
- Після встановлення цього додатка потрібно перейти до розділу Меню -> Розширення -> Модифікатори та натиснути кнопку Оновити модифікатори;
- Тепер можна інсталювати інші модулі.