Smart Favicon: konfiguracja i pomoc

Szybki start

  1. Zainstaluj ZIP Smart Favicon przez "Modules > Module Manager > Upload a module", a następnie wybierz konkretny sklep.
  2. Otwórz "Favicon > Configuration" i pozostaw "Enable Smart Favicon" włączone.
  3. Prześlij "Light-mode favicon" i opcjonalnie "Dark-mode favicon", kliknij "Save" i sprawdź podglądy ikon.
  4. Sprawdź "Show count badge on the favicon", "Count calculation", "Cart items" i "Maximum displayed count".
  5. Skonfiguruj "Attention nudge when the tab is in the background" i "Nudge messages"; włącz "Prefix the tab title with the count" tylko w razie potrzeby.
  6. W przypadku źródła PNG/WebP sprawdź "Generate the full icon set" i "Emit a web manifest"; pozostaw nadpisywanie w globalnym katalogu głównym wyłączone, chyba że ten sklep ma nim zarządzać.
  7. W zwykłej przeglądarce dodaj, zmień i usuń pozycje koszyka, zmień schemat kolorów, przejdź do innej karty i wróć, a następnie sprawdź plakietkę, tytuł i zachowanie ikony.

Wymaga PrestaShop 1.6.0.4 lub nowszego oraz PHP 7.1 lub nowszego.

Generowanie zestawów ikon rastrowych wymaga GD z odpowiednim dekoderem PNG/WebP; oczyszczanie SVG korzysta z DOM.

Instrukcja konfiguracji

Instalacja Smart Favicon

Wymagania

Wymaga PrestaShop 1.6.0.4 lub nowszego oraz PHP 7.1 lub nowszego.

Funkcje przeglądarki wymagają JavaScript i standardowych hooków nagłówka oraz multimediów aktywnego motywu.

Prześlij ZIP wydania przez "Modules > Module Manager > Upload a module" i zainstaluj moduł. Otwórz "Favicon > Configuration" lub kliknij "Configure" w "Module Manager". W multistore wybierz konkretny sklep przed edycją zwykłych ustawień.

"Enable Smart Favicon" jest początkowo włączone. Plakietka licznika i przypomnienie w tle również są włączone. "Prefix the tab title with the count" jest początkowo wyłączone. Bez przesłanej ikony moduł może wykorzystać istniejącą ikonę favicon sklepu na potrzeby plakietki.

Przesyłanie jasnej i ciemnej ikony

Pliki ikon

Ustaw "Light-mode favicon" i "Dark-mode favicon". Możesz przesłać ICO, PNG, SVG lub WebP. Jako podstawową ikonę zastosuj kwadratowy PNG o wymiarach co najmniej 32 na 32 piksele. Użyj większego źródła rastrowego, jeśli chcesz wygenerować większe ikony aplikacji.

Limit przesyłania wynosi 1 MB. Obrazy PNG/WebP nie mogą przekraczać 1024 pikseli w żadnym wymiarze. Pliki SVG wymagają viewBox lub jawnej szerokości i wysokości; mechanizm oczyszczania odtwarza zaakceptowany SVG przed zapisaniem. Nieobsługiwane lub niebezpieczne pliki są odrzucane.

Kliknij "Save" i sprawdź "Current light icon" oraz "Current dark icon". Przesłane pliki są zapisywane w img/mprfavicon/ pod nowymi nazwami, aby nie używać ponownie poprzedniego adresu URL z pamięci podręcznej. Serwer WWW musi mieć prawo zapisu w tym katalogu.

Użyj "Remove light icon on save" lub "Remove dark icon on save", aby usunąć wariant. Te przełączniki są początkowo wyłączone.

Zachowanie schematów kolorów

