PS PrestaShop Początkujący

Automatyczny znak wodny na zdjęciach produktów: pełny przewodnik

Instalacja, aktualizacja i konfiguracja automatycznego znaku wodnego na zdjęciach produktów w PrestaShop 1.7, 8 i 9: logo lub tekst ze zmiennymi, podgląd na żywo, reguły wykluczeń, przetwarzanie katalogu i rozwiązywanie problemów.

Zaktualizowano Wersja modułu 1.1.1

Wprowadzenie

Moduł DataFirefly Znak wodny nakłada logo lub tekst na miniatury zdjęć produktów. Znak wodny jest nakładany, gdy zdjęcie zostaje dodane do produktu, przy imporcie CSV, przez webservice i przy każdej regeneracji miniatur. Pliki oryginalne nigdy nie są modyfikowane: każda miniatura jest oznaczana na podstawie świeżej kopii oryginału, a każdy oznaczony plik otrzymuje odcisk, który zapobiega nałożeniu drugiego znaku wodnego.

Ten przewodnik dotyczy wersji 1.1.1.

Wymagania

  • PrestaShop od 1.7.0 do 9.x.
  • PHP od 5.4 do 8.4 z rozszerzeniem GD. Bez GD instalacja zostaje odrzucona.
  • FreeType (wkompilowany w GD) dla trybu tekstowego. Jeśli go brakuje, strona konfiguracji o tym informuje, a tryb logo pozostaje dostępny.
  • Przetwarzanie plików WebP i AVIF zależy od tego, co potrafi zapisać biblioteka GD na serwerze. Nieobsługiwane formaty są wyszarzone w zakładce Reguły.

Instalacja

  1. W panelu administracyjnym otwórz Moduły > Menedżer modułów.
  2. Kliknij Prześlij moduł i upuść archiwum ZIP.
  3. Po zakończeniu instalacji kliknij Konfiguruj.

Ustawienia domyślne są gotowe do użycia: logo w prawym dolnym rogu, krycie 60%, rozmiar 25% szerokości, margines 3%, minimalna szerokość 250 px, wszystkie rozmiary miniatur o szerokości co najmniej 250 px i wszystkie formaty obsługiwane przez serwer. W trybie tekstowym domyślny tekst to © {shop_name}. Wystarczy przesłać logo.

Aktualizacja z wersji 1.0.x

  1. Prześlij archiwum 1.1.1 na poprzednią wersję w menedżerze modułów. PrestaShop uruchomi skrypt aktualizacji.
  2. Twoje ustawienia zostają zachowane: logo, krycie, rozmiar, pozycja, zaznaczone rozmiary, formaty. Marginesy w pikselach z wersji 1.0.x są zastępowane marginesem procentowym. W trybie tekstowym pozostaje zwykła czcionka bez efektu, aby wygląd się nie zmienił.
  3. Pojawi się komunikat Ostatni krok po aktualizacji. Kliknij Otwórz Katalog, a następnie Wygeneruj wszystko ponownie.

Ta regeneracja odtwarza każdą miniaturę z oryginału przed nałożeniem znaku wodnego. Usuwa znaki wodne nałożone wielokrotnie przez wersję 1.0.1 podczas kolejnych regeneracji w PrestaShop 8 i 9. Komunikat znika po zakończeniu przetwarzania.

Dopóki „Wygeneruj wszystko ponownie” nie zostanie uruchomione, moduł nie nakłada nowego znaku na stary: każda miniatura przetwarzana w tym czasie jest najpierw odtwarzana z oryginału.

Strona konfiguracji

U góry strony przełącznik pokazuje Automatyczny znak wodny włączony lub wyłączony. Po wyłączeniu moduł nie zmienia dodawanych ani regenerowanych zdjęć, a miniatury już oznaczone pozostają bez zmian. Link prowadzi do tej dokumentacji.

