Wszystko, co warto wiedzieć, zanim zainstalujesz.
Szczegółowe spojrzenie na to, jak działa Czyszczenie HTML Opisów Produktów i Kategorii: Usuń Kod Worda, Style Inline i Puste Znaczniki (PrestaShop 8 i 9), dlaczego zbudowaliśmy go w ten sposób i jaka myśl stoi za powyższymi funkcjami.
Co moduł usuwa
Opis wklejony z Worda przychodzi z komentarzem warunkowym Office na początku, wyspą XML, akapitami z klasą MsoNormal, stylami inline narzucającymi krój i rozmiar pisma, pustymi znacznikami o:p i ciągami trzech twardych spacji. Nic z tego nie widać na karcie produktu, ale wszystko jest przechowywane w bazie, wysyłane do każdego odwiedzającego i czytane przez Google. Moduł rozpoznaje te wzorce i je usuwa. Tekst, linki, listy, tabele i obrazy pozostają nienaruszone.
Prawdziwy parser, a nie wyrażenie regularne
Czyszczenie przechodzi przez DOMDocument. Dokument jest odbudowywany, co przy okazji naprawia niezamknięte znaczniki i błędne zagnieżdżenia zamiast psuć je dalej. Analizę DOM otaczają dwa przebiegi wyrażeń regularnych, wyłącznie dla tego, czego parser nie potrafi odwzorować: komentarzy warunkowych, wysp XML, znaczników z przestrzeni nazw. Jeśli analiza nietypowej treści się nie powiedzie, moduł zwraca wartość oryginalną bez zmian.
Symulacja, partie, kopia zapasowa
Przetwarzanie odbywa się partiami przez AJAX, z paskiem postępu i przyciskiem zatrzymania. Rozmiar partii schodzi do 5 rekordów na ograniczonych hostingach, co pozwala uniknąć timeoutu PHP nawet przy katalogu liczącym kilkadziesiąt tysięcy kart. W trybie symulacji nic nie jest zapisywane: dostajesz liczniki, zaoszczędzoną wagę i dziesięć porównań przed i po. W trybie rzeczywistym każda zastąpiona wartość jest kopiowana do tabeli kopii zapasowych z identyfikatorem uruchomienia, co pozwala przywrócić wszystko z poziomu zaplecza.
Czego moduł nie psuje
Ramki iframe zaufanych dostawców są zachowywane wraz z atrybutami allow, allowfullscreen i wymiarami, a weryfikacja dotyczy rzeczywistej domeny, więc adres typu youtube.com.przyklad.pl zostaje odrzucony. Puste komórki tabel są zachowywane, aby nie zniekształcić układu. Treść znaczników pre, code i textarea nie podlega normalizacji spacji. Wreszcie silnik jest idempotentny: ponowne uruchomienie czyszczenia na przetworzonej już karcie nie wprowadza żadnej zmiany, więc nie pojawia się fałszywa data aktualizacji.
Czyszczenie przy zapisie
Opcja stosuje te same reguły przy każdym zapisie produktu lub kategorii w zapleczu, przez hooki wyzwalane przed zapisem obiektu. Jest domyślnie wyłączona: lepiej sprawdzić swoje reguły w symulacji, zanim zaczną działać stale. Ten tryb nie tworzy wpisu kopii zapasowej, w przeciwieństwie do przetwarzania partiami.
Na razie nie ma opinii o produkcie.