Zmiana tekstu PrestaShop: napis się nie zmienia albo tłumaczenie się nie zapisuje
Gdy zmiana tekstu w PrestaShop nie działa, sprawdź trzy rzeczy: pamięć podręczną, miejsce zmiany i szablon. Strona może pokazywać starą kopię z pamięci. Tłumaczenie mogło trafić do motywu, a napis pochodzi z modułu. Napis może też być wpisany na stałe w szablonie. Wtedy zmienisz go tylko w pliku, najlepiej w kopii szablonu w motywie.
Autor: Sani. Sani buduje moduł TellMyShop i na co dzień pracuje z zapleczem sklepów PrestaShop.
Aktualizacja: · 4 min czytania
Dlaczego napis w sklepie się nie zmienia?
Bo PrestaShop trzyma teksty w kilku miejscach, a strona bierze tekst tylko z jednego. Czwartek, 19:50. Trzeci raz zmieniasz „Dodaj do koszyka” na „Do koszyka”, zapisujesz, odświeżasz sklep. Dalej stary napis. Wracasz do tłumaczeń, a tam twoja wersja jest zapisana.
To typowy objaw. Tłumaczenie zapisało się poprawnie, ale nie tam, skąd czyta je strona. Albo zapisało się, a strona pokazuje kopię z pamięci podręcznej.
Objaw i przyczyna: co sprawdzić najpierw?
Dopasuj to, co widzisz, do wiersza tabeli.
| Objaw | Najczęstsza przyczyna | Co zrobić |
|---|---|---|
| Tłumaczenie zapisane w panelu, sklep pokazuje stary tekst | pamięć podręczna | wyczyść ją w Zaawansowane > Wydajność, odśwież stronę z pominięciem pamięci przeglądarki |
| Zmiana działa w jednym miejscu, w innym nie | ten sam tekst jest w motywie i w module | zmień go w obu rodzajach tłumaczeń |
| Tekstu nie ma w wyszukiwarce tłumaczeń | napis wpisany na stałe w szablonie | zmiana w pliku szablonu, w motywie |
| Tekst zmienia się w module, ale nie w kupionym motywie | motyw ma własną kopię szablonu modułu | zmiana w kopii szablonu w motywie |
| Po zapisie pole wraca do starej wersji | błąd zapisu tłumaczenia w bazie | dziennik błędów, potem developer |
| Zmiana znika po aktualizacji modułu | ktoś edytował pliki modułu | przenieść zmianę do kopii szablonu w motywie |
Przypadek z polem, które wraca do starej wersji, opisał Pskrk. Winny był wpis w bazie, który nadpisywał tłumaczenie. Jak działają rodzaje tłumaczeń w panelu, pokazują PrestaPros i PrestaPremium.
Jak znaleźć i zmienić tekst krok po kroku?
Zacznij od tłumaczeń w panelu, a do plików sięgaj dopiero, gdy tekstu tam nie ma.
- Skopiuj napis dokładnie tak, jak widać go w sklepie. Z wielkością liter i znakami.
- Otwórz Międzynarodowe > Tłumaczenia. Wybierz tłumaczenia motywu, swój motyw i język.
- Wyszukaj napis. Jeśli jest, zmień go i zapisz. Jeśli go nie ma, sprawdź tłumaczenia zainstalowanych modułów.
- Wyczyść pamięć podręczną w Zaawansowane > Wydajność i sprawdź sklep w oknie prywatnym.
- Gdy tekstu nie ma nigdzie, jest w szablonie. Ustal, który moduł albo plik motywu wyświetla ten element.
- Zmień tekst w kopii szablonu w motywie. PrestaShop użyje kopii zamiast oryginału modułu. Mechanizm opisuje dokumentacja PrestaShop o nadpisywaniu modułów.
Nie zmieniaj tekstu w plikach w katalogu modules. Najbliższa aktualizacja modułu przywróci stary napis.
Jak zmienić tekst w sklepie z kilkoma językami?
Zmieniaj go w tłumaczeniach dla każdego języka osobno, a do plików sięgaj ostrożnie. Tłumaczenia w panelu mają osobną wersję dla każdego języka sklepu. Zmiana polskiego napisu nie zmienia angielskiego, więc po zmianie przełącz sklep na drugi język i sprawdź oba.
Tekst wpisany na stałe w szablonie jest inny. Jedna linia w pliku wyświetla się w każdym języku tak samo. Jeśli sklep ma wersję angielską, a ty wpiszesz w szablon polskie zdanie, klient z Niemiec zobaczy polski tekst. W takim sklepie lepiej poprosić developera o zmianę szablonu tak, żeby napis dało się tłumaczyć w panelu.
Jak zmienić napis modułu, żeby przetrwał aktualizację?
Opisujesz, który tekst i na jaki zmienić, a Claude ustala, który moduł go wyświetla. Potem kopiuje szablon modułu do motywu i pokazuje różnicę przed zapisem.
Zmień tekst w okienku newslettera w stopce na „Jeden mail w miesiącu z nowościami w Lampionach”. Ma przetrwać aktualizację modułu.
Okienko wyświetla moduł newslettera. Tekst jest wpisany w jego szablonie, więc tłumaczenia w panelu go nie zmienią. Skopiuję szablon do motywu i zmienię tekst w kopii. Podgląd:
było: Zapisz się do newslettera, aby otrzymywać informacje o nowościach.
będzie: Jeden mail w miesiącu z nowościami w Lampionach.
Sklep ma też wersję angielską. Tekst w kopii szablonu będzie po polsku w obu wersjach. Zmienić?
Tak, wersję angielską i tak wyłączamy.
Zapisane, pamięć podręczna wyczyszczona. Oryginał modułu jest nietknięty, więc aktualizacja nie przywróci starego tekstu.
Poprawka napisu to jedna prośba i podgląd zmienionej linii szablonu. Ta praca wymaga wersji płatnej i bloku Wygląd. Po instalacji jest wyłączony, a pliki szablonów Claude zmienia tylko przez połączenie serwisowe z twoich adresów IP. Przed każdym zapisem moduł robi kopię pliku, a powrót do niej cofa zmianę. Dwa podobne zadania opisują zastosowania zmiana stałego tekstu w okienku modułu i zmiana wyglądu modułu, która przetrwa jego aktualizację. O wersji płatnej przeczytasz w cenniku.
Claude nie edytuje ekranu Międzynarodowe > Tłumaczenia. Nazwy cech, wartości i atrybutów, na przykład kolorów i rozmiarów, tłumaczy w bloku Treści i SEO. Szersze tłumaczenie sklepu opisujemy w tekście jak przetłumaczyć sklep PrestaShop. Gdy po zmianie sklep dalej pokazuje stary tekst, przeczytaj, co zrobić, gdy w PrestaShop nie widać zmian.
Pytania i odpowiedzi
Gdzie w PrestaShop zmienić napis Dodaj do koszyka?
W Międzynarodowe > Tłumaczenia. Wybierz tłumaczenia motywu, swój motyw i język, a potem wpisz w wyszukiwarkę obecny napis. Zmień go, zapisz i wyczyść pamięć podręczną w Zaawansowane > Wydajność. Jeśli napis pochodzi z modułu, szukaj go w tłumaczeniach modułów zamiast motywu.
Dlaczego zmiana tłumaczenia nie pojawia się w sklepie?
Najczęściej z trzech powodów. Sklep pokazuje stary tekst z pamięci podręcznej. Zmieniłeś tłumaczenie w innym miejscu niż to, z którego korzysta strona, na przykład w module zamiast w motywie. Albo motyw ma własną kopię szablonu modułu z tekstem wpisanym na stałe, którego tłumaczenia w panelu nie obejmują.
Czy po aktualizacji modułu moja zmiana tekstu zniknie?
Zmiana w tłumaczeniach panelu zwykle zostaje. Zmiana wpisana wprost w pliki modułu znika przy jego aktualizacji, bo nowa wersja nadpisuje pliki. Dlatego tekst, którego nie da się zmienić w tłumaczeniach, zmieniasz w kopii szablonu modułu w motywie. Ta kopia przetrwa aktualizację modułu.
Co zrobić z tekstem, którego nie ma w tłumaczeniach?
Taki tekst jest wpisany na stałe w szablonie motywu albo modułu. Zmienia się go w pliku szablonu, najlepiej w motywie potomnym albo w kopii szablonu modułu w motywie. W sklepie z kilkoma językami pamiętaj, że tekst wpisany na stałe będzie taki sam w każdej wersji językowej.
Czy Claude zmieni tłumaczenia w panelu?
Nie. Claude nie edytuje ekranu Międzynarodowe > Tłumaczenia. W wersji płatnej, z blokiem Wygląd, zmienia tekst w kopii szablonu modułu albo w pliku motywu, z podglądem różnic i kopią zapasową. Nazwy cech i atrybutów, na przykład kolorów i rozmiarów, tłumaczy osobno w bloku Treści i SEO.
PrestaShop jest zastrzeżonym znakiem towarowym PrestaShop SA. Claude jest znakiem towarowym Anthropic. TellMyShop nie jest powiązany z żadną z tych firm.