Ustawienia są podzielone na trzy zakładki: Wygląd, Reguły i Katalog. Gdy tylko zmienisz ustawienie, na dole ekranu pojawi się pasek Niezapisane zmiany z dwoma przyciskami: Odrzuć i Zapisz. Przed zapisaniem nic nie jest stosowane do zdjęć.

Zakładka Wygląd

Rodzaj znaku wodnego

Wybierz Logo lub Tekst.

  • Przeciągnij plik na Upuść tutaj swoje logo lub kliknij, aby go wybrać. Akceptowane formaty: PNG (zalecany przezroczysty), WebP, GIF lub JPG, maksymalnie 5 MB i 40 megapikseli.
  • Logo jest konwertowane do PNG, zmniejszane do 1600 px, jeśli jest większe, a jego przezroczyste krawędzie są przycinane. Rozmiar i margines dotyczą więc widocznej grafiki, a nie pustego obszaru wokół niej.
  • Zastąp przesyła nowy plik, Usuń kasuje logo.

Tekst

  • Tekst znaku wodnego: maksymalnie 120 znaków. Przycisk Wstaw zmienną dodaje zmienną w miejscu kursora.
  • Czcionka: DejaVu Sans, Sans Bold, Sans Condensed Bold lub Serif. Czcionki są dołączone do modułu, wynik jest identyczny na każdym hostingu.
  • Kolor, Efekt (Brak, Cień lub Obrys) i Kąt od -90° do 90°. Cień lub obrys utrzymują czytelność tekstu na jasnych i ciemnych zdjęciach.

Dostępne zmienne, podstawiane osobno dla każdego zdjęcia:

  • {shop_name}: nazwa sklepu
  • {domain}: domena sklepu
  • {year}: bieżący rok
  • {product_name}: nazwa produktu
  • {reference}: kod referencyjny produktu
  • {manufacturer}: marka produktu

Przykład: © {shop_name} · {reference} daje „© Maison Lumen · NW-SNK-01” na zdjęciach produktu o kodzie NW-SNK-01.

Rozmieszczenie

  • Pozycja: 9 punktów zakotwiczenia (narożniki, środki krawędzi, środek) lub Mozaika, która powtarza znak wodny w szachownicę na całym zdjęciu. Mozaika najlepiej chroni przed ponownym użyciem, narożnik daje dyskretny podpis.
  • Krycie: od 5 do 100%.
  • Rozmiar w % szerokości obrazu: od 5 do 100%.
  • Margines od krawędzi: od 0 do 20%, dla pozycji zakotwiczonych.
  • Odstęp między powtórzeniami: tylko dla mozaiki.

Ponieważ rozmiar i margines są względne dla każdego zdjęcia, znak wodny zachowuje te same proporcje na wszystkich rozmiarach miniatur.

Podgląd na żywo

Podgląd jest generowany przez ten sam silnik co zdjęcia w sklepie, na podstawie jednego z ostatnich produktów. Menu Produkt i przycisk Inny produkt zmieniają wyświetlane zdjęcie, menu Rozmiar wybiera miniaturę. Przyciski Oryginał, Ze znakiem i Porównaj przełączają widok; w trybie Porównaj przesuń suwak, aby zobaczyć stan przed i po. Podgląd informuje też, gdy wybrany produkt jest wykluczony lub gdy wyświetlany rozmiar jest poniżej minimalnej szerokości.

Zakładka Reguły

Rozmiary miniatur ze znakiem wodnym

Zaznacz typy zdjęć produktów do przetwarzania. Każdy typ pokazuje swoje wymiary. Domyślnie zaznaczone są wszystkie rozmiary o szerokości co najmniej 250 px.

Minimalna szerokość

Miniatury węższe niż ta wartość pozostają bez znaku wodnego, nawet jeśli ich rozmiar jest zaznaczony. Na małych zdjęciach w koszyku i wyszukiwarce znak wodny byłby nieczytelny.

Formaty plików