Przeglądarki obsługujące reguły CSS media queries dla ikon favicon wybierają odnośniki jasny/ciemny przez prefers-color-scheme. Moduł reaguje też na zmiany systemowego schematu kolorów. Schemat bez własnego przesłanego pliku korzysta z natywnej ikony favicon sklepu. Gdy nie przesłano żadnego wariantu, moduł nie dodaje zastępczych odnośników schematów; aktywna plakietka nadal może generować zarządzaną ikonę.

Generowanie ikon przeglądarki i aplikacji

Ustawienie Domyślnie Co zrobić
"Generate the full icon set" Włączone Prześlij źródło PNG lub WebP. Ten generator nie potrafi przeskalować ICO ani SVG.
"Emit a web manifest" Włączone Pozostaw włączone, aby używać minimalnego manifestu tego modułu. Wyłącz, jeśli motyw lub moduł PWA już go dostarcza.
"Write the generated favicon.ico to the global root" Wyłączone Włącz tylko wtedy, gdy ten sklep ma zarządzać wspólnym plikiem /favicon.ico instalacji.

Generator używa pierwszego źródła rastrowego, które można zdekodować, sprawdzając wariant jasny przed ciemnym. Tworzy pliki PNG o rozmiarach 16, 32, 48, 180, 192, 256 i 512 pikseli oraz ICO z wieloma rozmiarami. Witryna sklepu może emitować odnośniki ikon 16/32/48, ikonę Apple touch i ikony 192/512 manifestu. Moduł udostępnia manifest z typem zawartości wymaganym dla manifestu internetowego.

Generowanie obrazów wymaga GD z odpowiednim dekoderem PNG/WebP. Jeśli panel administracyjny informuje o potrzebie źródła rastrowego, prześlij PNG lub WebP i zapisz ponownie.

Globalna ikona główna w multistore

Instalacja ma jeden plik favicon.ico w katalogu głównym. Może on wpływać na każdy sklep współdzielący ten katalog. Sklep, który włączy nadpisywanie, staje się jego właścicielem. Inny sklep nie może zastąpić ani przywrócić pliku właściciela za pomocą własnych ustawień.

Moduł tworzy kopię oryginału przed jego zastąpieniem. Właściciel może wyłączyć przełącznik i zapisać, aby zlecić przywrócenie. W "All shops" opcja "Release global favicon.ico ownership" zwalnia współdzieloną własność i podejmuje próbę przywrócenia. Zwykłe ustawienia sklepu edytuje się w kontekście konkretnego sklepu.

Jeśli ktoś zmienił główną ikonę poza modułem, odzyskiwanie zachowa ten nowszy plik. Jeśli tworzenie kopii, obsługa własności, blokowanie lub przywracanie się nie powiedzie, moduł zachowa stan odzyskiwania i zgłosi problem. Nie usuwaj kopii zapasowej, aby usunąć błąd.

Wyszukiwarki same decydują, którą ikonę wyświetlają i kiedy ją odświeżają.

Konfiguracja ikony panelu administracyjnego

"Custom back-office favicon" jest początkowo włączone. Prześlij "Back-office favicon", aby użyć osobnej ikony administracyjnej, lub pozostaw puste, aby ponownie użyć jasnej ikony. Jeśli żadna nie istnieje, pozostaje dostępna natywna ikona administracyjna.

Sprawdź "Current admin icon" po zapisaniu. Użyj "Remove admin icon on save", aby usunąć osobny plik. Ikona panelu administracyjnego nie wyświetla plakietki koszyka witryny sklepu.

Konfiguracja plakietki licznika i źródeł

Ustawienie Domyślnie Działanie
"Show count badge on the favicon" Włączone Rysuje wybraną dodatnią wartość licznika na płótnie o rozmiarze 64 pikseli. Plakietka znika przy zerze.
"Badge background" #dc3545 Kolor dymka.
"Badge text" #ffffff Kolor licznika.
"Badge corner" "Top right" Wybierz dowolny z czterech narożników.
"Maximum displayed count" 9 Wyższe wartości są domyślnie wyświetlane jako 9+. Ustaw 0, aby wyłączyć limit. Dozwolone wartości to od 0 do 999.
"Count calculation" "Sum of all enabled sources" Wybierz sumę lub "A single priority source".
"Priority source" "Cart items" Używane tylko w trybie pojedynczego źródła priorytetowego.
"Cart items" Włączone Włącza wbudowane źródło licznika koszyka.

