# DataFirefly Dealer Locator: tryb katalogu i mapa sprzedawców

> Ten moduł zmienia sklep PrestaShop 8 lub 9 w witrynę marki: wyłącza sprzedaż online w całym katalogu lub jego części, dodaje przycisk Gdzie kupić na stronach produktów i publikuje katalog…

- Strona: <https://www.datafirefly.com/pl/documentation/dfdealerlocator/>
- Język: pl
- Zaktualizowano: 2026-10-07
- Inne języki: [fr](https://www.datafirefly.com/documentation/dfdealerlocator/index.md), [en](https://www.datafirefly.com/en/documentation/dfdealerlocator/index.md), [es](https://www.datafirefly.com/es/documentation/dfdealerlocator/index.md), [de](https://www.datafirefly.com/de/documentation/dfdealerlocator/index.md), [it](https://www.datafirefly.com/it/documentation/dfdealerlocator/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfdealerlocator/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfdealerlocator/index.md)
- Indeks: <https://www.datafirefly.com/pl/documentation/llms.txt>

Ten moduł zmienia sklep PrestaShop 8 lub 9 w witrynę marki: wyłącza sprzedaż online w całym katalogu lub jego części, dodaje przycisk Gdzie kupić na stronach produktów i publikuje katalog sprzedawców z mapą, godzinami otwarcia, formularzem kontaktowym i stroną dla każdego sprzedawcy.

## Instalacja

1. W **Moduły > Menedżer modułów** kliknij **Załaduj moduł** i wyślij plik ZIP.
2. Moduł tworzy menu **Sprzedaż > Sieć sprzedawców** z trzema pozycjami: Sprzedawcy, Zapytania kontaktowe i Ustawienia.
3. Strona katalogu jest tworzona automatycznie z adresem URL przetłumaczonym dla każdego języka: `/gdzie-kupic`, `/where-to-buy`, `/ou-acheter`, `/wo-kaufen` itd.

Aby zaktualizować moduł, wystarczy wgrać nowy plik ZIP: skrypty aktualizacji dodają brakujące kolumny i hooki. Jeśli katalog lub strony sprzedawców zwracają błąd 404, zapisz raz **Preferencje sklepu > Ruch i SEO**, aby odtworzyć plik .htaccess.

Kompatybilność: PrestaShop od 8.0 do 9.x, multistore, bez zależności Composer. Tłumaczenia w języku angielskim, francuskim, hiszpańskim, niemieckim, włoskim, niderlandzkim, polskim i portugalskim.

## Konfiguracja trybu katalogu

Otwórz **Sieć sprzedawców > Ustawienia**, blok **Tryb katalogu**. Tryb katalogu jest stosowany w locie: natywne ustawienie PrestaShop nigdy nie jest zmieniane, a po wyłączeniu modułu wszystko wraca do normy.

### Sprzedaż online

- **Włączona**: tryb katalogu jest wyłączony, moduł działa tylko jako katalog sprzedawców.
- **Wyłączona dla całego katalogu**: żadnego produktu nie można już dodać do koszyka.
- **Wyłączona tylko dla wybranych pozycji**: tylko kategorie, marki i produkty wybrane poniżej przechodzą w tryb katalogu.
- **Wyłączona dla wszystkiego poza wybranymi pozycjami**: wybrane pozycje są nadal sprzedawane online, reszta przechodzi w tryb katalogu.

### Ceny, komunikat i koszyk

- **Ukryj ceny**: po wyłączeniu ceny pozostają widoczne. Możesz wtedy pokazać etykietę pod ceną, domyślnie Sugerowana cena detaliczna.
- **Komunikat na stronie produktu**: tekst nad przyciskiem, np. Ten produkt jest sprzedawany wyłącznie w naszej sieci autoryzowanych sprzedawców. Pozostaw puste, aby go ukryć.
- **Przekieruj koszyk i zamówienie do katalogu sprzedawców**: w pełnym trybie katalogu strony koszyka i zamówienia kierują do katalogu.

Koszyk jest blokowany po stronie serwera: wymuszone dodanie przez adres URL zostaje odrzucone.

### Wyłączone grupy klientów

Zaznacz grupy, które nadal mogą zamawiać online. Przykład: grupa Sprzedawcy, która zamawia towar w sklepie, podczas gdy klienci widzą tylko katalog.

## Przycisk Gdzie kupić

Blok **Przycisk Gdzie kupić** w ustawieniach:

- **Produkty objęte**: tylko produkty, których nie można kupić online, lub wszystkie produkty.
- **Tekst przycisku**, z tłumaczeniem.
- **Po kliknięciu**: otwórz okno z mapą i sprzedawcami produktu albo przejdź do katalogu przefiltrowanego według produktu.
- **Pokaż dostępność pod przyciskiem**: Dostępny u 14 sprzedawców, a następnie najbliższy sprzedawca, gdy odwiedzający wcześniej wyszukał lokalizację.
- **Pokaż sklepy internetowe**: sprzedawcy typu Sklep internetowy są wyświetlani osobno, z przyciskiem do produktu w ich sklepie.

Przycisk pokazuje tylko sprzedawców oferujących dany produkt (zakładka Sprzedawane produkty sprzedawcy). Okno otwiera się na ostatnio wyszukanym mieście odwiedzającego.

## Katalog i mapa

Blok **Katalog sprzedawców i mapa**:

- **Tekst wprowadzający** nad wyszukiwarką i **kolor akcentu** przycisków, znaczników i grup.
- **Domyślny środek i powiększenie** mapy, **jednostka** (km lub mile), **dostępne promienie**, **domyślny promień** (0 = bez limitu) i **maksymalna liczba wyników**.
- **Styl mapy**: CARTO Voyager, CARTO Positron, OpenStreetMap lub własny serwer kafelków (adres https zawierający {z}, {x} i {y}).
- **Pytaj przed załadowaniem mapy**: zgodnie z RODO serwer kafelków otrzymuje adres IP odwiedzającego dopiero po kliknięciu.
- **Grupuj pobliskie znaczniki** i **osobny kolor znacznika dla każdego typu**, z legendą na mapie.
- **Pełna lista sprzedawców według krajów** pod mapą, czytelna dla wyszukiwarek.
- **Osobna strona dla każdego sprzedawcy**: zob. niżej.

Odwiedzający szuka według miasta lub kodu pocztowego albo korzysta ze swojej lokalizacji. Może filtrować według typu sprzedawcy i zaznaczyć Otwarte teraz. Na telefonie przycisk przełącza między listą a mapą. Mapa Leaflet jest hostowana w module: klucz API nie jest potrzebny.

## Geokodowanie

Geokodowanie zamienia adres lub miasto na współrzędne. Wyniki są zapisywane w pamięci podręcznej bazy danych.

- **OpenStreetMap Nominatim**: bezpłatny, ograniczony do jednego zapytania na sekundę. Podaj **e-mail kontaktowy** zalecany przez zasady korzystania z Nominatim.
- **Google Geocoding API**: wymaga klucza API Google.
- **Ogranicz wyszukiwanie do tych krajów**: kody ISO oddzielone przecinkami, np. `pl,de,cz`.

## Zarządzanie sprzedawcami

Menu **Sieć sprzedawców > Sprzedawcy**. Formularz sprzedawcy ma cztery zakładki.

### Ogólne

- **Nazwa**, **typ** (sklep stacjonarny, dystrybutor, showroom, punkt serwisowy, sklep internetowy), **logo** (JPG, PNG, WebP lub GIF, maksymalnie 2 MB).
- **Partner**: odznaka Oficjalny partner, wyświetlany na początku, gdy nie podano lokalizacji.
- **Telefon**, **strona internetowa** i **e-mail**: e-mail otrzymuje zapytania kontaktowe i nigdy nie jest wyświetlany, gdy formularz kontaktowy jest włączony.
- **Link do produktu w sklepie sprzedawcy**: opcjonalny, dodaje przycisk Kup online. Dostępne znaczniki: `{reference}` `{ean13}` `{upc}` `{mpn}` `{name}` `{id_product}`. Przykład: `https://shop.example.com/search?q={ean13}`
- **Dostęp do strefy sprzedawcy**: e-mail istniejącego konta klienta (zob. Strefa sprzedawcy).

### Adres i mapa

Sprzedawca jest umieszczany na mapie automatycznie przy zapisie. Przycisk **Ustal pozycję na podstawie adresu** ponownie uruchamia geokodowanie, a pozycję można poprawić, klikając na mapie lub przeciągając znacznik.

### Opis i godziny otwarcia

Wielojęzyczny opis, siatka godzin otwarcia na 7 dni z dwoma przedziałami dziennie (drugi służy na przerwę obiadową), przyciski kopiowania poniedziałku na inne dni oraz pole **Warto wiedzieć** na święta i zamknięcia sezonowe. Pusty dzień oznacza, że sprzedawca jest nieczynny. Godziny otwarcia zasilają odznakę i filtr Otwarte teraz, obliczane w strefie czasowej sklepu.

### Sprzedawane produkty

Wybierz **Cały asortyment** lub wybrane kategorie, marki i produkty. Tylko sprzedawcy oferujący dany produkt pojawiają się w jego przycisku Gdzie kupić.

## Import i eksport CSV

Przycisk **Importuj CSV** na liście sprzedawców. Format: UTF-8, średnik jako separator, pierwszy wiersz z nazwami kolumn. Najprościej najpierw wyeksportować sprzedawców, aby otrzymać gotowy plik.

Kolumny: `id;name;type;active;featured;address1;address2;postcode;city;country_iso;phone;email;website;product_url;latitude;longitude;scope;categories;manufacturers;products;description;hours;opening`

- Wymagane jest tylko `name`. Pozostaw `id` puste, aby utworzyć sprzedawcę, lub zaznacz aktualizację istniejących sprzedawców.
- `type`: retailer, distributor, showroom, service lub online. `country_iso`: dwuliterowy kod.
- `scope`: 0 dla całego asortymentu, 1 dla wymienionych kategorii, marek i produktów, oddzielonych pionową kreską: `3|8|12`.
- `opening`: numer dnia (1 = poniedziałek), a następnie przedziały godzin, dni oddzielone ukośnikiem: `1=09:00-12:00,14:00-19:00/2=09:00-19:00/6=10:00-18:00`

Po imporcie bez współrzędnych kliknij **Umieść zaimportowanych sprzedawców na mapie**: geokodowanie działa partiami, jeden adres na sekundę. Nie zamykaj strony w trakcie operacji.

## Zapytania kontaktowe

Blok **Zapytania kontaktowe** w ustawieniach: włącz formularz przy każdym sprzedawcy, wysyłkę e-mailem do sprzedawcy, kopię na Twój adres, tekst pola zgody i stronę polityki prywatności.

Formularz jest chroniony przed spamem (pole pułapka, minimalny czas wypełnienia, pięć wysyłek na godzinę z jednego adresu IP). Zapytania są widoczne w **Sieć sprzedawców > Zapytania kontaktowe**, z filtrami, widokiem szczegółów, statusem obsłużone lub do obsłużenia i eksportem CSV.

## Strefa sprzedawcy

Włącz **Strefa sprzedawcy na koncie klienta**, a następnie wpisz w formularzu sprzedawcy e-mail istniejącego konta klienta. Po zalogowaniu ten klient widzi kafelek **Strefa sprzedawcy** w Moje konto. Może tam:

- zmieniać telefon, stronę internetową, godziny otwarcia, pole Warto wiedzieć i opis w swoim języku;
- czytać zapytania kontaktowe i oznaczać je jako obsłużone;
- przeglądać statystyki z 30 dni: wizyty na stronie, kliknięcia w telefon, wyznaczone trasy, zapytania.

Adresem i pozycją na mapie nadal zarządza marka. Jedno konto może obsługiwać kilku sprzedawców.

## Strony sprzedawców i SEO

Przy włączonej opcji **Osobna strona dla każdego sprzedawcy** każdy sprzedawca (poza sklepami internetowymi) ma stronę w rodzaju `/gdzie-kupic/12/lumiere-co-lyon`: adres, mapa, godziny otwarcia, opis, formularz kontaktowy i pobliscy sprzedawcy. Strony zawierają dane strukturalne Store z godzinami schema.org i kanoniczny adres URL, a po zmianie nazwy lub miasta przekierowują kodem 301. Są automatycznie dodawane do mapy witryny, jeśli zainstalowany jest moduł Google Sitemap (gsitemap).

## Statystyki

Strona konfiguracji pokazuje aktywność z ostatnich 30 dni: najczęściej kontaktowanych sprzedawców ze szczegółami kliknięć (strona, telefon, dojazd, zakup online, zapytania) oraz produkty z największą liczbą kliknięć Gdzie kupić.

## Integracja z motywem

Przycisk wyświetla się automatycznie przez hook `displayProductAdditionalInfo`. Aby umieścić go w innym miejscu, użyj widżetu:

- wyszukiwarka sprzedawców: `{widget name='dfdealerlocator'}`
- przycisk Gdzie kupić dla produktu: `{widget name='dfdealerlocator' id_product=$product.id}`

## Rozwiązywanie problemów

### Mapa pozostaje szara

Serwer kafelków jest prawdopodobnie blokowany przez politykę bezpieczeństwa (CSP) lub zaporę. Zezwól na domenę wybranego stylu (basemaps.cartocdn.com lub tile.openstreetmap.org) albo użyj własnego serwera.

### Przycisk Gdzie kupić się nie pojawia

Sprawdź, czy motyw wywołuje hook `displayProductAdditionalInfo` na stronie produktu i czy ustawienie Produkty objęte pasuje do testowanego produktu. W przeciwnym razie wstaw widżet do szablonu produktu.

### Adres nie zostaje znaleziony

Uzupełnij przynajmniej miasto lub kod pocztowy i kraj, a następnie kliknij Ustal pozycję na podstawie adresu. Jeśli adres nadal nie zostanie znaleziony, umieść znacznik ręcznie na mapie.

### Błąd 404 w katalogu lub na stronie sprzedawcy

Odtwórz plik .htaccess, zapisując **Ruch i SEO**, i sprawdź, czy przyjazny adres URL strony `module-dfdealerlocator-directory` jest uzupełniony w każdym języku.