JPG, PNG, WebP i AVIF. PrestaShop 8 i 9 mogą generować kopie WebP i AVIF obok formatu głównego: pozostaw zaznaczone wszystkie formaty generowane przez sklep, inaczej jedna wersja zdjęcia zostałaby bez znaku wodnego. Formaty, których GD nie potrafi zapisać na Twoim serwerze, są wyszarzone.

Wykluczenia

  • Zachowaj okładki bez znaku wodnego: Google Merchant Center odrzuca zdjęcia produktów ze znakiem wodnym lub logo. Zaznacz tę opcję, jeśli Twoje okładki zasilają Google Shopping; pozostałe zdjęcia produktu nadal są oznaczane.
  • Wykluczone kategorie: produkt powiązany z jedną z tych kategorii zachowuje zdjęcia bez znaku wodnego.
  • Wykluczone marki i ID wykluczonych produktów.

Listy kategorii i marek mają pole wyszukiwania. Oznaczone zdjęcie, które zostaje wykluczone, jest czyszczone przy następnym przetwarzaniu.

Zakładka Katalog

Statystyki

Cztery liczniki: Obrazy ze znakiem wodnym (w liczbie plików), Oczekujące (nowe zdjęcia lub zmienione ustawienia), Wykluczone (bez znaku wodnego zgodnie z regułami) i Błędy. Wyświetlana jest data ostatniego uruchomienia.

Zastosuj do katalogu

  • Przetwórz oczekujące obrazy: nakłada znak wodny na nowe zdjęcia i aktualizuje te, których dotyczą ostatnie zmiany. Aktualne pliki są pomijane. Tej akcji używaj po każdej zmianie ustawień.
  • Wygeneruj wszystko ponownie: odtwarza każdą miniaturę z oryginału, a następnie nakłada znak wodny. Używaj jej po aktualizacji z wersji 1.0.x lub gdy inne narzędzie zmieniło miniatury.
  • Usuń znak wodny: odtwarza czyste miniatury z oryginałów i wyłącza automatyczny znak wodny.

Przetwarzanie odbywa się w partiach trwających kilka sekund, z paskiem postępu i przyciskiem Anuluj. Działa na hostingu współdzielonym z ograniczonym czasem wykonywania PHP. Nie zamykaj karty podczas przetwarzania; jeśli je przerwiesz, uruchom tę samą akcję ponownie, aby ją dokończyć.

Testuj na jednym produkcie

Wpisz ID produktu i kliknij Zastosuj, aby nałożyć znak wodny na jego zdjęcia z bieżącymi ustawieniami, lub Wyczyść, aby przywrócić je bez znaku. Następnie sprawdź kartę produktu w sklepie (wyczyść pamięć podręczną przeglądarki, jeśli nadal widać stare zdjęcie).

Jak to działa

Moduł korzysta z hooka actionWatermark, który PrestaShop wywołuje po utworzeniu miniatur zdjęcia produktu. Dla każdej miniatury spełniającej Twoje reguły moduł:

  1. sprawdza jej odcisk: jeśli plik ma już znak wodny z bieżącymi ustawieniami i nie został zmieniony, pozostaje bez zmian;
  2. w przeciwnym razie odtwarza miniaturę z oryginalnego zdjęcia, z wymiarami i trybem skalowania PrestaShop;
  3. nakłada znak wodny, zapisuje plik z poziomami jakości ustawionymi w ustawieniach zdjęć sklepu i zapamiętuje jego odcisk.

W ten sposób rozwiązany jest problem regeneracji w PrestaShop 8 i 9: gdy opcja usuwania poprzednich zdjęć nie jest zaznaczona, PrestaShop tworzy tylko brakujące miniatury, a następnie wywołuje hook dla wszystkich zdjęć. Bez odcisku moduł znaku wodnego oznaczyłby istniejące miniatury po raz drugi.

Moduł obsługuje też miniatury wysokiej gęstości (2x) z PrestaShop 1.7 i 8 oraz opcję „PNG dla wszystkich obrazów”, która zapisuje dane PNG w plikach .jpg. Przezroczyste zdjęcia zachowują przezroczystość.