Inne moduły mogą dodawać przełączniki źródeł. Wyłącz źródła, których nie chcesz zliczać. Plakietka, prefiks licznika i domyślne przypomnienie używają wybranej łącznej wartości, więc inne włączone źródło może utrzymywać je aktywne przy pustym koszyku.

W PrestaShop 1.7/8/9 kod przeglądarki nasłuchuje zdarzeń koszyka. W PrestaShop 1.6 obserwuje starszy licznik koszyka i opakowuje obsługiwane metody ajaxCart. Przetestuj dodawanie, usuwanie i zmiany ilości w swoim motywie.

Konfiguracja tytułu karty

Prefiks licznika

Włącz "Prefix the tab title with the count", jeśli chcesz widzieć licznik w tytule. "Title format" ma początkowo wartość ({count}) {title}. Zachowaj {title} w formacie, aby tytuł strony pozostał widoczny. Pusty format lub format bez {title} powoduje powrót do wartości domyślnej.

Przypomnienie w tle

"Attention nudge when the tab is in the background" jest początkowo włączone. Wypełnij "Nudge messages" dla każdego języka sklepu, po jednej wiadomości na wiersz. Dostarczone angielskie wiadomości to „🛒 Still thinking it over?” i „Your items are waiting”; dostarczone tłumaczenia są używane tam, gdzie są dostępne.

"Rotation interval" wynosi początkowo 4 sekundy i jest ograniczone do zakresu od 2 do 60 sekund. Domyślne przypomnienie działa, gdy karta nie ma fokusu, a wybrana wartość licznika jest dodatnia. Powrót do karty zatrzymuje przypomnienie i przywraca zwykły tytuł, łącznie z bieżącym prefiksem licznika, jeśli jest włączony.

Zmiany tytułu zachodzą w JavaScript po załadowaniu strony. Tytuł renderowany po stronie serwera pozostaje bez zmian. Kod pomija wykryte boty i przeglądarki zgłaszające navigator.webdriver, dlatego testuj zarówno w zwykłej sesji przeglądarki, jak i narzędziami automatycznymi.

Opcjonalne kampanie angażujące

Otwórz "Favicon > Engagement campaigns", aby dodać własne reguły angażowania. Podstawowe ustawienia plakietki, schematu i tytułu nie wymagają kampanii.

Ustaw "Name", wybierz "Trigger", a następnie "Match mode" jako "All conditions" lub "Any condition". Korzystaj z dostępnych w kreatorze list warunków i działań. Ustaw "Minimum re-entry delay on this page" w milisekundach; początkowo wynosi 0 i resetuje się przy nawigacji. "Priority" zaczyna się od 0, a wyższe wartości wygrywają wyłączne kanały działań. Dopuszczalny zakres wynosi od -1000 do 1000. Nowe kampanie są początkowo wyłączone; po sprawdzeniu reguły włącz "Enabled" i kliknij "Save".

Kampanie należą do wybranego sklepu. Przetestuj wyzwalacz i sprawdź nakładanie się z domyślnymi działaniami tytułu i favicon. Wyłącz kampanię na liście, jeśli chcesz zachować jej konfigurację bez jej uruchamiania.

Źródła plakietek dla programistów

Rejestracja włączonego źródła

Zarejestruj moduł dostawcy w actionRegisterFaviconBadge i zwróć deskryptor:

public function hookActionRegisterFaviconBadge($params)
{
    return [
        'id' => 'tickets',
        'label' => $this->l('Unread replies'),
        'script' => 'modules/yourmodule/views/js/source.js',
    ];
}

