Szablony ofert
Szablon oferty decyduje o tym, jak wygląda oferta w PDF - ta, którą klient pobiera z linku i którą dostaje w załączniku wiadomości. Szablon prowadzi się w panelu, w menu Konfiguracja → Szablony ofert. Jest jeden dla całej instalacji: wydruk oferty nie zależy od sklepu, więc nie ma tu wyboru sklepu.
Dopóki żaden szablon nie jest wybrany, oferty drukują się w układzie, który instalacja miała do tej pory - wygląd wydruku zmienia dopiero wybór zapisany w panelu. Wybór można zmieniać ile razy potrzeba: nowy szablon obowiązuje od razu, także w ofertach wystawionych wcześniej, bo PDF powstaje w chwili otwarcia linku albo wysłania wiadomości.
Szablony do wyboru
| Klasyczny | Nazwa sklepu w nagłówku, dane stron obok siebie, tabela z obramowaniem |
| Nowoczesny | Pasek w kolorze firmowym i lista towarów ze zdjęciami |
| Kompaktowy | Wszystko na jednej stronie: numerowana lista i podsumowanie w pasku |
| Katalogowy | Siatka towarów po dwa w rzędzie, z dużym zdjęciem, nazwą i ceną |
| Własny | Nagłówek, treść i stopka napisane tutaj, ze zmiennymi i własnymi plikami |
Ekran pokazuje je jako kafelki z obrazkiem - każdy jest złożony na danych przykładowych, więc widać, co się wybiera, jeszcze przed zapisaniem. Kliknięcie kafelka zaznacza szablon (kafelek dostaje podpis „Wybrany"), a zmiana wchodzi w życie dopiero po przycisku Zapisz wybór szablonu na dole strony - można więc klikać po kolei i oglądać, zanim zmieni się wydruk wszystkich ofert. Pod kafelkiem stoją dwa przyciski:
- Podgląd - otwiera w nowym oknie gotowy PDF tego szablonu, złożony na danych przykładowych,
- Edytuj - otwiera osobną stronę, na której pisze się szablon.
Gotowych układów nie da się zmienić w miejscu. Gdy któryś jest prawie dobry, kliknij przy nim Edytuj: jego nagłówek, treść i stopka otworzą się w edytorze, a zapisanie odkłada je jako szablon własny i od razu go wybiera. Gotowy układ zostaje przy tym nietknięty, więc zawsze możesz wrócić do niego jednym kliknięciem.
Nagłówek, treść i stopka
Szablon składa się z trzech części. Nagłówek i stopka powtarzają się na każdej stronie wydruku - tam stawia się logo, dane firmy, kontakt do handlowca i numer strony. Treść drukuje się raz i przechodzi na kolejne strony, gdy pozycji jest dużo. Nagłówek i stopka to pasek na kilka linii; dłuższa treść nie zmieści się w nim i zostanie ucięta.
Każdą część pisze się w edytorze, w którym można formatować tekst, wstawiać tabele, odnośniki i obrazki, a przyciskiem podglądu źródła - poprawić sam HTML. Wydruk powstaje z tego HTML-a, ale nie jest stroną internetową: zna tabele, obrazki i proste style przy znaczniku, a nie zna nowoczesnych układów CSS. Układ robi się więc tabelami - tak, jak buduje się wiadomości e-mail.
Podgląd
Podgląd jest w dwóch miejscach i w obu składa się na danych przykładowych, więc jest pod ręką także w instalacji, która nie ma jeszcze ani jednej oferty. Na liście szablonów obrazek na kafelku pokazuje od razu, jak kartka wygląda, a przycisk Podgląd pod kafelkiem otwiera ten sam wydruk jako PDF w nowym oknie. Na stronie pisania szablonu to samo robi Podgląd PDF - z tego, co masz w polach, także bez zapisywania, więc poprawkę widać przed zmianą wydruku ofert.
Podglądem rozstrzygającym jest PDF, a nie obrazek: obrazek na kafelku rysuje przeglądarka, a plik dla klienta składa drukarka wydruków, która czyta HTML inaczej. Przy większych zmianach w szablonie warto zajrzeć w PDF, zanim zapiszesz.
Zmienne
W nagłówku, treści i stopce używa się zmiennych - przy drukowaniu podstawiamy pod nie dane konkretnej oferty. Kliknięcie zmiennej na liście wstawia ją w miejsce kursora w ostatnio używanym polu. Każda zmienna to jedna wartość: osobno nazwa klienta, osobno ulica, osobno nazwisko handlowca - dzięki temu sam układasz, co stoi obok czego. Gotowych, niepodzielnych kawałków wydruku nie ma.
Zmienna bez wartości w danej ofercie (nieuzupełniony NIP, oferta bez handlowca) drukuje się jako puste miejsce - dlatego w gotowych układach każde pole adresu ma własną linię, a nie stoi posklejane kropkami z innymi. Nazwa, której nie ma na liście zmiennych, nie jest podstawiana pod nic i wydrukuje się tak, jak ją wpisano - razem z nawiasami.
Lista towarów i podsumowanie
Tabela towarów stoi w szablonie jako zwykła tabela, więc zmienisz w niej kolumny, ich kolejność,
szerokości i opisy. Pozycji oferty jest za każdym razem inna liczba, dlatego jeden wiersz
tabeli jest wzorem: przy drukowaniu powtarza się raz na każdy towar, a w jego komórkach
podstawiamy zmienne z grupy Wiersz towaru. Tak samo działa podsumowanie - jego wiersz-wzór
powtarza się dla liczby towarów, wartości, VAT-u i dostawy, a kwotę do zapłaty wstawia się zwykłą
zmienną {{offer_to_pay}}, żeby dało się ją wyróżnić po swojemu.
W gotowych układach nazwa towaru jest odsyłaczem do jego karty w sklepie -
klient otwiera ją jednym kliknięciem w PDF-ie. Adres niesie zmienna
{{product_url}}, więc we własnym szablonie wstawisz go tam, gdzie chcesz:
<a href="{{product_url}}">{{product_name}}</a>. Pozycja dopisana
do oferty bez towaru ze sklepu nie ma takiego adresu i drukuje się bez odsyłacza.
Wiersz-wzór jest w szablonie oznaczony - w podglądzie źródła widać go jako
<tr data-repeat="products"> (albo "summary"). To oznaczenie musi
zostać: wiersz bez niego wydrukuje się raz, z pustymi miejscami zamiast danych. Zmienne
Wiersza towaru działają tylko w takim wierszu; wstawione gdziekolwiek indziej zostaną puste.
W powtarzanym wierszu nie wstawiaj kolejnej tabeli.
Wiersz może brać dwa towary naraz - tak zbudowany jest szablon Katalogowy,
w którym towary stoją w siatce po dwa w rzędzie. Takie oznaczenie wygląda w źródle jak
<tr data-repeat="products:2">, a druga komórka wiersza czyta zmienne z numerem:
{{product2_name}}, {{product2_price}} i tak dalej. Przy nieparzystej
liczbie towarów ostatnie miejsce w rzędzie zostaje puste - komórki towaru, którego nie ma,
nie drukują się wcale.
| Oferta | |
{{offer_number}} | Numer oferty z rokiem, np. 123/2026 |
{{offer_link}} | Link do oferty online |
{{offer_pdf_link}} | Link do oferty w PDF |
{{offer_create_date}} | Data wystawienia oferty |
{{offer_expiry_date}} | Data ważności oferty |
{{offer_total_net}} | Wartość oferty netto |
{{offer_total_gross}} | Wartość oferty brutto |
{{offer_currency}} | Waluta oferty |
{{offer_products_count}} | Liczba pozycji w ofercie |
{{offer_delivery_name}} | Nazwa formy dostawy |
{{offer_delivery_cost}} | Koszt dostawy |
{{offer_note}} | Uwagi wpisane do oferty |
| Klient | |
{{client_name}} | Nazwa klienta lub firmy |
{{client_first_name}} | Imię klienta |
{{client_last_name}} | Nazwisko klienta |
{{client_email}} | Adres e-mail klienta |
{{client_phone}} | Numer telefonu klienta |
{{client_nip}} | NIP klienta |
{{client_street}} | Ulica i numer |
{{client_zipcode}} | Kod pocztowy |
{{client_city}} | Miejscowość |
| Adres dostawy | |
{{delivery_name}} | Imię i nazwisko odbiorcy |
{{delivery_company}} | Nazwa firmy odbiorcy |
{{delivery_street}} | Ulica i numer |
{{delivery_zipcode}} | Kod pocztowy |
{{delivery_city}} | Miejscowość |
{{delivery_phone}} | Numer telefonu odbiorcy |
| Handlowiec | |
{{user_name}} | Imię i nazwisko osoby prowadzącej ofertę |
{{user_email}} | Adres e-mail handlowca |
{{user_phone}} | Numer telefonu handlowca |
{{user_login}} | Login handlowca |
| Wydruk | |
{{shop_name}} | Nazwa sklepu (domena z ustawień) |
{{payment_name}} | Forma płatności oferty: przedpłata, pobranie, kredyt kupiecki |
{{offer_delivery_time}} | Termin realizacji wpisany do oferty |
{{offer_total_vat}} | Wartość podatku VAT |
{{offer_to_pay}} | Kwota do zapłaty razem z dostawą |
| Wiersz towaru | |
{{product_number}} | Numer pozycji na liście |
{{product_name}} | Nazwa towaru |
{{product_note}} | Uwaga dopisana do pozycji |
{{product_icon}} | Adres zdjęcia towaru - do wstawienia w src obrazka |
{{product_url}} | Adres karty towaru w sklepie - do wstawienia w href odsyłacza |
{{product_quantity}} | Liczba sztuk |
{{product_unit}} | Jednostka miary, np. szt. |
{{product_price}} | Cena w podstawie ustawionej w sklepie |
{{product_price_net}} | Cena netto |
{{product_price_gross}} | Cena brutto |
{{product_vat}} | Stawka VAT w procentach |
{{product_value}} | Wartość pozycji: cena razy liczba sztuk |
| Wiersz podsumowania | |
{{summary_label}} | Nazwa wiersza, np. Wartość towarów |
{{summary_value}} | Kwota wiersza razem z walutą |
| Strona | |
{{page_number}} | Numer strony wydruku |
{{page_count}} | Liczba stron wydruku |
Własne pliki
Przycisk Otwórz pliki prowadzi do plików instalacji - to miejsce na logo i inne grafiki, których potrzebuje szablon. Wgrać można obrazek w formacie png, jpg, jpeg, gif, webp, najwyżej 2 MB. Przycisk Wstaw przy pliku wkłada go do szablonu jako obrazek, a szerokość obrazka poprawisz potem w edytorze.
Pliki są widoczne publicznie - tak samo jak zdjęcia towarów - bo wydruk i przeglądarka muszą móc je pobrać. Nie wgrywaj tam więc niczego, co nie powinno trafić do klienta. Usunięcie pliku, którego używa szablon, zostawia w wydruku puste miejsce.
Kiedy warto zmienić szablon
- oferta ma nieść logo i dane firmy na każdej stronie,
- chcesz, żeby wyglądała jak list do klienta, a nie jak zestawienie,
- potrzebujesz własnej stopki - numeru strony, adresu, informacji o warunkach.