Nie możesz zapisać zmian w opisach produktów lub treści CMS w Prestashop? Nie widzisz błędów, a serwer milczy? Przyczyna może leżeć w nieoczywistym miejscu – formatowaniu tekstu wklejonego z Worda. Przeczytaj, jak zdiagnozować i rozwiązać ten problem.
Objawy problemu
Przyczyna problemu
Wklejanie tekstu z edytorów Microsoft (Word, Outlook, MS Teams itp.) do edytora Prestashop (np. TinyMCE) wprowadza ukryte tagi i atrybuty, takie jak <!-- [if gte mso 9]>
, style="mso-fareast-language"
, czy mso-xxx
. Prestashop nie zawsze filtruje te elementy, co może powodować problemy:
Jak zdiagnozować problem?
mso-
lub <!--[if ...]>
), to one są problemem.Jak rozwiązać problem?
Wklejaj czysty tekst: Używaj skrótu Ctrl+Shift+V lub wklejaj treść przez Notatnik, aby pozbyć się formatowania.
Jak zapobiegać w przyszłości?
Włącz tryb debugowania w Prestashop: W pliku defines.inc.php ustaw define('_PS_MODE_DEV_', 1);
, aby logować zapytania SQL i żądania POST. Uwaga: Jeśli po ustawieniu PS_MODE_DEV na 1 nadal nie widzisz błędów, problem może leżeć w konfiguracji serwera (np. ciche odrzucanie żądań POST przez filtry bezpieczeństwa). Spróbuj włączyć dodatkowe logowanie w panelu administracyjnym Prestashop (Zaawansowane → Logi) lub skonfiguruj serwer do bardziej szczegółowego logowania.
Włącz display_errors na serwerze testowym: Ustaw w pliku php.ini opcję display_errors = On
. Jeśli to nie ujawnia błędów, zweryfikuj logi PHP (error_log) lub skonfiguruj niestandardowe logowanie błędów w Prestashop.
Monitoruj logi serwera: Nawet po wyłączeniu mod_security, inne filtry bezpieczeństwa mogą blokować żądania POST. Sprawdź logi dostępu (access.log) i błędów (error.log) serwera.
Skonfiguruj limity pól tekstowych: Zwiększ limit pól w bazie danych (np. zmień TEXT na LONGTEXT w tabeli ps_product_lang), jeśli problem się powtarza.
Ogranicz formatowanie w edytorze WYSIWYG: Skonfiguruj TinyMCE, aby automatycznie usuwał podejrzane tagi (np. poprzez ustawienia wtyczki w Prestashop).
Edukuj zespół: Wklejaj tekst jako czysty (np. przez Notatnik lub Ctrl+Shift+V), aby uniknąć formatowania z Worda.
Podsumowanie
Jeśli Prestashop nie pozwala zapisać zmian w opisach produktów lub treści CMS, a Ty nie widzisz żadnych błędów, winowajcą może być formatowanie tekstu wklejonego z Worda. Ukryte tagi i style z edytorów Microsoftu mogą blokować zapis danych, a problem często pozostaje niewidoczny w logach serwera. Sprawdzaj źródło HTML, wklejaj tekst jako czysty i korzystaj z narzędzi do usuwania formatowania. Dzięki temu zaoszczędzisz czas i nerwy!