Prestashop nie zapisuje zmian? Ukryte formatowanie z Worda może być problemem

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

  • Zmiany w opisie produktu nie zapisują się.
  • Panel CMS działa, ale nowe treści nie są zapisywane.
  • Brak komunikatów błędów w interfejsie Prestashop.
  • Logi serwera (Apache/Nginx) w pliku error.log są puste.
  • Konsola przeglądarki nie pokazuje żadnych błędów.
  • Ręczna analiza bazy danych ujawnia „zanieczyszczone” dane w polu opisu.

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:

  • Serwery z włączonymi zabezpieczeniami (np. mod_security) mogą blokować podejrzane żądania POST, nawet po wyłączeniu mod_security, co komplikuje diagnozę.
  • Ukryte formatowanie może przekraczać limity pól w bazie danych (np. TEXT zamiast LONGTEXT).
  • Dane mogą zostać zapisane, ale ich ponowna edycja jest niemożliwa z powodu błędów w tle.
  • Włączenie display_errors na serwerze często nie pomaga, ponieważ problem leży w cichym odrzucaniu danych przez serwer lub aplikację.

Jak zdiagnozować problem?

  1. Sprawdź źródło HTML: W edytorze Prestashop kliknij opcję „Źródło” (lub „Source”). Jeśli widzisz nietypowe tagi i style (np. mso- lub <!--[if ...]>), to one są problemem.
  2. Zweryfikuj bazę danych: Użyj phpMyAdmin, aby przejrzeć pole opisu produktu w bazie (np. tabela ps_product_lang). Często znajdziesz tam ukryte style z Worda.
  3. Test z czystym tekstem: Skopiuj problematyczny tekst, wklej go do Notatnika (lub innego edytora tekstowego), a następnie wklej jako czysty tekst do Prestashop i spróbuj zapisać.

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!

Zamów wycenę
Polityka prywatności | Regulamin
Pro-link 2005-2020

Ta strona korzysta z ciasteczek

Niezbędne ciasteczka umożliwiają prawidłowe funkcjonowanie strony internetowej, zapewniając podstawowe funkcje, takie jak nawigacja po stronie i dostęp do jej zabezpieczonych obszarów. Bez tych ciasteczek strona nie może działać prawidłowo.

Niezbędne

Niezbędne ciasteczka umożliwiają prawidłowe funkcjonowanie strony internetowej, zapewniając podstawowe funkcje, takie jak nawigacja po stronie i dostęp do jej zabezpieczonych obszarów. Bez tych ciasteczek strona nie może działać prawidłowo.

Zgoda na Analitykę

Wyrażam zgodę na wykorzystywanie plików cookie Google Analytics w celu prowadzenia anonimowych statystyk, analizy sposobu korzystania ze strony oraz jej ulepszania, przy czym część danych może być także używana przez Google do personalizacji i pomiaru skuteczności reklam.

Zgoda na Reklamy spersonalizowane

Wyrażam zgodę na wykorzystywanie przez Google plików cookie i podobnych technologii w celu wyświetlania reklam spersonalizowanych, pomiaru ich skuteczności oraz zapewnienia bezpieczeństwa strony poprzez odróżnianie użytkowników od botów.

Informacje

Ciasteczka (cookies) to małe pliki tekstowe, które mogą być wykorzystywane przez strony internetowe, by usprawnić doświadczenie użytkownika. Zgodnie z przepisami prawa, możemy przechowywać na Twoim urządzeniu ciasteczka, które są ściśle niezbędne do funkcjonowania tej strony. W przypadku wszystkich innych typów ciasteczek potrzebujemy Twojej zgody. Oznacza to, że ciasteczka klasyfikowane jako niezbędne są przetwarzane na podstawie art. 6 ust. 1 lit. f RODO. Wszystkie pozostałe ciasteczka, czyli te z kategorii preferencji i marketingu, są przetwarzane na podstawie art. 6 ust. 1 lit. a RODO. Nasza strona korzysta z różnych rodzajów ciasteczek. Niektóre ciasteczka są umieszczane przez usługi stron trzecich, które pojawiają się na naszych stronach. W każdej chwili możesz zmienić lub wycofać swoją zgodę z Oświadczenia o ciasteczkach na naszej stronie internetowej. Dowiedz się więcej o tym, kim jesteśmy, jak możesz się z nami skontaktować i jak przetwarzamy dane osobowe, zapoznając się z naszą Polityką Prywatności.