Бюджет: 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?