Identyfikatory źródeł używają małych liter, cyfr, _ lub -, maksymalnie 40 znaków. Nie używaj zarezerwowanego identyfikatora cart. Ścieżka skryptu jest opcjonalna i musi być względna wobec katalogu głównego sklepu. Moduł tworzy przełącznik dla zadeklarowanego źródła; dodane źródła są początkowo włączone.

Zarejestruj odpowiedni licznik w skrypcie:

window.mprFavicon.registerSource('tickets', function () {
    return 3; // A number or a Promise resolving to a number.
});
window.mprFavicon.update();

Wywołaj update() po zmianie wartości źródłowej. Wiążąca jest serwerowa lista włączonych źródeł. Samo zarejestrowanie dowolnego źródła JavaScript nie dodaje go do tej listy ani nie omija wyłączenia źródła przez sprzedawcę. Ten sam identyfikator źródła musi być zadeklarowany, włączony i zarejestrowany w czasie działania.

Weryfikacja i rozwiązywanie problemów

Pierwsza kontrola

  1. Zapisz ikony i sprawdź ich podglądy w panelu administracyjnym.
  2. Otwórz sklep w zwykłej przeglądarce, dodaj produkt i sprawdź plakietkę.
  3. Zmień ilość, usuń produkt i potwierdź, że plakietka znika.
  4. Przełącz systemowy tryb jasny/ciemny i sprawdź ikonę bazową.
  5. Przy dodatnim liczniku przejdź do innej karty, sprawdź przypomnienie i wróć, aby potwierdzić przywrócenie tytułu.
  6. Jeśli są włączone, przetestuj osobno prefiks licznika, ikonę administracyjną, wygenerowane odnośniki i manifest.

Typowe problemy

  • Przesłana ikona wygląda na niezmienioną. Wymuś odświeżenie i ponownie otwórz kartę. Przeglądarki buforują favicon niezależnie od zawartości strony.
  • Plakietka nie aktualizuje się w PrestaShop 1.6. Sprawdź, czy motyw ma obsługiwany licznik bloku koszyka lub integrację ajaxCart.
  • Własne źródło jest ignorowane. Sprawdź jego deskryptor PHP, przełącznik sprzedawcy, identyfikator źródła i rejestrację w czasie działania.
  • Brakuje zestawu ikon. Sprawdź źródło rastrowe, obsługę GD i możliwość zapisu w katalogu img/mprfavicon/. ICO/SVG nadal mogą być ikonami źródłowymi, ale nie mogą posłużyć do wygenerowania zestawu.
  • Nie można zmienić głównej ikony. Przeczytaj komunikat o własności, przejdź do sklepu właściciela i sprawdź uprawnienia systemu plików. Użyj działania zwalniającego w "All shops", gdy chcesz zwolnić globalną własność.
  • Podczas automatyzacji nic się nie dzieje. Kod celowo pomija WebDriver i wykryte identyfikatory user agent botów. Sprawdź wynik ręcznie.
  • Brakuje infrastruktury. Otwórz "Favicon > Integrity".

Odinstalowanie

Wyłącz nadpisywanie pliku w katalogu głównym w sklepie właściciela i potwierdź odzyskanie przed usunięciem modułu, jeśli chcesz jawnie sprawdzić przywrócenie. Odinstalowanie także podejmuje próbę odzyskania pliku głównego i usuwa zwykłą konfigurację oraz pliki favicon, gdy to przejście się powiedzie.

Jeśli odzyskanie nie może się zakończyć, odinstalowanie zachowuje konfigurację i kopie zapasowe potrzebne do ponowienia próby oraz zapisuje problem w logu. Plik zastąpiony zewnętrznie zostaje zachowany. Po odinstalowaniu sprawdź /favicon.ico i wszelkie zgłoszone błędy odzyskiwania; nie zakładaj, że każda operacja na systemie plików się powiodła.

