Podczas aktualizacji PrestaShop do wersji 1.7.8.7 natrafiliśmy na dość enigmatyczny błąd.
Chodzi o strony statyczne (CMS) w obrębie sklepu. Tam, gdzie możmy opisać regulamin, politykę prywatności, detale dotyczące dostawy itp.
W wersji 1.7 znajduje się to w miejscu:
Ulepszenia -> Wygląd -> Strony
W wersji 1.6 było to dostępne pod ścieżką Preferencje -> CMS
Zawartość artykułu
Błąd #1 – Brak treści w innych językach
Błąd polega na tym, że treść polskiej wersji językowej jest w pełni dostępna:
Natomiast po przełączeniu na inne języki jest urwana „Zawartość strony”:
Błąd #2 – Wprowadzane zmiany są niewidoczne
Najważniejszy problem! Po zmianie treści (w języku polskim) i zapisaniu zmiany nie są widoczne. I to dość mylące, bo dokument jest (niby) prawidłowo zapisywany, co pokazuje komunikat:
Ponadto w logach nie ma zgłoszenia o błędzie przy zapisie. Tak samo włączenie trybu debugowania nie wskazuje w czym może być problem.
Dokładne przeglądnięcie bazy danych czy np. struktura tabel jest poprawna, czy znaki specjalne mogą mieć wpływ na zapis, czy składowane dane są prawidłowe – też nie przyniosła odpowiedzi w czym jest problem..
Błąd #3 – Dziwny wygląd paska narzędziowego?
Ponadto rzuca sie w oczy nietypowy wygląd paska do edycji tekstu (widoczny jedynie dla języka polskiego):
Prawidłowy pasek dla tej wersji:
To daje sugestie, że problem leży prawdopodobnie po stronie edytora TinyMce, który jest dołączony do strony. I tak właśnie jest – consola JavaScript w przeglądarce pokazuje błędy:
Uncaught TypeError: tinyMCE.activeEditor.getBody() is null
No ok, ale co zrobić w tej sytuacji?
Rozwiązanie problemu
Rozwiązanie okazuje się proste do wykonania 🙂
Pobierz wersję PrestaShop 1.7.8.7 w wersji demo ze strony producenta:
https://download.prestashop.com/download/releases/prestashop_1.7.8.7.zip
Następnie wejdź w folder:
admin/themes
I wypakuj folder:
new-theme
Następnie na Twoim serwerze usuń (lub zmień jego nazwę) folder:
[TWÓJ ADMIN]/themes/new-theme
i w jego miejsce wgraj w/w folder z archiwum pobranego ze strony producenta. W ten sposób będziesz mieć wzorcowe pliki związane z wyglądem admina PrestaShop. Oraz m.in. domyślne pliki TinyMce dla tej wersji.
Po dokładnym odświeżeniu strony – problem powinien być rozwiązany 🙂 Strony CMS są zapisywane prawidłowo, a treści innych języków są dostępne.
grafika: wallpaperflare.com