Бюджет: 5000 UAH Термін: 30 днів
Оновлення jQuery на такій класичній версії, як OpenCart 1.5.5.1.2, — це не просто заміна однієї стрічки, а повноцінний «стрибок через епохи». У версії 1.5 штатно використовується jQuery 1.7.1, і перехід на 3.x неминуче викличе конфлікти зі старими методами (наприклад, .live() або .toggle()), які сучасні бібліотеки не підтримують.
1. Підключення jQuery 3.x і Migrate
Для безпечного переходу ми будемо використовувати jQuery Migrate, який поверне підтримку застарілих API і виведе в консоль браузера попередження про те, який саме скрипт на сайті потребує правок.
Вам необхідно відредагувати файл: catalog/view/theme/[ваша_тема]/template/common/header.tpl
Важливо: Стару стрічку підключення (зазвичай це jquery-1.7.1.min.js) потрібно повністю видалити. Переконайтеся, що новий блок стоїть вище всіх інших JS-скриптів модулів.
2. План тестування (функціональний чеклист)
Після оновлення jQuery 3.x основні «поломки» зазвичай трапляються в анімаціях і динамічних підгрузках. Перевірте наступні вузли:
Кошик: Додавання товару в кошик (ajax), оновлення кількості і видалення. В OC 1.5 часто використовується застарілий метод .live(), який Migrate має перехопити.
Оформлення замовлення: Робота кроків оформлення (Checkout). Якщо якийсь крок не відкривається — в консолі буде помилка Uncaught TypeError.
Слайдери і банери: Старі версії Nivo Slider або Carousel часто ламаються при оновленні jQuery.
Адмін-панель: Якщо ви оновлюєте jQuery і в адмінці, перевірте фільтрацію товарів і роботу автодоповнення (Autocomplete) в картці товару.
Вкладки (Tabs): Переключення вкладок «Опис», «Характеристики», «Відгуки» на сторінці товару.
Аналіз коду (безкоштовно)
Я можу безкоштовно виконати аналіз вашого бекенду, щоб виявити конкретні рядки коду, які викличуть фатальні помилки після оновлення. Для цього мені знадобиться доступ до ваших файлів теми.
Хотіли б ви, щоб я підготував для вас кастомний JS-скрипт, який в консолі браузера буде підсвічувати конкретні файли і номери рядків вашого шаблону, що використовують застарілий синтаксис jQuery?