15. Сумісність з checkout-модулями
FCR глибоко інтегрується з системою чекауту OpenCart. Це означає що він має взаємодіяти з іншими модулями які теж модифікують чекаут (одно-сторінкові чекаути, кастомні форми, AJAX-перерахунки). Не всі такі модулі однаково добре працюють з FCR.
Стандартний OpenCart Checkout
Зі стандартним багатокроковим чекаутом OpenCart (checkout/checkout) FCR працює без обмежень. Усі функції доступні: умови, націнки, кастомні методи, заглушки.
OnePageCheckout (OPC)
Найпопулярніший одно-сторінковий чекаут для OpenCart від розробника OneStepCheckout. FCR сумісний, але має кілька нюансів.
Що працює добре
- Фільтрація доставки за умовами
- Фільтрація оплати за умовами
- Власні методи доставки і оплати
- Кастомні підсумки з умовами
- Заглушки
Можливі проблеми
OPC при зміні методу оплати може не зробити повного перерахунку підсумків. У результаті націнка/знижка за оплату може не з’явитись одразу або відображатись з затримкою.
Рішення:
- Перевірте налаштування OPC-модуля - чи увімкнено опцію "Reload totals on payment change"
- Якщо не допомагає - оновіть сторінку (F5) після зміни методу оплати
- На етапі замовлення (admin) націнка завжди буде правильна, бо тотали перераховуються остаточно при
order/save
OPC робить тестовий запит до getQuote() з мінімальною адресою (без iso_code_2) для виявлення доступних методів. FCR коректно обробляє цей запит, але якщо у вас встановлений ще один сторонній модуль доставки який не очікує detection request - можуть бути конфлікти.
SmartCheckout
Інший популярний одно-сторінковий чекаут. Сумісність часткова - основні функції працюють, але деякі можуть потребувати додаткових налаштувань.
QuickCheckout (D_QuickCheckout)
Швидкий чекаут від розробника D-Modules. Сумісність експериментальна. Основні функції FCR працюють, але адмінка SmartCheckout/QuickCheckout використовує ionCube-encoded контролери, які FCR не може автоматично визначити для admin-detection.
AJAX чекаути загалом
Будь-який чекаут який змінює структуру DOM після завантаження сторінки (через AJAX, reloadAll, перемальовування форм) може ламати JavaScript-логіку FCR. Симптоми:
- Кастомні методи не з’являються або з’являються кілька раз
- Націнки не оновлюються при зміні методу оплати
- Опції доставки не видно на іноземних адресах
Для таких випадків FCR має систему ajaxComplete handlers яка повторно "вішає" обробники після AJAX-перемальовувань. Якщо у вас проблеми з AJAX-чекаутом - звертайтесь у підтримку, ми можемо додати підтримку конкретного модуля.
Інші модулі що можуть конфліктувати
- Модулі-конкуренти FCR (інші менеджери правил доставки/оплати) - не використовуйте одночасно з FCR. Виберіть один
- Модулі що замінюють
cart/cartабоcheckout/checkout- можуть втручатися в підсумки - Кастомні total-розширення з рекурсивними залежностями - можуть викликати петлі при обчисленні
Якщо ви плануєте складну інтеграцію - тестуйте на копії магазину перед впровадженням на продакшні.