Problem jest dość stary mamy przecież w tej chwili już Joomla 3.8.11, trafiła mi się jednak do aktualizacji strona klienta na Joomla 3.5.1 i właśnie w jej trakcie pojawił się w zapleczu błąd Error decoding JSON data: Control character error, possibly incorrectly encoded - samo zaplecze działało, niestety szablon już nie.
1. Strona którą aktualizowałem była na Joomla 3.5.1 - czekała mnie więc aktualizacja dwuetapowa - najpierw do Joomla 3.6.5 a następnie do Joomla 3.8.11 czyli najnowszej aktualnie wersji.
2. Niestety aktualizacja mimo że udana to pojawił się w błąd
w zapleczu: Error decoding JSON data: Control character error, possibly incorrectly encoded
zamiast szablonu pojawił się komunikat: Error displaying the error page: Error decoding JSON data: Control character error, possibly incorrectly encoded: Error decoding JSON data: Control character error, possibly incorrectly encoded
Pierwsze moje działania polegały na przywróceniu najwyższej wersji Joomla które pozwalała na funkcjonowanie strony www Puławy na Joomla - okazało się że jest to Joomla 3.6.2 - nadpisałem po prostu pliki Joomla tej werji przez FTP
Wykonując instalacje najpierw zrobiłem kopię strony www a następnie wykonałem aktualizacje komponentów a także szablonu którego aktualizacja nie pojawiała się na liście komponentów do aktualizacji. Nie zaniedbałem więc chyba niczego.
Mając działającą wersję strony www Lublin na Joomla 3.6.2 i zaktualizowane wszystkie szablony wykonałem kolejną kopię i zarchiwizowałem ją tak jak wcześniejsze. Akeeba Backup którego używam domyślnie pozostawia w zapleczu strony tylko 3 ostanie kopie.
OK tym razem spróbowałem aktualizacji z Joomla 3.6.2. Strona do aktualizacji jest na szablonie Photon od RocketTheme który używa frameworka Gantry 5 i rozwiązanie dotyczy tylko tego szablonu. Szukając jednak rozwiązania na różnych forach znalazłem je dopiero na forum RockeTheme a problem nie dotyczy tylko tego szablonu i nie tylko frameworka Gantry 5.
3. Aktualizacja do Joomla 3.6.5 udała się jednak
4. Po przejściu na Pulpit pojawia się błąd:
Error decoding JSON data: Control character error, possibly incorrectly encoded
5. Niestety strony nie widać
6. Zobaczmy co dzieje się z szablonem. Ponieważ jest na Gantry 5 przychodzimy do zakładki Komponenty >>> Gantry 5 Themes. Jak widać szablon nie działa -
6. Zaplecze Joomla działa poprawnie mimo sygnalizowanego błędu. Zawsze kiedy pojawia się jakiś problem z Joomla lub innym CMS pamiętajmy o jednym - Nie jesteśmy zapewne jedynymi którzy mają taki problem i może ktoś poprosił gdzieś na forum o pomoc w rozwiązaniu problemu i zapewne dostał pomoc. No chyba że poprosił o pomoc na Forum Joomla Polska - tam aż strach pytać bo może okazać się że jesteśmy zwykłymi idiotami. Warto oczywiście na początek przeszukać i to forum - ale tam rozwiązania nie znalazłem. Okazało się że problem był dość powszechny ale niekoniecznie dobrze sobie z nim poradzono o czym przekonałem się szukając na forach angielskojęzycznych. Nie chciało mi się przeszukiwać wątków po kilkadziesiąt wpisów i stwierdziłem że sprawdzę na RocketTheme - chociaż nie jest to problem związany z tylko z ich szablonami. Akurat po 9 latach wygasła wczoraj moja subskrypcja - ale okazało się że mimo to rozwiązanie na forum jest w sekcji ogólnodostępnej lub wymagającej logowania bez aktywnej subskrypcji - nie pamiętam.
Rozwiązanie z forum RockeTheme - tylko dla szablonu Photo od RocketTeme:
Use this SQL command in PHPMYADMIN:
- UPDATE `#_template_styles` SET `params` = '{"configuration":"82","preset":"rows_and_columns"}' WHERE `id` = 82
Please replace the "#" above by your table prefix.
7. Ok spróbujmy więc. Logujemy się do naszego PhpMyAdmina. Ja po tym jak stwierdziłem błąd przywróciłem stronę z kopii i szukałem rozwiązania instalując stronę na swoim komputerze za pomocą JAMP - dlatego po lewej stronie teraz widać tyle baz danych w jednym panelu.
8. Nawet jeśli jednak mamy tylko jedną bazę danych klikamy na jej nazwę w tym panelu po lewej. Tu możemy zobaczyć jaki jest przedrostek naszej bazy danych dla strony www Lublin na Joomla - tu jak widać jest to "y04g7"
Przechodzimy do zakładki "SQL" w tym panelu phpMyAdmina
9. Musimy teraz wykonać zapytanie do naszej bazy danych wg zaleceń z forum RT
UPDATE `#_template_styles` SET `params` = '{"configuration":"82","preset":"rows_and_columns"}' WHERE `id` = 82
zamist "#" musimy wstawić przedrostek naszej bazy danych czyli "y04g7"
będzie to więc wyglądało tak:
UPDATE `y04g7_template_styles` SET `params` = '{"configuration":"82","preset":"rows_and_columns"}' WHERE `id` = 82
10. Baza danych została zmodyfikowana. Szablon zarówno w zapleczu jak i od frontu działa poprawnie, można więc przystąpić do dalszej aktualizacji strony internetowe Lublin na Joomla. Pamiętajcie o wykonaniu kopii zapasowej Akeeba Backup.