Po aktualizacji rozjechał się wygląd sklepu
Publikacja: · Grzegorz Rapczyński
Aktualizacja PrestaShop przeszła, sklep się otwiera - i wygląda jak surowy tekst na białym tle albo ma poprzesuwane bloki i brakujące elementy. To dwa różne problemy o dwóch różnych przyczynach i warto je od siebie odróżnić, zanim zaczniesz cokolwiek naprawiać.
Dwa objawy, dwie przyczyny
Sklep wygląda jak goły tekst - czarne litery, niebieskie linki, białe tło, zero układu. To znaczy, że arkusze stylów w ogóle się nie wczytały. Problem jest techniczny i zwykle szybki do naprawienia.
Sklep ma style, ale elementy są poprzesuwane, brakuje bloków albo część funkcji nie działa. To znaczy, że szablon nie jest zgodny z nową wersją sklepu. Problem jest poważniejszy i wymaga decyzji, a nie tylko naprawy.
Gdy nie wczytują się style
Cztery przyczyny, w kolejności od najczęstszej:
- Stary cache plików statycznych. Sklep składa style i skrypty w połączone pliki i trzyma je w katalogu tymczasowym. Po aktualizacji część z nich wskazuje na coś, czego już nie ma. Czyszczenie cache w ustawieniach wydajności rozwiązuje większość przypadków.
- Uprawnienia do katalogu, w którym powstają te pliki. Sklep nie może ich zapisać, więc strona zostaje bez stylów. Objaw: cache czyścisz, a nic się nie zmienia.
- Włączony tryb debugowania. W tym trybie sklep nie łączy plików, tylko ładuje je pojedynczo - i wtedy wychodzą błędy, które normalnie są niewidoczne.
- Mieszane połączenie. Sklep działa po szyfrowanym połączeniu, a style próbuje pobrać po zwykłym. Przeglądarka je blokuje. Opisałem ten przypadek osobno przy okazji mixed content i kłódki w pasku adresu.
Gdy szablon nie nadąża za nową wersją
Tu nie ma prostej sztuczki. Szablon to zestaw plików, które odwołują się do konkretnych funkcji i nazw. Nowa wersja sklepu część z nich zmienia - i wszystko, co do nich sięgało, przestaje działać.
Szybki test, który rozstrzyga w minutę: przełącz sklep na szablon domyślny. Jeśli wszystko wygląda poprawnie, winny jest motyw, nie aktualizacja. To zmiana odwracalna jednym kliknięciem i nie rusza żadnych danych.
Dalej masz trzy drogi i żadna nie jest darmowa:
- Aktualizacja szablonu do wersji zgodnej z nową wersją sklepu - jeśli autor ją wydał. Najprostsza droga, o ile szablon jest wciąż rozwijany.
- Poprawienie szablonu ręcznie. Realne przy niewielkich różnicach, kosztowne przy dużych. Wymaga kogoś, kto rozumie oba końce.
- Cofnięcie aktualizacji z kopii zapasowej i zaplanowanie tego na spokojnie. Często najrozsądniejsze, jeśli sklep właśnie sprzedaje.
Jak wrócić do działającego stanu
Kolejność, gdy sklep jest na produkcji i trzeba działać od razu:
- Włącz tryb serwisowy z wyjątkiem na swój adres IP. Klienci zobaczą komunikat o przerwie zamiast rozsypanego sklepu.
- Wyczyść cache. Najtańsza możliwa próba.
- Przełącz na szablon domyślny i sprawdź, czy sklep jest sprawny pod spodem.
- Jeśli tak - zdecyduj między naprawą szablonu a cofnięciem aktualizacji. Sklep może w tym czasie działać na domyślnym motywie: brzydko, ale sprzedaje.
- Jeśli nie - problem jest głębszy niż szablon i wracasz do kopii zapasowej.
Jak zrobić to następnym razem
Aktualizacja sklepu, który sprzedaje, nie powinna być pierwszym uruchomieniem nowej wersji. Kolejność, która oszczędza takich wieczorów:
- Kopia sklepu na osobnym adresie, z zablokowanym indeksowaniem. Tam robisz aktualizację pierwszy raz.
- Lista modułów i ich wersji przed aktualizacją - wiadomo wtedy, co sprawdzić po.
- Świeża kopia zapasowa bezpośrednio przed startem, nie sprzed tygodnia.
- Termin poza szczytem sprzedaży. Nigdy w piątek po południu i nigdy w listopadzie.
Więcej o samym procesie napisałem w tekście o aktualizacji i bezpieczeństwie sklepu.
Najczęstsze pytania
Czy mogę cofnąć samą aktualizację, bez cofania danych?
Nie w prosty sposób. Aktualizacja zmienia strukturę bazy, więc powrót do starych plików bez powrotu do starej bazy zwykle kończy się kolejnym błędem. Cofa się całość albo nic.
Sklep na domyślnym szablonie działa. Mogę tak zostawić na kilka dni?
Możesz i czasem to najrozsądniejsze wyjście. Sklep wygląda gorzej, ale przyjmuje zamówienia, a Ty masz czas na poprawienie motywu bez presji.
Czy warto w ogóle aktualizować, skoro to ryzyko?
Tak, bo alternatywą jest sklep na wersji bez poprawek bezpieczeństwa i na wersji PHP, którą hosting kiedyś wyłączy. Ryzyko aktualizacji jest jednorazowe i możliwe do przygotowania, ryzyko zaniechania rośnie samo.
Aktualizacja poszła nie tak
Jeśli sklep po aktualizacji wygląda źle i nie wiesz, czy naprawiać szablon, czy się wycofać, napisz - ocenię skalę i powiem, co wyjdzie taniej. Formularz kontaktowy, 881 932 088 lub kontakt@grvision.pl.