Pytania

Brak pytań o ten moduł

Zapytaj o instalację, zgodność lub konfigurację. Odpowiedzi pojawią się tutaj.

Znane problemy

13

Znacznik koszyka używał niewłaściwej ikony motywu

RozwiązaneZaktualizowano:
Naprawiono w: 1.4.8
Znacznik koszyka mógł używać ikony niepasującej do jasnej lub ciemnej favicony wybranej przez bieżącą stronę.

Główna favicona mogła pozostać zablokowana po usunięciu sklepu

RozwiązaneZaktualizowano:
Naprawiono w: 1.4.8
Jeśli przy usuwaniu sklepu nie można było od razu zwolnić kontroli nad główną faviconą, kolejne odwiedziny nie ponawiały odzyskiwania.

Zapisane kampanie zaangażowania mogły nie działać

RozwiązaneZaktualizowano:
Naprawiono w: 1.4.4
Sklep mógł mieć zapisane kampanie, których część sklepowa nie rozpoznawała jako dostępnych po instalacji lub uzgadnianiu.

Usunięte umiejscowienia powracały automatycznie

RozwiązaneZaktualizowano:
Naprawiono w: 1.4.3
Moduł mógł ponownie rejestrować umiejscowienie w sklepie po usunięciu go przez sprzedawcę. Usunięte umiejscowienia pozostają teraz usunięte.

Zapisz i zostań nie zapisywało ustawień

RozwiązaneZaktualizowano:
Naprawiono w: 1.4.0
Zmiany wprowadzone przez Zapisz i zostań mogły znikać zamiast się zapisywać.

Odinstalowanie mogło usuwać dane odzyskiwania favicony

RozwiązaneZaktualizowano:
Naprawiono w: 1.4.0
Jeśli odinstalowanie nie mogło przywrócić oryginalnej favicony, informacje potrzebne do ponowienia próby mogły zostać utracone.

Kopie zapasowe favicony mogły stać się niedostępne

RozwiązaneZaktualizowano:
Naprawiono w: 1.3.2
Nieudane przywracanie podczas wyłączania lub odinstalowywania mogło utracić informacje potrzebne do odzyskania poprzedniej favicony. Informacje o kopii zapasowej i odzyskiwaniu są teraz zachowywane.

Usunięcie sklepu mogło blokować zmiany głównej favicony

RozwiązaneZaktualizowano:
Naprawiono w: 1.3.2
Usunięcie sklepu kontrolującego główną faviconę mogło uniemożliwić innym sklepom jej przejęcie lub przywrócenie.

Menu ustawień otwierało nieistniejącą stronę

RozwiązaneZaktualizowano:
Naprawiono w: 1.2.1
Bezpośrednie otwarcie nadrzędnego menu ustawień na PrestaShop 9.1 mogło pokazywać błąd braku strony zamiast ekranu konfiguracji.

Wspólne kontrole instalacji pomijały moduł

RozwiązaneZaktualizowano:
Naprawiono w: 1.2.1
Wspólny pulpit instalacji mógł nie wykrywać Smart Favicon i pomijać jego kontrole.

Moduł nie ładował się na PrestaShop 1.7

RozwiązaneZaktualizowano:
Naprawiono w: 1.1.2
Brak dołączonej zależności mógł powodować błąd krytyczny podczas ładowania modułu na PrestaShop 1.7.

Wymiana favicony mogła utracić poprzednią ikonę

RozwiązaneZaktualizowano:
Naprawiono w: 1.1.1
Nieudana aktualizacja ikony mogła pozostawić niepełny zestaw ikon lub nadpisać faviconę ręcznie podmienioną przez sprzedawcę. Poprzednie działające ikony są teraz zachowywane.

Pliki ikon mogły kolidować między sklepami

