Відповіді на найчастіші проблеми

При установці модулів або модифікаторів, можна зіткнутися з помилками. Ми зібрали в даному розділі відповіді на питання, що часто ставляться, вирішення найбільш загальних і часто зустрічаються проблем.

  • Завантажте та встановіть розширення 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;
  • Після встановлення цього додатка потрібно перейти до розділу Меню -> Розширення -> Модифікатори та натиснути кнопку Оновити модифікатори;
  • Тепер можна інсталювати інші модулі.