16. Розв’язання проблем (FAQ)
Тут зібрані найчастіші проблеми і способи їх вирішення. Якщо ваша ситуація не знайшлася - звертайтесь у підтримку.
Метод доставки/оплати не показується у чекауті
Це найчастіша проблема. Перевіряйте по черзі:
- Чи увімкнено модуль FCR. Перейдіть в адмінку - перемикач "Статус" вгорі сторінки FCR має бути зеленим
- Чи увімкнено сам метод доставки/оплати в OpenCart. Якщо метод вимкнений у Extensions → Shipping/Payment - FCR його просто не побачить
- Чи активна ліцензія FCR. Якщо ліцензія вийшла з grace period - FCR не застосовує свою логіку (методи показуються "як є")
- Чи виконуються умови методу. Увімкніть дебаг умов і перевірте лог. Шукайте назву методу і дивіться які умови провалились
- Чи правильно введені значення в умовах. Часта помилка - "1000" замість "1000.00" (для дробових), або не та країна, не та категорія
Націнка за оплату не застосовується
- Чи увімкнена націнка (перемикач "Увімкнено" в панелі націнки)
- Чи правильний sort_order. Якщо база розрахунку - "Повна сума", sort_order має бути >= 8 (після всіх інших підсумків)
- Чи виконуються умови націнки. Увімкніть дебаг і подивіться чи з’являється повідомлення "Націнка #N застосовано" або "пропущено"
- Якщо ви на OPC або SmartCheckout - спробуйте оновити сторінку після зміни методу оплати. Якщо допомагає - проблема в перерахунку тоталів стороннім чекаут-модулем (див. розділ 15)
- Перевірте значення - 0 не дасть жодного ефекту. Для націнки використовуйте додатнє число (1, 50), для знижки - від’ємне (-1, -50)
Умова не спрацьовує як очікую
- Перевірте лог дебагу - там видно фактичне значення яке FCR обчислив (
actual: ...) і порівняйте з тим що ви очікували - Перевірте оператор.
=(точно дорівнює) і>=(більше або дорівнює) дають різні результати на граничних значеннях - Strict mode для умов на товари: вимкнено = "хоча б один товар", увімкнено = "усі товари"
- Адресні умови (country, city, postcode) перевіряють адресу доставки. Якщо клієнт ще не ввів адресу - умова поверне false
- Умови на залогінених (orders, customer_total_spent) повертають 0 для гостей
Логічний вираз не парситься
Вираз перевіряється прямо під час введення: помилка зʼявляється під полем, з описом і позицією символу. Якщо підказка є, орієнтуйтесь на неї. Загальні правила:
- Перевірте чи всі дужки збалансовані (кількість
(= кількість)) - Використовуйте лише
AND,OR,NOT(або&&,||,!) - Кожне посилання на умову має формат
$Nде N - число (без пробілів між$і числом) - Номер умови має існувати: якщо умов три, то доступні лише
$0,$1,$2
Не вдається зберегти налаштування методу
Якщо після натискання "Зберегти" зʼявляється червоне повідомлення і вікно не закривається, модуль знайшов налаштування, яке не працюватиме на чекауті. Повідомлення завжди називає конкретну причину, а проблемне поле підсвічується і прокручується у видиму частину екрана.
Найчастіші причини:
- Умова без значень - обрано тип, але не вибрано жодного значення. Така умова вважалася б виконаною завжди;
- Помилка в логічному виразі - див. попереднє питання;
- Порожня колонка "До" у таблиці вартості - раніше такий рядок мовчки зникав при збереженні;
- Текст у числовому полі - наприклад "500 грн" замість "500" у порозі безкоштовної доставки;
- Недопустимий символ у формулі - формула розуміє лише
D,W,Q,S,T(великими літерами), відсоток, дужки та арифметику; - Обрано розрахунок за таблицею, але жодного рядка не заповнено;
- Увімкнено власну назву або заглушку, але відповідне поле порожнє.
Назву достатньо заповнити однією мовою. Для решти мов модуль підставить наявний переклад, і збереженню це не заважає.
Помилки після оновлення модуля
- Очистіть кеш OpenCart - кнопки SCSS і Theme у правому верхньому куті адмінки
- Refresh modifications - Extensions → Modifications → Refresh
- Очистіть кеш браузера (Ctrl+Shift+R) - старий JavaScript може кешуватись
- Перевірте логи OpenCart і FCR на нові помилки
- Якщо нічого не допомогло - зробіть експорт налаштувань, видаліть і встановіть модуль наново, потім імпортуйте
Як скинути всі налаштування
Перейдіть на вкладку "Додатково" - блок "Експорт / Імпорт" - кнопка "Скинути всі налаштування". Перед скиданням обов’язково зробіть експорт - відновити неможливо.
Як видалити модуль повністю
- Extensions → Extensions → Modules → знайти FlexiCheckoutRules → червона кнопка Uninstall
- Extensions → Modifications → знайти запис FlexiCheckoutRules → червона кнопка Delete
- Extensions → Modifications → кнопка Refresh вгорі
- Очистити кеш (SCSS, Theme)
- Файли модуля видаляться автоматично через OCMOD-механізм
Як отримати підтримку
Якщо нічого з цього розділу не допомогло:
- Зробіть експорт налаштувань FCR
- Увімкніть дебаг розробника і відтворіть проблему
- Збережіть лог-файли (
fcr_conditions.log,fcr_debug.log) - Зробіть скріншоти того що ви бачите
- Напишіть на opencartforum або в особисту підтримку
- Опишіть очікувану і фактичну поведінку, додайте всі файли
Найгірша заявка: "Не працює, допоможіть". Найкраща заявка містить: версію OC, версію FCR, опис кроків відтворення, лог дебагу, експорт налаштувань і скріншоти.