RozwiązaneZaktualizowano:
Naprawiono w: 1.1.1
Sklepy współdzielące instalację mogły zakłócać wzajemnie swoje wygenerowane ikony. Generowane zestawy są teraz oddzielne, a niezgodna podmiana głównej favicony jest odrzucana.

Zgłoszenia funkcji

9

Zaimplementowane

Favicony dla jasnego i ciemnego motywu

Zaimplementowane
Wyświetlaj favicon dopasowany do jasnego lub ciemnego motywu przeglądarki odwiedzającego.

Wskaźniki koszyka na żywo

Zaimplementowane
Wyświetlaj liczbę pozycji w koszyku na faviconie lub w tytule karty.

Komunikaty przyciągające uwagę na karcie

Zaimplementowane
Skonfiguruj komunikaty zwracające uwagę na sklep, gdy odwiedzający opuści jego kartę.

Ikony dla urządzeń i wyszukiwarki

Zaimplementowane
Generuj ikony w różnych rozmiarach i manifest aplikacji internetowej na podstawie przesłanego faviconu.

Zastępowanie głównego faviconu sklepu

Zaimplementowane
Opcjonalnie zastąp główny favicon sklepu, zachowując kopię zapasową do przywrócenia.

Favicon panelu administracyjnego

Zaimplementowane
Używaj własnego faviconu na stronach administracyjnych sklepu.

Ekrany pomocy i konserwacji

Zaimplementowane
Z menu modułu otwieraj zarządzanie licencją, pomoc techniczną, aktualizacje modułu i sprawdzanie instalacji.

Wyłączanie komunikatów na karcie według języka

Zaimplementowane
Wyłączaj komunikaty przyciągające uwagę na karcie dla poszczególnych języków sklepu.

Kreator kampanii angażujących

Zaimplementowane
Twórz kampanie z wyzwalaczy, warunków i działań, w tym komunikaty dla powracających klientów i oznaczenia koszyka na faviconie.

Dziennik zmian

v1.1.12025-08-04

  • Hardening: multistore-safe favicon.ico override with merchant-file protection and verified backup/restore.
  • Per-shop icon-set files and a grace period for cached manifests.
  • PHP 7.1 WebP compatibility and scheme-qualified sized icon links (192 px link, 256 px ICO entry).
  • Automatic icon-set generation right after upgrading.
Starsze wersje

v1.1.02025-07-17

  • Search-engine icon set generated from one PNG/WebP upload: 16/32/48 px link icons, 180 px Apple touch icon, 192/512 px web-app icons and a web manifest served with the correct content type.
  • Multi-size favicon.ico with an optional shop-root override — the file Bing, DuckDuckGo, Yahoo and search-result icon fetchers read — including one-time backup and automatic restore on disable or uninstall.
  • Custom back-office favicon (dedicated upload or light-icon fallback) so multiple open shop admins are distinguishable.
  • Back-office warnings when the icon set needs a raster source or the shop root is not writable.

v1.0.02025-06-12

  • Initialfree Smart Favicon release for PrestaShop 1.6-9.
  • InitialLight and dark favicon served per visitor color scheme (declarative media-query links plus a live JavaScript fallback).
  • InitialLive cart count badge drawn onto the favicon with configurable corner, colors and 9+ cap; hidden at zero.
  • InitialTab-title count prefix and polite blur-time nudge messages per language, restoring the exact original title on focus.
  • InitialPluggable badge-source registry: JavaScript API plus the actionRegisterFaviconBadge hook with per-source toggles and sum/priority modes.
  • InitialSEO-safe by design: server-rendered title untouched, JavaScript-only after load, bots excluded.

Demo

Przetestuj pełny moduł

  • Gotowy sklep demo Poznaj gotowy sklep demo w przeglądarce.
  • Bez rejestracji Bez konta, adresu e-mail ani domeny sklepu.

Otwierając to demo, akceptujesz regulamin wersji demo oraz politykę prywatności.

Ładowanie...
Do góry