Budżet: 5000 UAH Termin: 30 dni
Aktualizacja jQuery do tak klasycznej wersji, jak OpenCart 1.5.5.1.2, to nie tylko zamiana jednej linii, ale pełnoprawny „skok przez epoki”. W wersji 1.5 standardowo używana jest jQuery 1.7.1, a przejście na 3.x nieuchronnie spowoduje konflikty ze starymi metodami (np. .live() lub .toggle()), które nowoczesne biblioteki nie wspierają.
1. Podłączenie jQuery 3.x i Migrate
Aby bezpiecznie przejść, będziemy używać jQuery Migrate, który przywróci wsparcie dla przestarzałych API i wyświetli w konsoli przeglądarki ostrzeżenia o tym, który dokładnie skrypt na stronie wymaga poprawek.
Musisz edytować plik: catalog/view/theme/[twoja_tema]/template/common/header.tpl
Ważne: Starą linię podłączenia (zwykle jest to jquery-1.7.1.min.js) należy całkowicie usunąć. Upewnij się, że nowy blok znajduje się powyżej wszystkich innych skryptów JS modułów.
2. Plan testowania (funkcjonalna lista kontrolna)
Po aktualizacji jQuery 3.x główne „usterki” zazwyczaj występują w animacjach i dynamicznych ładowaniach. Sprawdź następujące elementy:
Koszyk: Dodawanie produktu do koszyka (ajax), aktualizacja ilości i usuwanie. W OC 1.5 często używana jest przestarzała metoda .live(), którą Migrate powinien przechwycić.
Zamówienie: Działanie kroków zamówienia (Checkout). Jeśli jakiś krok się nie otwiera — w konsoli pojawi się błąd Uncaught TypeError.
Suwaki i banery: Stare wersje Nivo Slider lub Carousel często psują się przy aktualizacji jQuery.
Panel administracyjny: Jeśli aktualizujesz jQuery również w panelu administracyjnym, sprawdź filtrowanie produktów i działanie autouzupełniania (Autocomplete) w karcie produktu.
Zakładki (Tabs): Przełączanie zakładek „Opis”, „Cechy”, „Opinie” na stronie produktu.
Analiza kodu (bezpłatnie)
Mogę bezpłatnie przeprowadzić analizę twojego backendu, aby zidentyfikować konkretne linie kodu, które spowodują krytyczne błędy po aktualizacji. W tym celu potrzebuję dostępu do twoich plików motywu.
Chcesz, żebym przygotował dla ciebie niestandardowy skrypt JS, który w konsoli przeglądarki podświetli konkretne pliki i numery linii twojego szablonu, używające przestarzałej składni jQuery?