Natywna regeneracja PrestaShop nadal działa: Wygląd > Ustawienia zdjęć lub z wiersza poleceń w PrestaShop 8 i 9:

php bin/console prestashop:thumbnails:regenerate products

Multistore

PrestaShop współdzieli pliki zdjęć produktów między wszystkimi sklepami. Ustawienia modułu są więc wspólne dla wszystkich sklepów, niezależnie od kontekstu wybranego w panelu. Zmienne {shop_name} i {domain} pochodzą ze sklepu aktywnego w chwili przetwarzania: jeśli Twoje sklepy mają różne nazwy, lepiej użyć stałego tekstu lub logo.

Odinstalowanie

Odinstalowanie usuwa ustawienia, logo i dwie tabele modułu. Miniatury już oznaczone nie są zmieniane. Aby odzyskać czyste zdjęcia, najpierw kliknij Usuń znak wodny w zakładce Katalog, a potem odinstaluj moduł. Możesz też odinstalować moduł i zregenerować miniatury w Wygląd > Ustawienia zdjęć z zaznaczoną opcją usuwania poprzednich zdjęć.

Rozwiązywanie problemów

Znak wodny nie jest nakładany. Sprawdź, czy przełącznik jest włączony, czy logo zostało przesłane (lub tekst wpisany), czy w zakładce Reguły zaznaczono co najmniej jeden rozmiar i jeden format oraz czy produkt nie jest wykluczony. Następnie uruchom „Przetwórz oczekujące obrazy” lub „Testuj na jednym produkcie”.

  • Sklep nadal pokazuje stare zdjęcie: przeglądarka lub CDN przechowuje starą wersję w pamięci podręcznej. Odśwież bez pamięci podręcznej lub wyczyść CDN.
  • Licznik błędów większy od zera: zwykle brakuje oryginalnego zdjęcia na dysku lub jest ono nieczytelne. Otwórz produkt, zastąp zdjęcie i uruchom przetwarzanie ponownie.
  • Tryb tekstowy jest niedostępny: biblioteka GD na serwerze nie ma FreeType. Poproś hostingodawcę o włączenie go lub użyj trybu logo z plikiem PNG zawierającym Twój tekst.
  • WebP lub AVIF wyszarzone: GD nie potrafi zapisać tego formatu na Twoim serwerze. Te pliki nie są przetwarzane.
  • Znak wodny zbyt mały na miniaturach: rozmiar jest proporcjonalny, zwiększ go lub wyklucz małe rozmiary za pomocą minimalnej szerokości.
  • Dwa znaki wodne widoczne po aktualizacji z 1.0.1: uruchom „Wygeneruj wszystko ponownie” w zakładce Katalog.

FAQ

Czy moje oryginalne zdjęcia są modyfikowane?

Nie. Znak wodny trafia tylko na miniatury, zawsze tworzone ze świeżej kopii oryginału.

Czy po każdej zmianie ustawień trzeba regenerować miniatury?

Nie. Zdjęcia, których dotyczy zmiana, stają się oczekujące. Jedno kliknięcie „Przetwórz oczekujące obrazy” aktualizuje je bez ponownego tworzenia pozostałych.

Czy zdjęcie może dostać dwa znaki wodne?

Nie. Każdy oznaczony plik zachowuje odcisk. Aktualny plik jest pomijany; plik oznaczony starszymi ustawieniami lub zmieniony przez inne narzędzie jest odtwarzany z oryginału przed oznaczeniem.

Czy znak wodny trafia na zdjęcia importowane z CSV?

Tak. PrestaShop wywołuje ten sam hook przy imporcie i przez webservice.

Czy moduł spowalnia sklep?

Nie. Znak wodny jest obliczany przy tworzeniu miniatur, nigdy przy wyświetlaniu stron.

Czy moduł jest zgodny z PrestaShop 1.7?

Tak, od PrestaShop 1.7.0 do 9.x, z PHP od 5.4 do 8.4.

Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia