Wygląd sklepu

Standardowe szablony Comarch

Jak wyeksportować i zaimportować swój szablon w e-Sklepie?

Comarch e-Sklep daje możliwość dostosowania wyglądu do preferencji sprzedawcy oraz potrzeb Klientów. Jeśli utworzyłeś już swój autorski projekt, to masz możliwość jego zapisania. Plik będzie potrzebny przy chęci modyfikacji wyglądu. Zapisana wersja szablonu może również stanowić kopię bezpieczeństwa. Warto jest więc wyeksportować szablon do pliku.

Jak wyeksportować swój szablon z Comarch e-Sklep?

Krok 1. W panelu administracyjnym przejdź do sekcji Wygląd Sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane/ zakładka Eksport szablonu.

Krok 2. W tym miejscu możesz opcjonalnie (przed eksportem) określić autora szablonu, podać adres e-mail, telefon oraz adres WWW swojego e-Sklepu.

Krok 3. Jeżeli chcesz wyeksportować szablon do pliku użyj przycisku Eksportuj szablon.

Gotowe! Szablon został wyeksportowany do pliku na Twoim urządzeniu.

Wskazówka
Z tego miejsca możesz także wyeksportować posiadane w e-Sklepie bannery, korzystając z przycisku Eksportuj bannery.

Jak wgrać własny szablon do Comarch e-Sklep?

Własny szablon. Jak go wgrać?

Po skomponowaniu swojego własnego szablonu możesz wgrać go do e-Sklepu. Postępuj zgodnie z poniższymi krokami.

Krok 1. W panelu administracyjnym przejdź do sekcji Wygląd Sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane/ zakładka Import szablonu.

Krok 2. Określ, czy wgrywany szablon ma podmienić istniejące bannery. Gdy parametr zostanie zaznaczony, wówczas wszystkie bannery zapisane na danym slocie zostaną usunięte i zastąpione bannerami z importowanego szablonu.

Krok 3. Wybierz plik XML swojego szablonu i naciśnij Importuj szablon.

Uwaga
Import szablonu jest operacją nieodwracalną i spowoduje nadpisanie dotychczasowego szablonu. W przypadku, gdy szablon był modyfikowany (dokonywano zmian w kodzie HTML) jego aktualizacja spowoduje, iż zmiany nie zostaną przeniesione. Warto wykonać eksport posiadanego szablonu do pliku w celu zapisania oraz posiadania wglądu to wprowadzanych modyfikacji. Jeżeli istnieje taka konieczność należy ponownie dokonać samodzielnej edycji szablonu

Wskazówka
W zakładce Szablony możesz określić, czy wgrywany szablon ma być domyślny i aktywny w e-Sklepie.

Krok 4. Teraz możesz podejrzeć zmiany, jakie zaszły w wyglądzie Twojego e-Sklepu. W tym celu możesz podejrzeć zmiany w czasie rzeczywistym lub przejść w tryb incognito. Pamiętaj, że wszelkie zmiany zostaną opublikowane po pełnej synchronizacji, która wciągu 10 minut zgodnie z wyświetlanym komunikatem.

Gotowe! Twój szablon został zaimportowany do e-Sklepu.

Polityka bezpieczeństwa haseł

Z powodów bezpieczeństwa we wszystkich standardowych szablonach została wprowadzona zmiana odnośnie wymagań dotyczących hasła dla Klientów w Comarch e-Sklep. Nowe hasło powinno:
  • składać się z minimum 8 znaków
  • zawierać dużą literę
  • zawierać małą literę
  • cyfry 0-9
  • znaki specjalne:  ‘ ! @ # $ ^ & * ( ) + = , – : [  ] ; { } . _
Wskazówka
System weryfikuje wpisywanie hasła na bieżąco(w momencie pisania) w formie graficznej, zgodnie z powyższymi wymogami bezpieczeństwa. Opcja widoczna jest w szablonach Topaz od wersji 2022 oraz Szafir od wersji 2021.
Nowe hasło spełnić łącznie wszystkie powyższe 5 warunków. Zmiana dotyczy wszystkich klientów: zarejestrowanych wcześniej przed zmianą oraz nowych, którzy będą się rejestrować po raz pierwszy.

Jak wykonać kopię bezpieczeństwa mojego szablonu?

Jak wykonać kopię bezpieczeństwa mojego szablonu?

Oprawa wizualna sklepu jest bardzo ważnym elementem podczas prowadzenia sprzedaży w sieci. Narzędzie Kreator Wyglądu Comarch e-Sklep umożliwia stworzenie własnych, niepowtarzalnych szablonów wedle preferencji i potrzeb użytkowników. W intuicyjnym narzędziu jakim jest Kreator, będziesz w stanie zaprojektować wszelkie niezbędne funkcje, takie jak stronę główną, listę towarów, szczegóły towaru oraz koszyk. Jeśli Twój projekt szablonu został zaimportowany do e-Sklepu oraz skonfigurowany wedle Twoich preferencji (dodanie grafik do bannerów, modyfikacje kolorystyczne) masz możliwość jego zapisania, co będzie stanowić kopię bezpieczeństwa. Kopia bezpieczeństwa to dane, które w każdej chwili można odtworzyć w przypadku ich utracenia (np. poprzez przypadkowe usunięcie) lub częstego wprowadzania zmian. Dane, jakie może zawierać kopia bezpieczeństwa to szablon, który wcześniej został przez nas wygenerowany wraz z bannerami. Zaleca się wykonywanie kopii zapasowych oraz zabezpieczenie ich hasłem. Każda wykonana kopia zapasowa powinna zostać zapisana w bezpiecznym i dogodnym dla Użytkownika miejscu.

Jak wykonać kopię bezpieczeństwa?

W Panelu Administracyjnym przejdź do sekcji Wygląd sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane, a następnie przejdź do zakładki Eksport szablonu. W pustych polach znajdujących się w zakładce Eksport szablonu, opcjonalnie przed eksportem możesz uzupełnić powyższe dane, tj. Autora szablonu, e-mail, telefon i stronę WWW sklepu. Aby wyeksportować szablon, kliknij Eksportuj szablon. Wyeksportowany plik jest w formacie XML, a jego nazwa zawiera szablon oraz wersję, co znacznie ułatwia zarządzanie kopiami bezpieczeństwa w przypadku wykonywania ich regularnie.

Jak wyeksportować bannery?

Bannery, które znajdują się w Twoim sklepie możesz również wyeksportować tworząc kopię bezpieczeństwa. W tym celu także musisz przejść do Wygląd sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane, a następnie do zakładki Eksport szablonu. Obok przycisku Eksportuj szablon, znajduje się przycisk Eksportuj bannery, który musisz kliknąć aby bannery, które posiadasz w e-Sklepie zostały weksportowane. Kopia bezpieczeństwa jest również zapisywana w formacie XML, a nazwa pliku wskazuje na szablon, wersję i zawartość bannerów.

Jak zabezpieczyć hasłem swój szablon?

Jeśli chcesz, aby Twój szablon został zabezpieczony hasłem, a znajomość hasła była niezbędna podczas zaimportowania tego szablonu do e-Sklepu, musisz w tym celu przejść w Panelu Administracyjnym do sekcji Wygląd sklepu/ Ustawienia/ Ustawienia zaawansowane, następnie do zakładki Szablon. W tym miejscu nadasz hasło dla swojego szablonu. Zgodnie z Polityką bezpieczeństwa haseł, hasło powinno:
  • Składać się z minimum 8 znaków,
  • Zawierać dużą literę,
  • Zawierać małą literę,
  • Zawierać cyfrę 0-9,
  • Zawierać znak specjalny – ‘!.+?;^]=-(&_)#=
Gotowe! Teraz Twój szablon został zabezpieczony hasłem. Jeśli wyeksportujesz szablon, który zabezpieczyłeś hasłem – podczas importu tego szablonu, będziesz musiał podać nadane wcześniej hasło. Jego brak uniemożliwi import szablonu, a podanie błędnego hasła spowoduje nieprawidłowe działanie szablonu po imporcie. Więcej informacji znajdziesz:

Obsługa Tłumacza Google w szablonach

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

Obsługa Tłumacza Google w szablonach

W Comarch e-Sklep możesz ułatwić zakupy swoim Klientom udostępniając możliwość tłumaczenia stron z pomocą Tłumacza Google. Opcja dotyczy wszystkich szablonów Comarch.

Jak włączyć Tłumacz Google w szablonie?

Szablon Szafir, Bursztyn, Agat, Opal

W panelu administracyjnym przejdź do Wygląd sklepu/ Ustawienia, a następnie w sekcji Ustawienia Dodatkowe oznacz parametr „Zezwól na tłumaczenie strony przez Tłumacz Google”: Wprowadzone zmiany zapisz i opublikuj.

Szablon Topaz, Szafir, One Page Shop

W panelu administracyjnym przejdź do Wygląd sklepu/ Ustawienia/ Dodatkowe i oznacz parametr Zezwól na tłumaczenie strony przez Tłumacz Google: Wprowadzone zmiany zapisz i opublikuj. Po zapisaniu i publikacji wprowadzonych zmian, na stronie Twojego sklepu u góry wyświetli się Tłumacz Google pozwalający na wybór języka.

Polecane produkty, kategorie oraz bannery w wyszukiwarce

Wstęp

Parametry wyszukiwania stanowią istotny element w funkcjonowaniu sklepu internetowego. Wygodne oraz efektywne przeszukiwanie asortymentu zachęca klientów do kontynuacji zakupów. Aktualnie, po kliknięciu w pole wyszukiwania, klienci natychmiast uzyskują dostęp do polecanych produktów, kategorii i wybranych marek. Nowa funkcja nie tylko ułatwia skuteczne przeglądanie oferty, ale również pełni rolę skutecznego narzędzia do promowania asortymentu. Dzięki łatwemu dostępowi do rekomendacji, zwiększasz atrakcyjność swojego e-Sklepu, umożliwiając klientom bardziej intuicyjne odkrywanie interesujących produktów. Wyżej opisaną funkcjonalność możesz włączyć w dwóch miejscach:
  • Na ustawieniach nagłówka w Kreatorze wyglądu:
  • W panelu administracyjnym w zakładce Wygląd sklepu/ Ustawienia/ Ustawienia sklepu/ Dodatkowe. W tym miejscu wybierz w Widoku wyszukiwania towarów w nagłówku opcję ’Z rekomendacjami”.
Pojawiający się popup z rekomendacjami składa się z trzech osobnych elementów, jakimi są:
  • Polecane produkty
  • Polecane kategorie
  • Polecane marki
Produkty polecane skonfiguruj przechodząc do panelu administracyjnego do zakładki  Wygląd sklepu/ Ustawienia/ Więcej(trzy kropki)/ Edytuj ustawienia zaawansowane/ Obiekty. Odnajdź obiekt header-recomm-products, po czym wybierz jeden typ z listy. Do wyboru masz:
  • Ostatnio oglądane,
  • Ręczny,
  • Grupa towarowa,
  • Producent,
  • Marka.
Wskazówka
W popupie z rekomendacjami wyświetlonych zostanie maksymalnie 6 polecanych towarów
Kategorie polecane skonfiguruj przechodząc do panelu administracyjnego do zakładki Wygląd sklepu/ Ustawienia/ Więcej(trzy kropki)/ Edytuj ustawienia zaawansowane/ Obiekty. Odnajdź na obiekt header-recomm-categories, po czym wybierz jeden typ z listy:
  • Grupy najwyższego poziomu,
  • Podgrupy począwszy od,
  • Wybrane,
  • Zawężaj menu do wybranej grupy.
Przyklad
Jeśli kategoria ma więcej niż trzy podkategorie, to widoczna będzie jedynie ta, która jest ostatnia
Polecane marki skonfiguruj przechodząc do panelu administracyjnego do zakładki  Wygląd sklepu/ Ustawienia/ Bannery w obiekcie headerRecommLogos. Dodaj odpowiednie zdjęcia. Możesz także dodać link. Dzięki temu po kliknięciu w banner ostaną przekierowany na podany adres URL.
Wskazówka
Jeśli obiekt header-recomm-categories,  header-recomm-products lub banner headerRecommLogos zostanie usunięty, to popup z rekomendacjami nie będzie widoczny na stronie

Jak zaktualizować szablon do najnowszej wersji?

Jak zaktualizować szablon do najnowszej wersji?

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

Wstęp

W e-Sklepie możesz dowolnie zmieniać szablony. Możesz je także modyfikować oraz aktualizować. Wiąże się to z wgraniem zupełnie nowego szablonu na miejsce starego. Aktualizacja wyglądu powoduje zmianę dotychczasowych ustawień. Przed każdą aktualizacją polecamy utworzyć odpowiednią dla siebie instrukcję, która będzie zawierała Twoje ustawienia kolorów czy modyfikacje w kodzie szablonu. Możesz także wyeksportować dotychczasowy szablon, aby stanowił on kopię bezpieczeństwa.

Jak zaktualizować szablon?

Instrukcja aktualizacji szablonów: Rubin, Szafir, Topaz i One Page Shop (dostępnych w Kreatorze Wyglądu)

Aby zaktualizować szablon Rubin, Szafir, Topaz lub One Page Shop należy skorzystać z aktualnej wersji Kreatora Wyglądu, do którego odnośnik znajduje się w panelu administracyjnym e-Sklepu w sekcji Wygląd sklepu/ Kreator wyglądu. Istnieją dwie możliwości aktualizacji tych szablonów:

  • wygenerowanie nowego szablonu w Kreatorze Wyglądu oraz wgranie go do e-Sklepu,
  • import posiadanego szablonu do Kreatora Wyglądu oraz ponowne wygenerowanie go w najnowszej wersji.

Wyeksportowany z Kreatora Wyglądu szablon należy wgrać do e-Sklepu. W panelu administracyjnym e-Sklepu, w sekcji Wygląd sklepu znajduje się bezpośredni odnośnik do importu szablonu z Kreatora wyglądu. Szczegółowa instrukcja dostępna jest w artykule Jak wyeksportować i zaimportować swój szablon w e-Sklepie?

Podczas dokonywania modyfikacji w szablonach zachęcamy do skorzystania z naszego Centrum Pomocy.

Wskazówka
Pamiętaj o zapisaniu szablonu oraz opublikowaniu go w e-Sklepie. Zmiany wprowadzone w ustawieniach zostaną zsynchronizowane do sklepu po 10 minutach.

Instrukcja aktualizacji szablonów: Bursztyn, Agat i Opal.

Aby zaktualizować szablon Bursztyn, Agat lub Opal należy w panelu administracyjnym e-Sklepu przejść do sekcji Wygląd Sklepu/ Gotowe szablony Comarch, w której znajdują się najnowsze wersje szablonów dostępne do zainstalowania. Z wyświetlonej listy należy wybrać szablon, który ma zostać wgrany do e-Sklepu. W tym celu wybierz przycisk Chcę pobrać i zainstalować szablon:

Następnie wyświetli się nowe okno, w którym należy:

  • wybrać tzw. slot, który zostanie nadpisany nowym (aktualnym) szablonem. W każdym e-Sklepie dostępne są 4 miejsca na wgranie szablonu, spośród których jeden szablon oznacza się jako aktywny i domyślny,
  • określić, czy wgrywany szablon ma podmienić istniejące bannery. Gdy parametr zostanie zaznaczony, wówczas wszystkie bannery zapisane na danym slocie zostaną usunięte i zastąpione bannerami z importowanego szablonu. Jeżeli w nadpisywanym szablonie znajdują się bannery oraz lookbooki, które mają nadal wyświetlać się w e-Sklepie, należy wskazany parametr zostawić odznaczony. Gdy parametr nie zostanie zaznaczony, wówczas dotychczasowe bannery i lookbooki nie zostaną usunięte.
  • Zaimportować szablon do e-Sklepu.
    Wskazówka
    Import szablonu jest operacją nieodwracalną i spowoduje nadpisanie dotychczasowego szablonu. W przypadku, gdy szablon był modyfikowany (dokonywano zmian w kodzie HTML) jego aktualizacja spowoduje, iż zmiany nie zostaną przeniesione. Warto wykonać eksport posiadanego szablonu do pliku w celu zapisania oraz posiadania wglądu to wprowadzanych modyfikacji. Jeżeli istnieje taka konieczność należy ponownie dokonać samodzielnej edycji szablonu.

Aby nowy szablon pojawił się w e-Sklepie należy upewnić się, czy jest on aktywny oraz ustawiony jako domyślny. W sekcji Wygląd sklepu/Ustawienia/Edytuj ustawienia zaawansowane w zakładce Szablon znajdują się odpowiedzialne za to parametry, które powinny być zaznaczone.

Wszelkie zmiany należy zapisać, a następnie opublikować.

Uwaga
Jeżeli szablon nie zostanie opublikowany, wówczas nie pojawi się on w e-Sklepie.

Instrukcja aktualizacji innych szablonów (niż szablonów Comarch) oraz aktualizacji szablonów z własnymi modyfikacjami

Jeżeli w swoim Comarch e-Sklepie korzystasz z własnego szablonu, czyli innego niż gotowe szablony Comarch, to powinieneś jego aktualizację przeprowadzić we własnym zakresie lub zlecić ją firmie/ osobie, która dla Ciebie przygotowała ten szablon. W przypadku, gdy korzystasz z gotowego szablonu Comarch, ale wprowadziłeś do niego indywidualne zmiany (poza Kreatorem Wyglądu), to również we własnym zakresie (lub ze wsparciem autora zmian) musisz zadbać o aktualizację swojej wersji szablonu.

Wybór szablonu startowego

Wstęp

W przypadku pierwszej konfiguracji, na stronie sklepu nie ma zaimportowanego żadnego z szablonów. Rozpoczynając pracę z Comarch e-Sklep, przy pierwszym wejściu na adres Twojego sklepu, otworzy się strona z wyborem szablonu graficznego.

First run

Po wejściu na sklep pokaże się widok „First Run”. Umożliwia on pierwsze dostosowanie wyglądu strony. W widoku "First run" będziesz mógł stworzyć swój własny szablon w Kreatorze wyglądu lub wybrać spośród darmowych wzorów przygotowanych przez Comarch:
Dla każdego z nich zostały przygotowane dokładne opisy w czterech wersjach językowych: polskim, angielskim, niemieckim i francuskim oraz specjalne sklepy demonstracyjne. Dzięki temu można zapoznać się z różnymi projektami wyglądu dla różnych branż w tym branży kosmetycznej, odzieżowej czy spożywczej. Dokładne przedstawienie każdego z szablonów może służyć, jako inspiracja przy wyborze właściwego wyglądu dla nowego sklepu. First Run oferuje prostą instalację szablonu. Wystarczy przejść do szczegółów wybranego widoku, a następnie wybrać „Zainstaluj”. Dany szablon zostanie zaimportowany na pierwszy z czterech dostępnych slotów udostępnionych w ramach ustawień wyglądu sklepu.

Kreator wyglądu

Aby stworzyć nowy szablon w panelu administracyjnym e-Sklep w zakładkę Wygląd sklepu/ Kreator wygląduzostaniesz przekierowany na stronę kreatora, następnie wybierz, czy chcesz stworzyć szablon dla sklepu B2B czy B2C. W kolejnym korku będziesz mógł wybrać, czy opcję Dokończ poprzedni szablon bądź Stwórz nowy projekt Następnie w przypadku tworzenia nowego projektu w oknie wyboru będziesz mógł wskazać właściwy szablon, który będziesz mógł dostosować do własnych preferencji względem dostępnych opcji.
Wskazówka
Więcej informacji na temat edycji szablonów znajdziesz w centrum pomocy dotyczącej  kreatora wyglądu.
Zapisanie i pobranie na dysk utworzonego wzorca możesz wykonać klikając przycisk Generuj. Natomiast pobrany szablon możesz ponownie edytować po wgraniu go do kreatora za pomocą opcji Importuj szablon. Gotowy szablon zaimportujesz w panelu Comarch e-Sklep w zakładce Wygląd sklepu/ Zaimportuj szablon z Kreatora wyglądu.   Następnie należy wgrać pobrany szablon klikając w Wybierz plik XML. Po wgraniu szablonu  kliknij Importuj Szablon.

Gotowe szablony Comarch

Gotowe szablony Comarch przy pierwszym uruchomieniu sklepu można wgrać na dwa sposoby:
1. Przy pierwszym wejściu na adres Twojego sklepu
Pojawi się strona z gotowymi szablonami:
Wskazówka
Szablon Szafir, dostępny jest dla sklepów w wersji B2B oraz Enterprise
Po kliknięciu w jeden z gotowych szablonów Comarch możesz potwierdzić jego wybór lub podejrzeć jak prezentuje się na naszym sklepie demo.  

2. Wybór szablonu z panelu administracyjnego Comarch e-Sklep

Standardowe szablony dostępne są w panelu Comarch e-Sklep w zakładce Wygląd sklepu/ Gotowe szablony Comarch. Po kliknięciu w Chcę pobrać i zainstalować szablon, szablon zostanie zapisany. Pojawi się komunikat o pomyślnym przeprowadzeniu zmian.   Wybrany szablon można w każdej chwili zmienić w panelu administracyjnym e-Sklepu. Podstawowe informacje o naszych darmowych szablonach znajdziesz w artykule Gotowe szablony Comarch. Instalacja szablonów z poziomu panelu administracyjnego opisana w artykule Szablony w sklepie.

3. Wgranie własnego szablonu do Comarch e-Sklep

W e-Sklepie możesz także wgrać własny szablon. Jeśli został on już przez Ciebie utworzony i wygenerowany w Kreatorze Wyglądu, to wystarczy wgrać go do Twojego e-Sklepu, aby móc cieszyć się jego unikalnym wyglądem. Można to zrobić za pomocą opcji Wygląd sklepu/ Zaimportuj szablon z Kreatora wyglądu.

 

Gotowe szablony Comarch

Comarch e-Sklep umożliwia tworzenie oraz edycję szablonów graficznych opartych na silniku DotLiquid wykonanych w technice Responsive Web Design (RWD). Dzięki tej technologii strona sklepu dostosowuje się automatycznie do rozdzielczości urządzenia, na którym jest wyświetlana i nie ma potrzeby tworzenia osobnych szablonów dla wersji mobilnej. Dodatkowo wszystkie standardowe szablony są dostosowane do wyświetlania w rozdzielczości 4K.

Domyślnie użytkownicy Comarch e-Sklep mają dostęp do pięciu darmowych szablonów: Topaz, Dla gastronomii i One Page Shop (generowane przez Kreator wyglądu) oraz Szafir i Rubin(dostępny dla wersji B2B w Kreatorze B2B).

Więcej o darmowych szablonach przeczytasz w artykułach Szablon Rubin, Szablon Dla gastronomii, Szablon Szafir, Szablon Topaz i Szablon One Page Shop. Szablony te można poddać edycji w celu spersonalizowania wyglądu swojego sklepu dzięki prostym ustawieniom w panelu administracyjnym, gdzie można zmienić takie parametry jak:

  • Motyw kolorystyczny – możliwość skorzystania z kliku predefiniowanych motywów i ich edycji,
  • Ustawienia wstążek – zmiana kolorystyki flag promocyjnych na towarach,
  • Kolory komunikatów – możliwość zmiany kolorystyki komunikatów pojawiających się w e-Sklepie,
  • Bannery – możliwość tworzenia własnych bannerów (zdjęcia, opis, linki), zmiana animacji bannera,
  • Logo i Favicon – możliwość wgrania własnego logo i Favicon (ikony widocznej na zakładce przeglądarki),
  • Obiekty – konfigurowalne obiekty pozwalające np. na zmianę rodzaju towarów wyświetlanych na stronie głównej,

Dla bardziej zaawansowanych użytkowników znających technologie takie jak HTML, CSS, JS, DotLiquid udostępniony jest obszar z plikami szablonu, gdzie można dokonywać zmian na poziomie kodu szablonu, co daje praktycznie nieograniczone możliwości edycji i personalizacji wyglądu sklepu.

Wymagania:

Wspierane przeglądarki (minimalna wersja)
  •   Mozilla Firefox – aktualna wersja przeglądarki, nie starsza niż trzy miesiące,
  •   Google Chrome – aktualna wersja przeglądarki, nie starsza niż trzy miesiące,
  •   Microsoft Edge – aktualna wersja przeglądarki, nie starsza niż trzy miesiące.
W obszarze Wygląd sklepu/ Gotowe szablony Comarch znajdziesz listę wszystkich darmowych szablonów Comarch. Poprzez link Zobacz demo Możesz obejrzeć sklepy demonstracyjne przygotowane dla każdego z szablonów oraz pobrać i zainstalować wybrany przez siebie szablon. Szczegóły dotyczące edycji szablonów znajdziesz w kategorii Dostosowanie wyglądu.

Kreator wyglądu szablonu Rubin

Wstęp

Jednym z kluczowych elementów wpływających na sukces w branży e-commerce jest odpowiednia oprawa wizualna sklepu internetowego. To ona w dużej mierze kształtuje wrażenia użytkowników oraz wpływa na przebieg ich procesu zakupowego. Dzięki narzędziu Kreator Szablonu Rubin (B2B) właściciele sklepów mają możliwość stworzenia unikalnego, dopasowanego szablonu, który będzie obsługiwał zarówno klientów detalicznych, jak i firmy, łącząc modele B2B oraz B2C.

Zastosowanie

Kreator Szablonu Rubin to intuicyjne narzędzie do projektowania wyglądu sklepu. Wszystko odbywa się na poziomie strony internetowej, gdzie przy pomocy metody "przeciągnij i upuść" możesz stworzyć szablon idealnie pasujący do Twojego sklepu.

Kreator pozwala na zaprojektowanie wszystkich kluczowych obszarów sklepu, w tym:

  • Strony głównej.
  • Listy towarów.
  • Koszyka.

Kto może używać tej opcji?

Aby móc używać tego narzędzia należy posiadać:

  • Comarch e-Sklep w wersji Enterprise lub B2B,
  • szerokość ekranu powyżej 1280 px, a zalecana to 1920 px,
  • oraz jedną z przeglądarek internetowych w aktualnej wersji.

Wskazówka
Kreator szablonu Rubin dostępny jedynie w wersji przeglądarkowej.

Zaczynamy!

Jak zaprojektować układ szablonu?

Aby rozpocząć projektowanie szablonu, należy udać się na stronę Kreatora Wyglądu, gdzie pojawi się powitalny komunikat. Na początku trzeba wybrać, dla jakiego typu sprzedaży ma być stworzony szablon – detalicznej lub hurtowej. Sprzedaż hurtowa jest dedykowana tym, którzy chcą oferować swoje produkty także klientom biznesowym w większych ilościach. Po dokonaniu wyboru modelu sprzedaży, wystarczy kliknąć przycisk „Rozpocznij pracę”. Następnie, użytkownik będzie miał możliwość stworzenia nowego szablonu lub edytowania jednego z dostępnych, gotowych szablonów.

  W sytuacji gdy wcześniej tworzony był już projekt, widoczny będzie przycisk umożliwiający dokończenie szablonu lub rozpoczęcie nowego projektu. Opcja Nowy szablon umożliwia zbudowanie od początku nowego szablonu Rubin według Twojego indywidualnego pomysłu.   W ramach szablonów B2B do wyboru zostały udostępnione szablon Rubin oraz szablon Szafir w trzech wersjach kolorystycznych. Są to gotowe wersje szablonów z możliwością ich edycji. Dzięki temu nie musisz zaczynać pracy od zera – wystarczy, że wybierzesz jeden z dostępnych szablonów, a następnie łatwo dopasujesz go do swoich wymagań. Podwójne kliknięcie na wybrany kafelek pozwala przejść do kolejnego etapu. W trzech prostych krokach zapoznasz się z podstawowymi funkcjami kreatora. Po ich przejściu, możesz rozpocząć dalsze dostosowywanie szablonu lub od razu wygenerować przygotowaną wersję szablonu Rubin.

Od czego zacząć?

Wybierz preferowaną wersję językową Kreatora i rozpocznij tworzenie swojego szablonu. Dostępne opcje to: język polski, angielski, niemiecki oraz francuski. Aby zmienić język, kliknij strzałkę obok flagi i nazwy języka w lewym dolnym rogu. Po wybraniu języka, przy podglądzie na pełnym ekranie, szablon będzie wyświetlany w wybranej wersji językowej.

Po ustawieniu wersji językowej dla Kreatora, warto nadać nazwę swojemu szablonowi. Można to zrobić klikając „Zmień” w lewym górnym rogu, a następnie wpisując nową nazwę, która zastąpi domyślną nazwę „Rubin”. Ta nazwa będzie widoczna po zaimportowaniu szablonu do panelu administracyjnego oraz po wyeksportowaniu go do pliku XML, wraz z datą i godziną wygenerowania szablonu.

Krok 1 - Strona główna

W tej sekcji należy zaprojektować wygląd strony głównej naszego Comarch e-Sklepu dla szablonu Rubin. Strona główna może składać się z następujących elementów:

  • Nagłówek,
  • Baner,
  • Widget,
  • Banner pop-up,
  • Proponowane,
  • Newsletter,
  • Slider producentów,
  • Slider marek,
  • Aktualności,
  • Banner infografika,
  • Element tekstowy,
  • Stopka.

Po kliknięciu w strzałkę, sekcje rozwiną się i pokażą dostępne elementy:

Metodą "Przeciągnij i upuść" przenosimy wybrane elementy na obszar po prawej stronie:

Postępuj analogicznie z pozostałymi elementami.

Nagłówek

Sekcja „Nagłówek” prezentuje jeden widok. Nagłówek dodatkowo można konfigurować w zakresie funkcji związanych ze składaniem Zapytań o wycenę.

Bannery

Sekcja "Bannery" pozwala dodać slider. Informacje dotyczące rekomendowanych rozmiarów obrazków w bannerach opisaliśmy w tym artykule.

Widget

Sekcja "Widget" pozwala dodać jeden element, który pozwoli zaprezentować następujące funkcj:
  • dodanie zdjęcia,
  • dodanie tekstu tekstu nagłówka (tekst pionowy),
  • dodanie linku do przycisku,
  • dodanie tekstu.

Banner pop-up

Sekcja „Banner pop-up” pozwala na dodanie bannera w formie popupu. Banner ten jest możliwy do wyświetlenia jedynie na stronie głównej e-Sklepu.

Proponowane

Sekcja „Proponowane” oferuje dodatkowe opcje do konfiguracji. Z menu rozwijanego, dostępnego po kliknięciu przycisku „Zmień typ”, możesz wybrać kategorię produktów, które mają być wyświetlane w tej sekcji (np. nowości, najczęściej oglądane, wyprzedaż, sugerowane). Po dokonaniu zmiany typu, sekcja zostanie odpowiednio nazwana po załadowaniu szablonu do sklepu.

Dodatkowo po najechaniu kursorem na tę sekcję, wybierając Opcje, możemy ustawić liczbę towarów, która będzie się wyświetlać (maksymalnie 50).

Podczas tworzenia szablonu w Kreatorze wyglądu Rubin po dodaniu sekcji towary polecane można określić typ wyświetlanych produktów. Nazwa sekcji jest zależna oraz adekwatna do określonego typu. Daną nazwę można modyfikować w tłumaczeniach szablonu. Dodatkowo każdy wybrany typ jest podlinkowany do wszystkich produktów wskazanego rodzaju. W zależności od wybranego typu, edycji parametrów wyświetlania dokonasz w panelu administracyjnym e-Sklepu. Z kolei informację o typie towaru ustawisz w systemie ERP. Typy towarów edytowane z poziomu panelu administracyjnego Comarch e-Sklep:
  • Promocja,
  • Nowość,
  • Wyprzedaż,
  • Super jakość,
  • Super cena,
  • Rekomendacja sprzedawcy,
  • Zapowiedź,
  • Sugerowane,
  • Towar polecany,
  • Najczęściej oglądane / najczęściej kupowane,
  • Cross-selling - oferowanie produktów uzupełniających wcześniejsze zakupy,
Aby zdecydować o parametrach wyświetlania tych informacji należy przejść w panelu administracyjnym Comarch e-Sklep do zakładki Ustawienia > Ustawienia sklepu > Towary:

Producent, marka, ręcznie wybrane produkty, kategoria oraz ostatnio oglądane są obsługiwane w ramach lokalnego obiektu "Siatka towarów". Aby wprowadzić zmiany w ustawieniach dla jednego z tych typów, należy przejść do panelu administracyjnego do opcji Wygląd sklepu > Ustawienia >Ustawienia zaawansowane, a następnie do zakładki Obiekty. W szczegółach wybranego obiektu (Siatka towarów) można określić, które produkty będą wyświetlane w sekcji "Proponowane". W przypadku wyboru "Producenta" lub "Marki" konieczne jest ręczne wskazanie odpowiedniego producenta lub marki.

Dodawanie informacji o typie produktu w systemie ERP dotyczy:
  • Nowości,
  • Produktu z gazetki,
  • Produktu polecanego,
  • Wyprzedaży,
  • Promocja,
  • Nowość,
  • Super jakości,
  • Super ceny,
  • Najlepszej oceny,
  • Rekomendacji sprzedawcy.
Informacja tego typu ustawiana jest bezpośrednio na karcie towaru w systemie ERP poprzez zaznaczenie odpowiedniej flagi w systemie ERP XL (zakładka aplikacje) lub atrybutu czasowego w ERP Optima (zakładka e-Sklep, sekcja atrybuty czasowe). Po wybraniu konkretnej opcji w systemie ERP na karcie danego produktu w Comarch e-Sklep zostanie dodana odpowiednia informacja.

Newsletter

Dla newslettera możliwe jest ustawienie stałej sekcji na stornie głównej lub newslettera w postaci popupu:

Slider marek

Sekcja "Slider marek" pozwala na dodanie do szablonu widoku slidera z logo marek. W sliderze wyświetlane są logotypy marek, które zostały zaimportowane z systemu ERP. Po kliknięciu na wybrane logo, użytkownik zobaczy listę produktów przypisanych do danej marki. Sekcje te mogą być umieszczone w dowolnym miejscu na stronie głównej szablonu.

Slider producentów

Sekcja "Slider producentów" pozwala na dodanie do szablonu widoku slidera z logo producentów. W sliderze wyświetlane są logotypy producentów zaimportowane z systemu ERP. Po kliknięciu na wybrane logo, użytkownik zobaczy listę produktów przypisanych do danego producenta. Sekcje te mogą być umieszczone w dowolnym miejscu na stronie głównej szablonu.

Aktualności

Sekcja umożliwia zamieszczenie aktualności na stronie głównej w formie listy artykułów z bloga. Tekst wprowadza się w panelu administracyjnym przechodząc do zakładki  Marketing > Blog.

Banner infografika

Sekcja "Banner infografika" pozwala na zaprezentowanie korzyści z zakupów w Twoim sklepie. Dotyczą one obszarów: informacji o dostawie, płatnościach czy obowiązujących rabatach rabatach. Banner możesz dodać tylko do strony głównej. Obrazki są możliwe do edycji w ramach elementu homepage-small w panelu administracyjnym e-Sklepu w obszarze: Wygląd sklepu > Ustawienia > Bannery.

Stopka

Sekcja "Stopka" zawiera jeden widok do wyboru. W widoku Stopki widnieją strony statyczne, którymi można zarządzać w sekcji Wygląd Sklepu/ Ustawienia/ Stopka. Dla każdej z sekcji wyświetla się jej utworzona w panelu nazwa. W stopce znajduje się komunikat @Comarch SA 2025. All rights reserved Powered by Comarch e-Sklep. Dodatkowo istnieje możliwość umieszczenia w stopce odnośników do mediów społecznościowych oraz ich ikony. Możemy dodać ikony naszych dostawców oraz form płatności wykorzystywanych w sklepie w ramach ustawień Wygląd Sklepu > Ustawienia > Bannery w sekcjach LogisticsPartners oraz PaymentOperators.

Po wybraniu wszystkich niezbędnych sekcji nasza strona główna powinna być gotowa. Efekt naszej pracy możemy podejrzeć klikając Podgląd w prawym górnym rogu.

Dzięki tej opcji możesz zobaczyć, jak będzie prezentował się Twój szablon zarówno w wersji dekstop, jak i mobile.

Strona główna wymaga dwóch podstawowych elementów: nagłówka oraz stopki. Pozostałe elementy nie są obowiązkowe.

Krok 2 - Lista towarów

Kolejnym krokiem jest utworzenie listy towarów. Aby to zrobić, należy rozwinąć listę zgodnie z poniższym rysunkiem, a następnie przejść do wskazanej zakładki:

Banner

Sekcja "Banner" daje możliwość dodania do listy slideru, dzięki czemu masz możliwość wzbogacenia kategorii towarowych o obrazki.  

Panel filtra

Sekcja "Panel filtra" umożliwia wybór liczby wyświetlanych wartości filtrów a także o tym czy filtrowanie powinno odbywać się po klinićiu przycisku "Zastosuj". Z tego poziomu możemy także wybrać elementy prezentowane w panelu filtrów.

Opis kategorii

W sekcji możesz zdecydować, czy opis ma być domyślnie zwinięty lub rozwinięty.

Lista towarów

Podobnie, jak w przypadku strony głównej konfigurujemy wygląd listy towarów. Dodatkowo możemy wskazać liczbę wyświetlanych towarów, domyślny widok listy towarów, prezentację atrybutów, a także zdecydować czy pozwolisz na zakup towarów wielowariantowych z listy towarów.

W Kreatorze Szablonu Rubin dostępny jest jeden widok listy towarów:  

Krok 3 - Koszyk

Po utworzeniu szczegółów towaru przechodzimy do ustawień koszyka dostępnego w e-Sklepie. Dodatkowo na stronie koszyka możesz wskazać sposób prezentacji przeliczników jednostek miary:

Następnie możemy przejść do modyfikacji wyglądu naszego szablonu. W tym celu należy przejść do zakładki Style.

Style

Jak zmienić kolory, czcionki oraz ikony?

Po dodaniu elementów strony możemy dodatkowo podejrzeć, jak będzie wyglądał nasz przyszły szablon. W tym celu należy przejść do zakładki Style.

Motyw kolorystyczny

W tym momencie dla szablonu Rubin został przygotowany jeden motyw kolorystyczny:

Motyw możemy zmieniać według indywidualnych preferencji. Możemy zmodyfikować kolor poszczególnych elementów (m.in.: tło strony, tło nagłówka, nazwę towaru). Zmiany należy zapisać klikając Zapisz. Jeśli wykonane zmiany nie są zadowalające, możemy przywrócić ustawienia domyśle dla danego motywu kolorystycznego, klikając przycisk Przywróć.

Możliwe jest również wprowadzenie szesnastkowego zapisu kolorów. Heksadecymalny zapis kolorów dla poszczególnych sekcji w szablonie dostępny jest podczas edycji wybranego motywu kolorystycznego.

Czcionki

W tym momencie w ramach szablu Rubin została udostępniona jedna czcionka:

Ikony

Ostatnim elementem, który możemy modyfikować z poziomu zakładki Style jest wygląd ikon. Mamy do wyboru 3 różne warianty wyglądu ikon. Dodatkowo istnieje możliwość wyboru w jakiej postaci wyświetla się ikona koszyka (torba, wózek lub koszyk) oraz loader.

 

Funkcja cofania zmian

Funkcja odpowiadająca za cofanie oraz powtórzenie wprowadzonych zmian oznaczona jest symbolem strzałek, zapamiętuje ona do 30 ostatnich modyfikacji szablonu. Nieaktywna strzałka oznacza, że aktualnie nie ma dostępnych kroków. Mamy możliwość przywracania zmian: dodawania/ usuwania elementów oraz edycji ich położenia, a także stylu w szablonie.
Wskazówka
Funkcję cofania obejmuje zmiany motywu kolorystycznego, natomiast edycja poszczególnych kolorów w motywie nie jest zapisywana.

Generowanie i wgrywanie szablonu

Po zaprojektowaniu wyglądu szablonu możemy go wygenerować i pobrać na dysk korzystając z przycisku Generuj widocznego w prawym górnym rogu:

Obok przycisku Generuj dostępna jest również opcja Importuj szablon, umożliwiająca wgranie wcześniej zapisanego szablonu z dysku i ponowną jego edycję.

W przypadku prawidłowego wygenerowania szablonu wyświetlony zostanie komunikat informujący o tym fakcie i pobrany plik.

Pobrany szablon należy zaimportować w Comarch e-Sklep w zakładce Wygląd sklepu/ Zaimportuj szablon z Kreatora Wyglądu.

W przypadku braku obowiązkowych elementów szablonu nie będzie możliwe jego wygenerowanie. przycisk Generuj będzie wyszarzały, a w prawym dolnym rogu pojawi się komunikat „Uzupełnij elementy wymagane w szablonie”. Sekcje, gdzie element nie został wybrany, będą się wyświetlać z odpowiednią ikoną.

 

Aktualizacja szablonu

W Kreatorze szablonu Rubin znajduje się opcja aktualizacji poprzednich wersji szablonu. W celu zaktualizowania całego szablonu należy wgrać plik z poprzednim szablonem do Kreatora szablonu Rubin według tej instrukcji:
  • po uruchomieniu strony kreatora wybierz opcję: Stwórz nowy projekt,
  • wybierz Nowy szablon,
  • w prawym górnym rogu wybierz opcję Importuj szablon,
  • następnie zaimportuj plik z szablonem, który ma być zaktualizowany. Po poprawnym zaimportowaniu szablonu otrzymasz informację zwrotną:
  • po wgraniu szablonu do aktualizacji użyj opcji Generuj. 
Dzięki temu w prosty sposób można starsze szablony Rubin podnieść do wersji aktualnej.

Więcej informacji

Więcej informacji można znaleźć w artykułach o wyglądzie sklepu oraz o dostosowaniu wyglądu.

Szablon Rubin ( dedykowany dla B2B)

Kreator wyglądu szablonu Rubin

Wstęp

Jednym z kluczowych elementów wpływających na sukces w branży e-commerce jest odpowiednia oprawa wizualna sklepu internetowego. To ona w dużej mierze kształtuje wrażenia użytkowników oraz wpływa na przebieg ich procesu zakupowego. Dzięki narzędziu Kreator Szablonu Rubin (B2B) właściciele sklepów mają możliwość stworzenia unikalnego, dopasowanego szablonu, który będzie obsługiwał zarówno klientów detalicznych, jak i firmy, łącząc modele B2B oraz B2C.

Zastosowanie

Kreator Szablonu Rubin to intuicyjne narzędzie do projektowania wyglądu sklepu. Wszystko odbywa się na poziomie strony internetowej, gdzie przy pomocy metody "przeciągnij i upuść" możesz stworzyć szablon idealnie pasujący do Twojego sklepu.

Kreator pozwala na zaprojektowanie wszystkich kluczowych obszarów sklepu, w tym:

  • Strony głównej.
  • Listy towarów.
  • Koszyka.

Kto może używać tej opcji?

Aby móc używać tego narzędzia należy posiadać:

  • Comarch e-Sklep w wersji Enterprise lub B2B,
  • szerokość ekranu powyżej 1280 px, a zalecana to 1920 px,
  • oraz jedną z przeglądarek internetowych w aktualnej wersji.

Wskazówka
Kreator szablonu Rubin dostępny jedynie w wersji przeglądarkowej.

Zaczynamy!

Jak zaprojektować układ szablonu?

Aby rozpocząć projektowanie szablonu, należy udać się na stronę Kreatora Wyglądu, gdzie pojawi się powitalny komunikat. Na początku trzeba wybrać, dla jakiego typu sprzedaży ma być stworzony szablon – detalicznej lub hurtowej. Sprzedaż hurtowa jest dedykowana tym, którzy chcą oferować swoje produkty także klientom biznesowym w większych ilościach. Po dokonaniu wyboru modelu sprzedaży, wystarczy kliknąć przycisk „Rozpocznij pracę”. Następnie, użytkownik będzie miał możliwość stworzenia nowego szablonu lub edytowania jednego z dostępnych, gotowych szablonów.

  W sytuacji gdy wcześniej tworzony był już projekt, widoczny będzie przycisk umożliwiający dokończenie szablonu lub rozpoczęcie nowego projektu. Opcja Nowy szablon umożliwia zbudowanie od początku nowego szablonu Rubin według Twojego indywidualnego pomysłu.   W ramach szablonów B2B do wyboru zostały udostępnione szablon Rubin oraz szablon Szafir w trzech wersjach kolorystycznych. Są to gotowe wersje szablonów z możliwością ich edycji. Dzięki temu nie musisz zaczynać pracy od zera – wystarczy, że wybierzesz jeden z dostępnych szablonów, a następnie łatwo dopasujesz go do swoich wymagań. Podwójne kliknięcie na wybrany kafelek pozwala przejść do kolejnego etapu. W trzech prostych krokach zapoznasz się z podstawowymi funkcjami kreatora. Po ich przejściu, możesz rozpocząć dalsze dostosowywanie szablonu lub od razu wygenerować przygotowaną wersję szablonu Rubin.

Od czego zacząć?

Wybierz preferowaną wersję językową Kreatora i rozpocznij tworzenie swojego szablonu. Dostępne opcje to: język polski, angielski, niemiecki oraz francuski. Aby zmienić język, kliknij strzałkę obok flagi i nazwy języka w lewym dolnym rogu. Po wybraniu języka, przy podglądzie na pełnym ekranie, szablon będzie wyświetlany w wybranej wersji językowej.

Po ustawieniu wersji językowej dla Kreatora, warto nadać nazwę swojemu szablonowi. Można to zrobić klikając „Zmień” w lewym górnym rogu, a następnie wpisując nową nazwę, która zastąpi domyślną nazwę „Rubin”. Ta nazwa będzie widoczna po zaimportowaniu szablonu do panelu administracyjnego oraz po wyeksportowaniu go do pliku XML, wraz z datą i godziną wygenerowania szablonu.

Krok 1 - Strona główna

W tej sekcji należy zaprojektować wygląd strony głównej naszego Comarch e-Sklepu dla szablonu Rubin. Strona główna może składać się z następujących elementów:

  • Nagłówek,
  • Baner,
  • Widget,
  • Banner pop-up,
  • Proponowane,
  • Newsletter,
  • Slider producentów,
  • Slider marek,
  • Aktualności,
  • Banner infografika,
  • Element tekstowy,
  • Stopka.

Po kliknięciu w strzałkę, sekcje rozwiną się i pokażą dostępne elementy:

Metodą "Przeciągnij i upuść" przenosimy wybrane elementy na obszar po prawej stronie:

Postępuj analogicznie z pozostałymi elementami.

Nagłówek

Sekcja „Nagłówek” prezentuje jeden widok. Nagłówek dodatkowo można konfigurować w zakresie funkcji związanych ze składaniem Zapytań o wycenę.

Bannery

Sekcja "Bannery" pozwala dodać slider. Informacje dotyczące rekomendowanych rozmiarów obrazków w bannerach opisaliśmy w tym artykule.

Widget

Sekcja "Widget" pozwala dodać jeden element, który pozwoli zaprezentować następujące funkcj:
  • dodanie zdjęcia,
  • dodanie tekstu tekstu nagłówka (tekst pionowy),
  • dodanie linku do przycisku,
  • dodanie tekstu.

Banner pop-up

Sekcja „Banner pop-up” pozwala na dodanie bannera w formie popupu. Banner ten jest możliwy do wyświetlenia jedynie na stronie głównej e-Sklepu.

Proponowane

Sekcja „Proponowane” oferuje dodatkowe opcje do konfiguracji. Z menu rozwijanego, dostępnego po kliknięciu przycisku „Zmień typ”, możesz wybrać kategorię produktów, które mają być wyświetlane w tej sekcji (np. nowości, najczęściej oglądane, wyprzedaż, sugerowane). Po dokonaniu zmiany typu, sekcja zostanie odpowiednio nazwana po załadowaniu szablonu do sklepu.

Dodatkowo po najechaniu kursorem na tę sekcję, wybierając Opcje, możemy ustawić liczbę towarów, która będzie się wyświetlać (maksymalnie 50).

Podczas tworzenia szablonu w Kreatorze wyglądu Rubin po dodaniu sekcji towary polecane można określić typ wyświetlanych produktów. Nazwa sekcji jest zależna oraz adekwatna do określonego typu. Daną nazwę można modyfikować w tłumaczeniach szablonu. Dodatkowo każdy wybrany typ jest podlinkowany do wszystkich produktów wskazanego rodzaju. W zależności od wybranego typu, edycji parametrów wyświetlania dokonasz w panelu administracyjnym e-Sklepu. Z kolei informację o typie towaru ustawisz w systemie ERP. Typy towarów edytowane z poziomu panelu administracyjnego Comarch e-Sklep:
  • Promocja,
  • Nowość,
  • Wyprzedaż,
  • Super jakość,
  • Super cena,
  • Rekomendacja sprzedawcy,
  • Zapowiedź,
  • Sugerowane,
  • Towar polecany,
  • Najczęściej oglądane / najczęściej kupowane,
  • Cross-selling - oferowanie produktów uzupełniających wcześniejsze zakupy,
Aby zdecydować o parametrach wyświetlania tych informacji należy przejść w panelu administracyjnym Comarch e-Sklep do zakładki Ustawienia > Ustawienia sklepu > Towary:

Producent, marka, ręcznie wybrane produkty, kategoria oraz ostatnio oglądane są obsługiwane w ramach lokalnego obiektu "Siatka towarów". Aby wprowadzić zmiany w ustawieniach dla jednego z tych typów, należy przejść do panelu administracyjnego do opcji Wygląd sklepu > Ustawienia >Ustawienia zaawansowane, a następnie do zakładki Obiekty. W szczegółach wybranego obiektu (Siatka towarów) można określić, które produkty będą wyświetlane w sekcji "Proponowane". W przypadku wyboru "Producenta" lub "Marki" konieczne jest ręczne wskazanie odpowiedniego producenta lub marki.

Dodawanie informacji o typie produktu w systemie ERP dotyczy:
  • Nowości,
  • Produktu z gazetki,
  • Produktu polecanego,
  • Wyprzedaży,
  • Promocja,
  • Nowość,
  • Super jakości,
  • Super ceny,
  • Najlepszej oceny,
  • Rekomendacji sprzedawcy.
Informacja tego typu ustawiana jest bezpośrednio na karcie towaru w systemie ERP poprzez zaznaczenie odpowiedniej flagi w systemie ERP XL (zakładka aplikacje) lub atrybutu czasowego w ERP Optima (zakładka e-Sklep, sekcja atrybuty czasowe). Po wybraniu konkretnej opcji w systemie ERP na karcie danego produktu w Comarch e-Sklep zostanie dodana odpowiednia informacja.

Newsletter

Dla newslettera możliwe jest ustawienie stałej sekcji na stornie głównej lub newslettera w postaci popupu:

Slider marek

Sekcja "Slider marek" pozwala na dodanie do szablonu widoku slidera z logo marek. W sliderze wyświetlane są logotypy marek, które zostały zaimportowane z systemu ERP. Po kliknięciu na wybrane logo, użytkownik zobaczy listę produktów przypisanych do danej marki. Sekcje te mogą być umieszczone w dowolnym miejscu na stronie głównej szablonu.

Slider producentów

Sekcja "Slider producentów" pozwala na dodanie do szablonu widoku slidera z logo producentów. W sliderze wyświetlane są logotypy producentów zaimportowane z systemu ERP. Po kliknięciu na wybrane logo, użytkownik zobaczy listę produktów przypisanych do danego producenta. Sekcje te mogą być umieszczone w dowolnym miejscu na stronie głównej szablonu.

Aktualności

Sekcja umożliwia zamieszczenie aktualności na stronie głównej w formie listy artykułów z bloga. Tekst wprowadza się w panelu administracyjnym przechodząc do zakładki  Marketing > Blog.

Banner infografika

Sekcja "Banner infografika" pozwala na zaprezentowanie korzyści z zakupów w Twoim sklepie. Dotyczą one obszarów: informacji o dostawie, płatnościach czy obowiązujących rabatach rabatach. Banner możesz dodać tylko do strony głównej. Obrazki są możliwe do edycji w ramach elementu homepage-small w panelu administracyjnym e-Sklepu w obszarze: Wygląd sklepu > Ustawienia > Bannery.

Stopka

Sekcja "Stopka" zawiera jeden widok do wyboru. W widoku Stopki widnieją strony statyczne, którymi można zarządzać w sekcji Wygląd Sklepu/ Ustawienia/ Stopka. Dla każdej z sekcji wyświetla się jej utworzona w panelu nazwa. W stopce znajduje się komunikat @Comarch SA 2025. All rights reserved Powered by Comarch e-Sklep. Dodatkowo istnieje możliwość umieszczenia w stopce odnośników do mediów społecznościowych oraz ich ikony. Możemy dodać ikony naszych dostawców oraz form płatności wykorzystywanych w sklepie w ramach ustawień Wygląd Sklepu > Ustawienia > Bannery w sekcjach LogisticsPartners oraz PaymentOperators.

Po wybraniu wszystkich niezbędnych sekcji nasza strona główna powinna być gotowa. Efekt naszej pracy możemy podejrzeć klikając Podgląd w prawym górnym rogu.

Dzięki tej opcji możesz zobaczyć, jak będzie prezentował się Twój szablon zarówno w wersji dekstop, jak i mobile.

Strona główna wymaga dwóch podstawowych elementów: nagłówka oraz stopki. Pozostałe elementy nie są obowiązkowe.

Krok 2 - Lista towarów

Kolejnym krokiem jest utworzenie listy towarów. Aby to zrobić, należy rozwinąć listę zgodnie z poniższym rysunkiem, a następnie przejść do wskazanej zakładki:

Banner

Sekcja "Banner" daje możliwość dodania do listy slideru, dzięki czemu masz możliwość wzbogacenia kategorii towarowych o obrazki.  

Panel filtra

Sekcja "Panel filtra" umożliwia wybór liczby wyświetlanych wartości filtrów a także o tym czy filtrowanie powinno odbywać się po klinićiu przycisku "Zastosuj". Z tego poziomu możemy także wybrać elementy prezentowane w panelu filtrów.

Opis kategorii

W sekcji możesz zdecydować, czy opis ma być domyślnie zwinięty lub rozwinięty.

Lista towarów

Podobnie, jak w przypadku strony głównej konfigurujemy wygląd listy towarów. Dodatkowo możemy wskazać liczbę wyświetlanych towarów, domyślny widok listy towarów, prezentację atrybutów, a także zdecydować czy pozwolisz na zakup towarów wielowariantowych z listy towarów.

W Kreatorze Szablonu Rubin dostępny jest jeden widok listy towarów:  

Krok 3 - Koszyk

Po utworzeniu szczegółów towaru przechodzimy do ustawień koszyka dostępnego w e-Sklepie. Dodatkowo na stronie koszyka możesz wskazać sposób prezentacji przeliczników jednostek miary:

Następnie możemy przejść do modyfikacji wyglądu naszego szablonu. W tym celu należy przejść do zakładki Style.

Style

Jak zmienić kolory, czcionki oraz ikony?

Po dodaniu elementów strony możemy dodatkowo podejrzeć, jak będzie wyglądał nasz przyszły szablon. W tym celu należy przejść do zakładki Style.

Motyw kolorystyczny

W tym momencie dla szablonu Rubin został przygotowany jeden motyw kolorystyczny:

Motyw możemy zmieniać według indywidualnych preferencji. Możemy zmodyfikować kolor poszczególnych elementów (m.in.: tło strony, tło nagłówka, nazwę towaru). Zmiany należy zapisać klikając Zapisz. Jeśli wykonane zmiany nie są zadowalające, możemy przywrócić ustawienia domyśle dla danego motywu kolorystycznego, klikając przycisk Przywróć.

Możliwe jest również wprowadzenie szesnastkowego zapisu kolorów. Heksadecymalny zapis kolorów dla poszczególnych sekcji w szablonie dostępny jest podczas edycji wybranego motywu kolorystycznego.

Czcionki

W tym momencie w ramach szablu Rubin została udostępniona jedna czcionka:

Ikony

Ostatnim elementem, który możemy modyfikować z poziomu zakładki Style jest wygląd ikon. Mamy do wyboru 3 różne warianty wyglądu ikon. Dodatkowo istnieje możliwość wyboru w jakiej postaci wyświetla się ikona koszyka (torba, wózek lub koszyk) oraz loader.

 

Funkcja cofania zmian

Funkcja odpowiadająca za cofanie oraz powtórzenie wprowadzonych zmian oznaczona jest symbolem strzałek, zapamiętuje ona do 30 ostatnich modyfikacji szablonu. Nieaktywna strzałka oznacza, że aktualnie nie ma dostępnych kroków. Mamy możliwość przywracania zmian: dodawania/ usuwania elementów oraz edycji ich położenia, a także stylu w szablonie.
Wskazówka
Funkcję cofania obejmuje zmiany motywu kolorystycznego, natomiast edycja poszczególnych kolorów w motywie nie jest zapisywana.

Generowanie i wgrywanie szablonu

Po zaprojektowaniu wyglądu szablonu możemy go wygenerować i pobrać na dysk korzystając z przycisku Generuj widocznego w prawym górnym rogu:

Obok przycisku Generuj dostępna jest również opcja Importuj szablon, umożliwiająca wgranie wcześniej zapisanego szablonu z dysku i ponowną jego edycję.

W przypadku prawidłowego wygenerowania szablonu wyświetlony zostanie komunikat informujący o tym fakcie i pobrany plik.

Pobrany szablon należy zaimportować w Comarch e-Sklep w zakładce Wygląd sklepu/ Zaimportuj szablon z Kreatora Wyglądu.

W przypadku braku obowiązkowych elementów szablonu nie będzie możliwe jego wygenerowanie. przycisk Generuj będzie wyszarzały, a w prawym dolnym rogu pojawi się komunikat „Uzupełnij elementy wymagane w szablonie”. Sekcje, gdzie element nie został wybrany, będą się wyświetlać z odpowiednią ikoną.

 

Aktualizacja szablonu

W Kreatorze szablonu Rubin znajduje się opcja aktualizacji poprzednich wersji szablonu. W celu zaktualizowania całego szablonu należy wgrać plik z poprzednim szablonem do Kreatora szablonu Rubin według tej instrukcji:
  • po uruchomieniu strony kreatora wybierz opcję: Stwórz nowy projekt,
  • wybierz Nowy szablon,
  • w prawym górnym rogu wybierz opcję Importuj szablon,
  • następnie zaimportuj plik z szablonem, który ma być zaktualizowany. Po poprawnym zaimportowaniu szablonu otrzymasz informację zwrotną:
  • po wgraniu szablonu do aktualizacji użyj opcji Generuj. 
Dzięki temu w prosty sposób można starsze szablony Rubin podnieść do wersji aktualnej.

Więcej informacji

Więcej informacji można znaleźć w artykułach o wyglądzie sklepu oraz o dostosowaniu wyglądu.

Szablon Rubin - podstawowe informacje

Wstęp

Szablon Rubin jest dedykowany dla sklepów w wersji B2B. Wyróżnia się nowoczesnym wyglądem zgodnym z najnowszymi trendami oraz intuicyjną nawigacją, co pozwala na szybkie i komfortowe zakupy. Oferuje funkcje dedykowane dla modelu B2B, w tym umożliwia wykorzystanie Comarch e-Sklep Sync do wyświetlania zamówień, faktur i wydań zewnętrznych z systemu ERP. Przy pomocy Kreatora wyglądu, można dostosować układ elementów szablonu względem indywidualnych oczekiwań. Elastyczność konfiguracji szablonu sprawia, że jest on idealnym rozwiązaniem dla zróżnicowanych potrzeb biznesowych. Główne wyróżniki szablonu:
  • obsługa sprzedaży dla klientów biznesowych oraz indywidualnych,
  • intuicyjna nawigacja boczna pozwalająca na szybki przegląd towarów dodanych do koszyka bądź zapytania o wycenę,
  • trzy widoki listy towarów, w tym lista pozwalająca na jednoczesne dodawanie wielu towarów zarówno do koszyka, jak i do list zakupów,
  • szczegóły towaru z paskiem nawigacji przyklejonym do nagłówka, który podczas przeglądania szczegółów oferty umożliwia natychmiastowy dostęp do najważniejszych sekcji i funkcji – w tym możliwość szybkiego dodania towaru do koszyka,
  • koszyk z rekomendacjami produktów oraz jednostronną finalizacją, ułatwiającą zakup,
  • profil klienta pozwalający na łatwą identyfikację statusów zamówień oraz dostęp do faktur i wydań zewnętrznych z systemu ERP,
  • obsługa wielu list zakupów,
  • możliwość składania zapytań o wycenę produków.
Przejdź do naszego sklepu demonstracyjnego i zobacz, jak wygląda Szablon Rubin w Comarch e-Sklep! W tym artykule zawarliśmy podstawowe informacje na temat funkcji dostępnych w szablonie. Dzięki możliwości konfiguracji elementów szablonu możesz łatwo spersonalizować swój e-Sklep.

Obsługa sprzedaży dla klientów biznesowych

Jako że szablon Rubin został zaprojektowany, aby umożliwić sprzedaż dla klientów biznesowych, obsługuje on funkcje dostosowane do modelu B2B. W ramach przykładowych udogodnień oferowanych przez szablon należy wymienić możliwości, takie jak:
  • obsługa klientów detalicznych oraz typu firma – połączenie modeli B2B oraz B2C,
  • możliwość włączenia tylko cen netto,
  • obsługa wielu koszyków (z możliwością edycji nazwy koszyka i usuwania całego koszyka jednym przyciskiem),
  • obsługa wielu list zakupowych, ułatwiająca powtórne zakupy tych samych towarów.
  • wyświetlanie zamówień, faktur i wydań zewnętrznych z systemu ERP w profilu klienta dzięki wykorzystaniu Comarch e-sklep Sync,
  • możliwość włączenia limitów kredytowych,
  • opcja dostępu do sklepu tylko dla zalogowanych użytkowników,
  • możliwość dodawania pracowników w profilu klienta,
  • opiekun handlowy dla kontrahenta.

Konfiguracja szablonu Rubin w panelu administracyjnym

Z poziomu panelu administracyjnego możesz dokonywać konfiguracji opcji wyglądu szablonu. Po przejściu do sekcji Wygląd sklepu > Ustawienia dostępne są ustawienia dla czterech zakładek:
  • W zakładce Ogólne możesz dokonać zmian w motywie kolorystycznym Twojego e-Sklepu. Z tego poziomu również możliwe do konfiguracji są takie opcje jak: ustawienia ceny netto, prezentacja promocji, rabatów progowych czy jednostek pomocniczych.
  • W zakładce Strona główna znajdują się ustawienia, dzięki którym możesz ustalić kolejność poszczególnych elementów na stronie głównej. Dodatkowo możesz zarządzać animacjami na poszczególnych bannerach i sliderach.
  • W zakładce Lista towarów znajdują się ustawienia dotyczące filtrów czy wyświetlania opisu danej kategorii towarowej. Z tego miejsca można zarządzać prezentacją informacji na kaflach w ramach listy.
  • W zakładce Zarzadzanie strefą klienta znajdziesz ustawienia elementów, które mają być widoczne po zalogowaniu do strefy klienta.

Strona główna

Strona główna w sklepie internetowym pełni rolę wprowadzenia do oferty sklepu. Jej głównym celem jest przyciągnięcie uwagi odwiedzających, zaprezentowanie najważniejszych produktów czy aktualnych promocji. Z tego względu na stronie głównej do skonfigurowania możliwe są takie elementy jak:

  • Banner w formie slidera – ustawienia dla banneru można znaleźć w sekcji Wygląd sklepu > Ustawienia > Bannery po przejściu do sekcji mainBanner. Domyślny rozmiar dla obrazka we wskazanym bannerze wynosi: 1574px x 425px. Więcej o ustawieniach można przeczytać w artykule dotyczącym konfiguracji bannerów.
  • Banner z infografikami – pozwala na zaprezentowanie korzyści z zakupów w Twoim sklepie. Domyślny rozmiar obrazków wynosi: 48px x 48px. Edycja banneru jest możliwa z poziomu opcji Wygląd sklepu > Ustawienia > Bannery po przejściu do sekcji homepage-small.
  • Banner popup – pozwala na poinformowanie klientów o bieżącej ofercie czy rabatach. Domyślny rozmiar grafiki w bannerze wynosi: 330px x 418px. Edycja banneru jest możliwa z poziomu opcji Wygląd sklepu > Ustawienia > Bannery po przejściu do sekcji banner_popup1.
 
  • Zapis do newslettera – newsletter to jeden z kluczowych elementów każdej strony internetowej, który pozwala na utrzymywanie kontaktu z użytkownikami i budowanie bazy subskrybentów. W przypadku szablonu Rubin, sekcja z zapisem do newslettera jest możliwa do ustawienia w formie stałej sekcji na stronie głównej.
Możliwe jest także zaprezentowania zapisu do newslettera w formie banneru.
  • Towary polecane – slider z wybranymi towarami. Mogą to być na przykład towary z wybraną flagą, najczęściej kupowane na sklepie lub ustawione ręcznie z poziomu Panelu Administracyjnego. Elementy te możliwe są do edycji w zakładce Wygląd Sklepu > Ustawienia > Edytuj ustawienia zaawansowane > Obiekty po przejściu do obiektu new-product-mp-x. Więcej informacji można znaleźć w ramach artykułu dotyczącego wyświetlania towarów polecanych w szablonach.
  • Tekst SEO – wskazany element charakteryzuje się możliwością wprowadzenia statycznego opisu na stronie głównej w e-Sklepie. Aby ustawić treść, przejdź do zakładki Wygląd Sklepu > Ustawienia > Edytuj ustawienia zaawansowane > Obiekty. W tym miejscu należy odszukać obiekt text-element-1-mp-1 i edytować element tekstowy.
  • Aktualności – w tej sekcji znajdziesz najnowsze artykuły z bloga w formie slidera. Każdy wpis zawiera obrazek, tytuł, krótki fragment treści, a także tagi tematyczne oraz datę ostatniej aktualizacji.
  • Slider marek oraz slider producentów – w ramach wskazanych sliderów będą pokazywały się loga marek i producentów, uzupełnionych po stronie systemów Comarch ERP.

Lista towarów

1. Widoki list towarów

Lista towarów zawiera trzy różne widoki. W zakładce Wygląd sklepu > Ustawienia > Lista towarów jest możliwość wybrania domyślnego widoku: Każdy z nich ma inne zastosowanie i cechy charakterystyczne:
  • W ramach widoku kafli użytkownicy mają możliwość szybkiego dodania pojedynczej sztuki towaru:
  • W przypadku listy z rozbudowanym kaflem, możesz zaprezentować opis towaru lub jego atrybutów zgodnie z ustawieniem:

Z poziomu kafli dostępne są również dodatkowe akcje, takie jak dodanie do zapytania o wycenę, list zakupów czy do porównania. Co więcej, dla wskazanej listy, została dodana możliwość kopiowania kodu towaru.

  • Szybka lista charakteryzuje się możliwością dodania wielu towarów jednocześnie. Na wskazanej liście jest możliwość dodawania równocześnie kilku towarów zarówno do listy zakupów, jak i do koszyka:
W przypadku ustawień dla widoków szybkiej listy i rozbudowanych kafli, istnieje możliwość ustalenia ilości wyświetlanych atrybutów:

2. Graficzna prezentacja wariantów

W ramach kafli możesz ustawić graficzną prezentację wariantów – po najechaniu na kafel zostaną zaprezentowane atrybuty w postaci:
  • miniatur zdjęć,
  • wariantów kolorystycznych,
  • wartości tekstowej.
Wskazaną prezentację można włączyć po przejściu do opcji Wygląd sklepu > Ustawienia > Lista towarów. W tym miejscu można wybrać sposób prezentacji wariantów:

3. Opis kategorii

Na liście towarów możesz wyświetlić także opis danej kategorii dodany po stronie systemu Comarch ERP. Jest on zaprezentowany w szablonie w następującej formie: Jeżeli został on wypełniony, możesz zdecydować czy ma być on domyślnie zwinięty czy rozwinięty:

4. Panel filtra

W ramach ustawień listy towarów do dostosowania możliwe są też filtry. Z tego poziomu dostępne do skonfigurowania są następujące opcje:
  • Liczba wyświetlanych wartości, która wskazuje ile domyślnie będzie pokazanych elementów danego filtra przed przyciskiem „Pokaż więcej”:

W przypadku takiego ustawienia przed wskazanym przyciskiem będzie prezentowane pięć wartości filtra – reszta zostanie zaprezentowana po rozwinięciu:

  • Filtruj po użyciu przycisku „Zastosuj”:

Zgodnie z ustawieniem filtry będą działać dopiero po kliknięciu wskazanego przycisku. Jeżeli parametr jest ustawiony na „Nie”, lista będzie filtrować się dynamicznie po wybraniu filtra.

  • Domyślne ustawienie filtrów jako zwiniętych bądź rozwiniętych:
Wskazane ustawienie wpływa na to, czy po wejściu na listę towarów będą wskazane wartości filtrów czy zostaną one zaprezentowane dopiero po rozwinięciu:
  • Wskazanie elementów, które mają być prezentowane w panelu filtrów:
  • Graficzna prezentacja filtra typu kolor, którą należy skonfigurować zarówno w Panelu administracyjnym, jak i systemie Comarch ERP według instrukcji. Po wykonaniu odpowiednich kroków, kolory będą prezentować się następująco:

Szczegóły towaru

1. Sekcja z towarem

W ramach szczegółów towaru możemy wyróżnić sekcje z towarem. W jej ramach prezentowane są zdjęcia towarów oraz informacje towarze, takie jak: 
  • Ceny, w tym prezentację:
  • Jednostki miary oraz przeliczniki do jednostki podstawowej lub domyślnej.
  • Stan magazynowy.
  • Dostępność produktu.
  • Cechy towaru.
  • Informacja o wartości dostawy danego towaru.
  • Możliwość udostępnienia towaru w social mediach lub za pomocą linku.
  • Opcję „Zapytaj o towar” bądź „Zapytaj opiekuna” w zależności od konfiguracji.
W tym miejscu klienci mają także dostęp do dodatkowych opcji takich jak:
  • Tabela rozmiarów – możliwa do ustawienia z poziomu ustawień Wygląd sklepu > Ustawienia > Ogólne. Tabela rozmiarów jest możliwa do skonfigurowania w formie strony, pliku pdf lub popupu.
  • Sprawdź dostępność w salonie – dzięki wskazanemu elementowi, potencjalni klienci będą mieli okazję sprawdzić, czy dany towar znajduje się w sklepie stacjonarnym (salonie). Funkcja jest dostępna po spełnieniu odpowiednich wymagań konfiguracyjnych opisanych w artykule: Sprawdź dostępność towaru w salonie.
  • Historia zakupów – dla sklepów w wersji B2B, powiązanych z systemem Comarch ERP XL oraz aktywną usługą e-Sklep Sync, możliwe jest włączenie wskazanego ustawienia w opcjach Wygląd sklepu > Ustawienia > Ogólne:

Dzięki temu możliwe będzie wskazanie historii zakupów z ostatnich 6 miesięcy

  • Harmonogram dostaw – funkcja służy do sprawdzania, czy towar został zamówiony u dostawcy, jak również udostępnia informacje o zamówionej ilości oraz planowanej dostawie. Więcej informacji na jej temat można przeczytać w artykule udostępnionym w Centrum Pomocy.
Poniżej wskazanych informacji o towarze znajdują się dodatkowe sekcje. Podczas przewijania strony widoczna jest nawigacja przyklejona do nagłówka, która ułatwia szybkie dodanie towaru do koszyka.

2. Opis i specyfikacja

W pierwszej kolejności wskazane są opis i specyfikacja danego towaru. Wskazane elementy takie jak opis czy atrybuty towaru są możliwe do dodania po stronie systemów Comarch ERP.

3. Podmiot odpowiedzialny

Zgodnie z rozporządzeniem GPSR w szablonie możliwe jest zaprezentowanie podmiotów odpowiedzialnych. Konfiguracja w ramach wyświetlenia wskazanych informacji w szablonie została opisana w artykule: Jak dostosować e-Sklep do wymogów Rozporządzenia GPSR?

4. Opinie o towarze

Na szczegółach towaru możliwe do wyświetlenia są opinie o towarze. Sekcja jest wzbogacona o paski informujące o ilości poszczególnych ocen. Obsłużone zostało również zgłaszanie opinii zgodnie z Aktem o usługach cyfrowych DSA.

5. Pliki do pobrania

Sekcja z plikami do pobrania zwiera pliki załączone na karcie towaru po stronie systemu Comarch ERP:

6. Zestawy

W przypadku korzystania z systemu Comarch ERP Optima, do zaprezentowania na stronie szczegółów towaru możliwe są zestawy: Dzięki wskazanej prezentacji, klient może dowiedzieć się o promocyjnej ofercie zakupu kilku towarów jednocześnie w tańszej cenie.

7. Towary podobne i akcesoria

Dla towarów skonfigurowanych w systemie Comarch ERP XL istnieje możliwość zdefiniowania Towarów podobnych lub Akcesoriów. Aby wskazana sekcja była dostępna w e-Sklepie, należy ją skonfigurować po stronie Comarch ERP XL zgodnie z fragmentem instrukcji, w którym opisano obsługę towarów podobnych lub akcesoriów dla towaru. W przypadku zamienników, możliwe jest także ich skonfigurowanie w Comarch ERP Optima.

Koszyk

Po przejściu na stronę koszyka wyświetla się podsumowanie dodanych do niego towarów. Wskazana sekcja ma na celu prezentację towarów w ramach rekomendacji zakupowych, aby zachęcić klienta do dalszych zakupów. W szablonie Rubin składanie zamówienia zostało zaprojektowane tak, aby użytkownik mógł w jednym kroku wypełnić niezbędne dane: 
  • Formularz z danymi zamawiającego oraz danymi do faktury.
  • Sposób dostawy.
  • Sposób płatności.
Po uzupełnieniu powyższych informacji i zakupie towaru można przejść do podsumowania, w którym prezentowane są m.in. wcześniej wprowadzone dane klienta. W ramach koszyka istnieje możliwość włączenia prezentacji wartości rabatów dla danego zamówienia, zgodnie z ustawieniem:

Dzięki temu promocja zostanie zaprezentowana w koszyku w następujący sposób:   Dodatkowo, w przypadku dostaw, możliwe jest także włączenie edycji daty dostawy:

Wskazane ustawienie prezentuje się następująco:

Zapytanie o wycenę

W modelu sprzedaży B2B często spotyka się spersonalizowane wyceny dla różnych kontrahentów. Na wysokość cen wpływają takie czynniki jak zmieniające się ceny towarów, ilość zamówionych produktów, sytuacja rynkowa oraz szczególne warunki ustalone w umowach między sprzedawcą a klientem. Z tego względu w szablonie Rubin istnieje możliwość dodawania towarów do zapytania o wycenę zgodnie z ustawieniem: Do zapytania o wycenę możesz przejść z poziomu nagłówka, klikając ikonę "Zapytanie o wycenę". Po kliknięciu w szablonie prezentowany jest panel boczny z towarami dodanymi do zapytania: Po przejściu do szczegółów, dostępny jest formularz: Obsługa zapytań jest w dalszej kolejności procesowana po stronie panelu administracyjnego. W dalszej kolejności zarówno zapytanie o wycenę, jak i utworzona z niego oferta sprzedaży jest dostępna dla klienta z poziomu Profilu klienta.

Profil klienta

1. Ustawienia profilu klienta

W przypadku ustawień profilu klienta w ramach: Wygląd sklepu > Ustawienia >  Zarządzanie strefą klienta widoczna jest lista elementów zamieszczonych w e-Sklepie. Lista składa się z następujących ustawień:
  • Dostępne – ustawienie wyświetlania danego elementu na stronie. Jeżeli parametr jest zaznaczony (podświetla się na szaro) wówczas element będzie widoczny na stronie.
  • Kolejność – w tym polu za pomocą strzałek możemy zmienić kolejność przycisków.
  • Ikona – w tym miejscu należy wprowadzić nazwę ikony, która powinna się wyświetlać na dodanym elemencie.
  • Etykieta PL – nazwa elementu, która będzie się wyświetlała w polskiej wersji strony.
  • Id tłumaczenia – id z którego będą pobierane tłumaczenia elementu wyświetlane w obcojęzycznej wersji strony. Tłumaczenia dodawane są w panelu administracyjnym: Wygląd sklepu > Ustawienia > Tłumaczenia.

2. Dokumenty dostępne w profilu klienta

W ramach profilu klienta dostępne są dokumenty związane z procesem zamówienia w e-Sklepie. Z tego poziomu klient ma dostęp do zakładek prezentujących:
  • zamówienia,
  • faktury,
  • wydania zewnętrzne,
  • wydania magazynowe.
Aby móc obsługiwać dokumenty pochodzące z systemu Comarch ERP, należy skonfigurować usługę Comarch e-Sklep Sync. Dzięki temu dla klientów widoczne staną się dokumenty udostępniane przez to narzędzie. Dokumenty, dla których wymagana jest wskazana usługa zostały opisane w artykule Dokumenty udostępniane przez Comarch e-Sklep Sync. Dzięki odpowiednim oznaczeniom kolorystycznym klient ma możliwość w prosty sposób zapoznać się ze statusami wskazanych dokumentów:

3. Zapytania o wycenę i oferty sprzedaży

Z tego poziomu klient ma dostęp również do listy z wykonanymi zapytaniami o wycenę. Po stworzeniu wyceny na dane zapytanie, w zakładce Oferta sprzedaży pojawi się oferta do zaakceptowania przez klienta: Więcej informacji na temat zapytań i ofert sprzedaży można znaleźć w artykułach: Zapytaj o cenę oraz Jak stworzyć ofertę sprzedaży i zapytanie ofertowe?

4. Reklamacje/zwroty

Klient ma możliwość zareklamowania towaru po przejściu na szczegóły zamówienia. Z tego poziomu jest możliwość wybrania opcji reklamacji dla towaru: Informacje o reklamacjach znajdą się w zakładce Reklamacje/ Zwroty:

5. Moje dane

W zakładce Moje dane klient ma możliwość weryfikacji wprowadzonych danych jako firma bądź osoba fizyczna. W tym miejscu wyświetlone są także uzupełnione adresy dostawy – wskazany jest także adres domyślny.

6. Pracownicy

We wskazanej zakładce istnieje możliwość dodania pracownika, jak również jego zablokowania. Dodatkowo jeżeli pracownik jest przypisany do kilku firm istnieje możliwość zmiany firmy z poziomu nagłówka sklepu: Więcej na temat pracowników w e-Sklepie możesz dowiedzieć się w artykule: Wielu pracowników kontrahenta.

7. Twoje konto

We wskazanej zakładce znajdują się dane kontaktowe klienta, jak i dane do logowania – e-mail i hasło. Z tego poziomu dostępna jest również historia konta

8. Zgody

W tym miejscu klientowi prezentowana jest lista zaakceptowanych zgód:

9. Do pobrania

Poprzez dodanie załączników do karty kontrahenta w systemie Comarch ERP XL  w szablonie Rubin jest możliwe wyświetlanie listy plików do pobrania dla zalogowanych użytkowników. Są one widoczne i dostępne do pobrania w Profilu Klienta we wskazanej zakładce. Sposób konfiguracji wskazanych plików został opisany w artykule: Lista plików Klienta – Do pobrania

10. Promocje

Dzięki wskazanej zakładce klienci mogą sprawdzić, jakie rabaty aktualnie posiadają. Widoczne w tej zakładce rabaty są przesyłane z systemu ERP oraz ustalane w Panelu Administracyjnym Comarch e-Sklep. Obsługiwane rabaty:
  • rabaty dla nowego klienta
  • rabaty od wartości zamówienia
  • rabat dla stałego klienta
  • rabaty z Comarch ERP
  • stała cena z Comarch ERP
Aby wskazane promocje wyświetlały się w profilu klienta należy włączyć ustawienie w Wygląd sklepu > Ustawienia > Ogólne: Informacje o konfiguracji rabatów można znaleźć w ramach artykułu: Rabaty – rodzaje i zasady wyliczania.

Listy zakupów

W szablonie Rubin dla wersji sklepu B2B możliwe jest posiadanie wielu list zakupów. Funkcja dostępna jest tylko dla zalogowanych klientów. Umożliwia ona zaplanowanie zakupów z wyprzedzeniem w uporządkowany sposób poprzez tworzenie list na różne okazje i ustawianie dla nich daty przypomnienia: Po przejściu do list istnieje możliwość utworzenia nowej listy: W ramach listy jest możliwa do ustawienia data przypomnienia: Dodatkowo z tego poziomu klient ma możliwość nadania liście nazwy, przeniesienia jej do zapytania o wycenę, jak również dodania towarów z listy do koszyka.

Lookbook

Lookbook oferuje możliwość przedstawienia towarów bezpośrednio na zdjęciu w formie zaznaczonych pinezek. W szablonie Rubin możliwe jest stworzenie wielu lookbooków. Będą one w takim wypadku prezentowane w formie listy: Szczegóły lookbooka charakteryzują się precyzyjnym oznaczeniem towarów na zdjęciu. Dzięki znacznikom umieszczonym na grafice Twoi klienci będą mogli podejrzeć towar i dodać go bezpośrednio do koszyka lub listy zakupów. Po kliknięciu na przycisk z plusem wyświetli się popup ze szczegółami towaru oraz opcją zakupu.
Wskazówka
Rekomendowany rozmiar grafik do lookbooka to 578 x 578 px.
Aby poprawnie skonfigurować lookbook, skorzystaj z naszej instrukcji zawartej w artykule: Jak skonfigurować Lookbook w Comarch e-Sklep?

Blog

Blog jest ważnym elementem w strategii każdego sklepu internetowego. Umożliwia sprzedawcy dzielenie się wiedzą i doświadczeniami dotyczącymi oferowanych produktów. Poprzez bloga, sklep może podpowiedzieć klientom, jak najlepiej wykorzystać dostępne artykuły. Dodatkowo, regularne publikowanie wartościowych treści ma korzystny wpływ na pozycjonowanie strony, dzięki unikalnym materiałom. To sprawia, że Twój sklep może być częściej widoczny w wynikach wyszukiwania.

W sekcji z blogiem prezentowane są aktualnie dodane artykuły, które są możliwe do konfiguracji w Panelu administracyjnym. Dla każdego wpisu przedstawione są: zdjęcie, treść, tagi oraz przewidywany czas czytania. Szczegółowe informacje na temat konfiguracji bloga w e-Sklepie znajdują się w artykule: Jak skonfigurować blog?

Szablon Szafir (dedykowany dla B2B)

Rozbudowana stopka w szablonach Topaz i Szafir - jak ją skonfigurować?

Wstęp

Stopka to jeden z podstawowych elementów każdego sklepu internetowego. Oprócz wymaganych informacji, które muszą się w niej znaleźć, może zawierać zbiór innych odniesień do konkretnych sekcji w Twoim e-Sklepie, do Twojego bloga lub profili w social mediach. Odnośniki mogą pozytywnie wpływać na wizerunek Twojego sklepu, przyczyniając się do wsparcia sprzedaży i generując większy ruch na stronie. W Kreatorze wyglądu obok standardowych widoków znajduje się dodatkowy, który jest bardziej rozbudowany. W przypadku szablonu Topaz jest to trzeci widok (footer-3), zaś w przypadku Szafira - drugi widok (footer-2). Dzięki modyfikacji obszaru możesz jeszcze bardziej spersonalizować swój sklep poprzez uzupełnienie stopki w więcej przydatnych informacji.

Konfiguracja rozbudowanej stopki

Jak przystąpić do edycji stopki?

Po zaimportowaniu z Kreatora wyglądu stopka będzie wyświetlać się w ograniczonym zakresie. Niezmiennie jej edycji dokonasz z perspektywy zakładek: Wygląd Sklepu/Ustawienia a następnie sekcji Nagłówek/Stopka. To tutaj zdecydujesz o ilości grup stron, konkretnych elementach w ich obrębie a następnie o kolejności w jakiej będą prezentować się w e-Sklepie. Również z tego poziomu dodasz odwołania do Twoich profili na portalach społecznościowych oraz ustawisz favicon dla swojego sklepu internetowego.

Więcej możliwości edycji stopki

Rozbudowana stopka w szablonie Topaz oraz Szafir umożliwia dodanie większej ilości grup stron niż dotychczas. Dzięki temu z łatwością zamieścisz w niej wszystko czego potrzebujesz. Dodatkowo sekcję uzupełniono o grafiki partnerów logistycznych oraz obsługiwanych operatorów płatności.

Przykładowy wygląd rozbudowanej stopki w szablonie Topaz

Przykładowy wygląd rozbudowanej stopki w szablonie Szafir

Jak skonfigurować poszczególne elementy?

    • Elementy 1-5: dodawanie kolejnych grup stron oraz zmiana ich kolejności dokonywana jest poprzez sekcję Nagłówek/Stopka w Ustawieniach w obrębie zakładki Wygląd Sklepu. W obrębie danej grupy możesz dodawać konkretne strony poprzez kliknięcie przycisku Dodaj stronę ze sklepu.
Wskazówka
Zmiany kolejności poszczególnych grup odnośników lub zmiany danych odnośników w obrębie danej grupy dokonuje się metodą Przeciągnij i upuść.
    • Element 6: odpowiada za wyświetlanie następujących informacji: e-mail, numer telefonu, telefon2 (jeśli nie istnieje, to zastępowany jest przez telefon komórkowy) fax lub skype. W celu edycji danych kontaktowych należy przejść w panelu e-Sklepu do zakładki Ustawienia/Ustawienia sklepu. Informacje o adresie e-mail pobierane są automatycznie z zakładki Ogólne z sekcji Konto e-mail sklepu. Aby dodać lub zmodyfikować numer telefonu konieczne jest wybranie zakładki Dane sprzedawcy, następnie Infolinia i zweryfikowanie pola Telefon.
      Wskazówka
      W elemencie wyświetlone zostaną maksymalnie 3 informacje (e-mail, telefon i jedno z wybranych pól np. telefon2, telefon komórkowy lub fax.
    • Element 7: odwołania do portali społecznościowych dodajemy bez zmian. Więcej o tym znajdziesz tutaj.
    • Elementy 8-9: aby dodać informację o operatorach płatności oraz partnerach logistycznych należy wybrać zakładkę Wygląd Sklepu/Ustawienia/Bannery. Edycji dokonasz z perspektywy kafelków: Logistics Partners oraz Payment Operators poprzez dodanie właściwych grafik operatorów i partnerów. Aby zmienić nazwę „Operator płatności” i/lub „Partnerzy logistyczni” wybierz zamiast zakładki Bannery, zakładkę Tłumaczenia. Wyszukaj po parametrze „ID” LogisticsPartnersBannerTitle oraz PaymentOperatorsBannerTitle i zmodyfikuj pole „Tekst” według własnych preferencji. Zmiany zapisz i opublikuj. W przypadku chęci usunięcia któregoś z elementów, zaznacz go i naciśnij przycisk „Usuń”.
Wskazówka
Zalecane parametry grafik dla operatorów płatności i partnerów logistycznych: szerokość maksymalna 64 px, rozszerzenie PNG.
    • Element 10: dane dotyczące firmy pobierane są z zakładki Ustawienia/Ustawienia sklepu/Dane sprzedawcy/Dane identyfikacyjne, a także z obszaru: Ustawienia/ Ustawienia sklepu/ Informacja o działalności gospodarczej/ Numer KRS lub CEIDG, Organ rejestrujący oraz Ustawienia/ Ustawienia sklepu/ Adres pocztowy, gdzie uwzględnione zostaną wszystkie pola za wyjątkiem Szerokości i długości geograficznej.

Jak zaprezentować rabaty progowe w szablonie B2B (Szafir)?

Wstęp

W Comarch e-Sklepie połączonym z Comarch ERP XL możesz przygotować dla swoich Klientów rabaty, które będą obowiązywać w e-Sklepie dla określonych progów ilościowych. Opcja dotyczy rabatów procentowych i typu stała cena, które naliczają się w e-Sklepie.

Jak skonfigurować ceny per próg ilościowy w Comarch ERP XL?

Aby w swoim e-Sklepie skorzystać z możliwości prezentacji cen dla określonych progów ilościowych ustalonych w systemie Comarch ERP XL należy:
  • mieć Comarch ERP XL w wersji min. 2023.1,
  • mieć Comarch e-Sklep w wersji min. 2023.5,
  • mieć szablon Szafir w wersji 2023.5,
  • aktywować prezentację rabatów progowych w e-Sklepie przy pomocy Asysty technicznej Comarch e-Sklep.
Wskazówka
Jeżeli chcesz prezentować rabaty progowe w swoim szablonie skontaktuj się z Asystą techniczną Comarch e-Sklep poprzez formularz celem aktywowania nowej funkcji.
W celu utworzenia promocji należy w Comarch ERP XL przejść do zakładki Zestawienia/ Promocje i rabaty i dodać rabat pozycji. Następnie można określić szczegóły rabatu na poszczególnych zakładkach:

Nagłówek:

  • Wskazać nazwę rabatu.
  • Określić priorytet.
  • Pomiń następne promocje.
  • Określić sposób łączenie z poprzednią.
  • Rodzaj dokumentu (musi być wskazany rozchodowy lub wszystkie).
  • Wskazać okres działania.
Wskazówka
Priorytet ma znaczenie przy opcji "Pomiń następne promocje". Zaznaczenie tego parametru spowoduje, że żadna promocja o niższym priorytecie (wyższej liczbie) nie powinna się już naliczyć. Jeżeli priorytet będzie wyższy (niższa liczba) to rabat się naliczy.

Kontrahenci:

W Comarch e-Sklep na promocji można wskazać:
  • Pojedynczego kontrahenta – wtedy promocja dotyczy jednego kontrahenta.
  • Grupę kontrahentów (grupa musi być wysyłana do e-Sklepu) – wtedy promocja dotyczy kontrahentów przypisanych do tej grupy.
  • Grupę główną kontrahentów – wtedy promocja dotyczy wszystkich kontrahentów w e-Sklepie: zalogowanych (którzy posiadają konta w e-Sklepie), niezalogowanych i jednorazowych (niezarejestrowanych). Przykład promocji został opisany w sekcji Przykłady użycia rabatów w e-Sklepie

Towary:

  • Wybrać towar albo grupę towarów.
  • Wskazać rodzaj rabatu (rabat od ceny sprzedaży lub stała cena).
  • Wybrać typ rabatu (procentowy lub wartościowy).
  • Wskazać progi ilościowe.
Aby tak skonfigurowane rabaty mogły być widoczne w e-Sklepie należy:
  • przesłać ustalone promocje do e-Sklepu za pomocą ręcznej synchronizacji różnicowej lub automatu synchronizacji,
  • w panelu administracyjnym e-Sklepu włączyć naliczanie rabatów przesyłanych z systemu ERP w menu Ustawienia/ Ustawienia sklepu/ Ceny i rabaty/ sekcja Rabaty  parametr Sposób liczenia rabatów z Comarch e-Sklep i systemu ERP.
  • w panelu administracyjnym e-Sklepu włączyć prezentację ceny dla ilościowych progów rabatowych w menu Wygląd sklepu/ Ustawienia/ Ustawienia szablonu/ sekcja Ogólne/ parametr Cena per próg ilościowy.
Wskazówka
Prezentacja ceny dla ilościowych progów rabatowy pochodzących z Comarch ERP XL jest możliwa tylko przy drugim widoku listy towarów w szablonie Szafir

Gdzie widać ceny dla progów ilościowych?

Prawidłowo udostępnione z systemu Comarch ERP XL rabaty z progiem ilościowym są widoczne w e-Sklepie w kilku miejscach:
  • w sekcji Polecane na stronie głównej e-Sklepu pod warunkiem, że:
    • na towarach w Comarch ERP XL ustawisz odpowiednią etykietę, która będzie tożsama z typem wybranej sekcji w szablonie Szafir. Na towarze zostanie wyświetlony zakres cen, od najniższej do najwyższej. Po kliknięciu w „Zobacz szczegóły cen” zostanie wyświetlony pop-up ze szczegółami pozostałych cen dla progów ilościowych.
  • na szczegółach towaru zostaną wyświetlone trzy pierwsze ceny dla określonych progów. Po kliknięciu w „Zobacz szczegóły cen” zostanie wyświetlony pop-up ze szczegółami pozostałych cen dla progów ilościowych.
  • na liście zakupów w Twoim e-Sklepie. Po kliknięciu w „Zobacz szczegóły cen” zostanie wyświetlony pop-up ze szczegółami pozostałych cen dla progów ilościowych.
  • w panelu administracyjnym w menu Marketing/ Rabaty (widok dla administratora sklepu):
    • na zakładce Z Comarch ERP XL dostępne są rabaty progowe
  • w profilu zalogowanego Klienta w Twoim e-Sklepie, pod warunkiem, że:
    • włączyłeś naliczanie rabatów przesyłanych z systemu ERP (parametr w panelu w menu Ustawienia/ Ustawienia sklepu/ Ceny i rabaty/ sekcja Rabaty > parametr Sposób liczenia rabatów z Comarch e-Sklep i z systemu ERP),
    • włączyłeś wyświetlanie informacji o rabatach w profilu klienta (parametr w panelu w menu Ustawienia/ Ustawienia sklepu/ Ceny i rabaty/ sekcja Rabaty),
    • włączyłeś prezentację rabatów w profilu klienta na zakładce Promocje jest ustawiona na Tak (parametr w panelu w menu Wygląd sklepu/  Ustawienia/  Ustawienia szablonu/ Ogólne > sekcja Prezentacja rabatów).
  • na składanym zamówieniu w Twoim e-Sklepie, pod warunkiem, że:
    • włączyłeś prezentację rabatów na pozycjach zamówienia i w podsumowaniu (parametr w panelu w menu Wygląd sklepu/ Ustawienia/ Ustawienia szablonu/ Ogólne/ sekcja Prezentacja rabatów).

Więcej informacji

Więcej informacji można znaleźć w artykułach:

Jak zarządzać strefą klienta w Comarch e-Sklep?

Wstęp

Od wersji 2023.5 w ustawieniach szablonów Szafir, Topaz i One Page Shop został dodany nowy obszar, który dotyczy edycji Strefy klienta. W tym artykule dowiesz się jak skonfigurować widok strefy klienta dla swoich klientów.

Konfiguracja

Ustawienia znajdują się w panelu administracyjnym: Wygląd sklepu/ Ustawienia/ Ustawienia szablonu/ Zarządzanie strefą klienta. Na stronie widoczna jest lista elementów widocznych w e-Sklepie. Lista składa się z następujących elementów:
  • Dostępne – ustawienie wyświetlania danego elementu na stronie. Jeżeli parametr jest zaznaczony (podświetla się na szaro) wówczas element będzie widoczny na stronie.
  • Kolejność – w tym polu za pomocą strzałek możemy zmienić kolejność przycisków.
  • Ikona – w tym miejscu należy wprowadzić nazwę ikony, która powinna się wyświetlać na dodanym elemencie. Więcej informacji o ikonach znajdziesz w dalszej części artykułu.
  • Etykieta PL – nazwa elementu, która będzie się wyświetlała w polskiej wersji strony.
  • Id tłumaczenia – id z którego będą pobierane tłumaczenia elementu wyświetlane w obcojęzycznej wersji strony. Tłumaczenia dodawane są w panelu administracyjnym: Wygląd sklepu/ Ustawienia/ Tłumaczenia.
  • Wyróżnij – jeżeli parametr jest zaznaczony, to powoduje zmianę koloru przycisku na inny
[/su_list

Dodawanie ikony

Ikony które są dostępne w szablonie Szafir pochodzą ze strony Themify. Na stronie dostępna jest lista możliwych do wykorzystania ikon. Jeżeli chcesz w swoim elemencie w e-Sklepie dodać ikonę wystarczy, że w polu Ikona wpiszesz nazwę ikony, na przykład: ti-link. Jeżeli jednak chcesz skorzystać z własnych ikon wówczas należy je we własnym zakresie zaimplementować w kodzie szablonu w pliku _layout.html.

Dodawanie tłumaczeń

Nazwę etykiety można wprowadzić na dwa sposoby:
  • w polu Etykieta PL - jeśli w e-Sklepie jest włączony tylko język polski,
  • w polu Id tłumaczenia - dodając id do wybranego tłumaczenia jeśli w e-Sklepie są włączone języki obce.
Jeżeli jest uzupełnione tylko pole Etykieta PL wówczas etykieta będzie miała taką nazwę jaka została wprowadzona w tym polu. Jeżeli jest uzupełnione tylko pole Id tłumaczenia wówczas etykieta będzie miała taką nazwę jaka została przypisana do danego id w sekcji Wygląd sklepu/ Ustawienia/ Tłumaczenia. Jeżeli zostały uzupełnione jednocześnie pola Etykieta PL oraz Id tłumaczenia wówczas etykieta będzie miała taką nazwę jaka została przypisana do danego id w sekcji Wygląd sklepu/ Ustawienia/ Tłumaczenia.
Wskazówka
Pamiętaj, aby elementy były widoczne w e-Sklepie wprowadzone zmiany należy zapisać i opublikować.

Wyróżnienie elementu w Strefie klienta

W szablonie Szafir możliwe jest ustawienie wyróżnienia czcionki wyróżnionego elementu w Strefie klienta. Aby to zrobić zaloguj się do panelu administracyjnego, a następnie do obszaru Wygląd sklepu/Ustawienia. W zakładce Ogólne odnajdź sekcję „Kolor czcionki wyróżnionego elementu w menu profilu klienta”. Wybierz kolory, którymi chcesz wyróżnić element w profilu klienta. Następnie zapisz zmiany. Teraz przejdź do zakładki Strefa klienta. Zaznacz te elementy, które mają zostać wyróżnione. Wystarczy, że wybierzesz odpowiedni checkbox pod Wyróżnij. W efekcie klienci odwiedzający stronę Twojego sklepu po zalogowaniu zobaczą wyróżnione elementy.

Jak prezentować wiele kodów EAN na szczegółach towaru?

Wstęp

W Comarch e-Sklep połączonym z Comarch ERP XL możesz zaprezentować wiele kodów EAN (European Article Number) na szczegółach towaru. Znajdą one zastosowanie w wyszukiwarce, a także w przygotowaniu pliku csv za pomocą którego Twoi klienci dodadzą towary do koszyka. Wiele kodów EAN możesz dodać zarówno na podstawowej jak i dodatkowej jednostce miary towaru. W tym artykule dowiesz się jak dodać dodatkowe kody na towarze, jakie korzyści przynosi ich użycie oraz jak ich używać.

Aby w swoim e-Sklepie skorzystać z możliwości prezentacji wielu kodów EAN na towarze należy:
  • mieć Comarch ERP XL w wersji min. 2024.1,
  • mieć Comarch e-Sklep w wersji min. 2024.3,
  • mieć szablon Szafir, Topaz lub One Page Shop w wersji 2024.3,
  • aktywować prezentację dodatkowych kodów EAN w panelu administracyjnym e-Sklepu.

Jakie są korzyści z używania dodatkowych kodów EAN?

  • Łatwiejsze wyszukiwanie produktów: Dodatkowe kody EAN umożliwiają szybkie i precyzyjne wyszukiwanie towarów w Comarch e-Sklep. Wpisując jeden lub wiele kodów EAN (oddzielone przecinkami) w wyszukiwarkę Twoi klienci natychmiast otrzymają wyniki zawierające dokładnie ten produkt, którego szukają. Identyfikacja produktu odbywa się także zgodnie z przypisanym kodem EAN dla podstawowej (np. szt.) i dodatkowej (np. kartonu) jednostki miary.
  • Szybszy import produktów do koszyka: Funkcjonalność importu produktów za pomocą pliku CSV z wykorzystaniem różnych kodów EAN pozwoli na dywersyfikację towarów w koszyku w zależności od przypisanej jednostki miary do właściwego kodu EAN..

Jakie są sposoby prezentacji kodów EAN na towarach w e-Sklepie?

W Comarch e-Sklep istnieją 4 możliwości prezentacji kodów EAN na szczegółach towaru. Sposób 1. Standardowo prezentowany jest domyślny kod EAN, który został przyporządkowany dla głównej jednostki miary (np. szt) w systemie Comarch ERP XL na zakładce Ogólne. Sposób 2. W e-Sklepie możesz także prezentować kod EAN wskazywany na dodatkowej jednostce miary. Aby go dodać przejdź na zakładkę Jednostki, kody, VAT i wprowadź dedykowany kod EAN na jednostce, w której chcesz także sprzedawać w e-Sklepie. Tak wprowadzony kod EAN pojawi się na szczegółach towaru po wybraniu dedykowanej jednostki przez klienta Twojego e-Sklepu. Sposób 3. Wiele kodów EAN na podstawowej jednostce miary np. szt. Aby je dodać przejdź do zakładki Jednostki, kody, VAT > Kody kreskowe w systemie Comarch ERP XL. Krok 1. Za pomocą zielonego plusa dodaj nowy kod, Krok 2. Wybierz jego typ, Krok 3. Wprowadź kod, Krok 4. Wybierz jednostkę np. szt. Tak wprowadzony kod EAN pojawi się na szczegółach towaru po wybraniu dedykowanej jednostki przez klienta Twojego e-Sklepu. Sposób 4. Wiele kodów EAN na podstawowej i dodatkowej jednostce miary. Aby je dodać przejdź do zakładki Jednostki, kody, VAT > Kody kreskowe w systemie Comarch ERP XL. Krok 1. Za pomocą zielonego plusa dodaj nowy kod, Krok 2. Wybierz jego typ, Krok 3. Wprowadź kod, Krok 4. Wybierz jednostkę np. karton. Tak wprowadzony kod EAN pojawi się na szczegółach towaru po wybraniu dedykowanej jednostki przez klienta Twojego e-Sklepu. Aby tak skonfigurowane kody EAN mogły być widoczne w e-Sklepie należy w panelu administracyjnym e-Sklepu włączyć prezentację dodatkowych kodów EAN na szczegółach towaru w menu Wygląd sklepu > Ustawienia > Ustawienia szablonu > sekcja Ogólne.
Wskazówka
W sekcji Cechy towaru zostanie jako pierwszy zaprezentowany kod EAN dla domyślnej jednostki towaru. Pod warunkiem, że został dodana w systemie Comarch ERP.

Jak korzystać z dodatkowych kodów EAN w wyszukiwarce?

Aby skorzystać z dodatkowych kodów EAN w wyszukiwarce, wystarczy: Krok 1. W panelu administracyjnym e-Sklepu włączyć wyszukiwanie towarów po polu: Kod EAN w menu Ustawienia > Ustawienia sklepu > Wyszukiwanie. Krok 2. Wejść na stronę główną e-Sklepu. Krok 3. W polu wyszukiwania wpisać kod lub wiele kodów EAN oddzielonych przecinkami. Efekt:  Wyniki wyszukiwania będą zawierały produkty odpowiadające wprowadzonym kodom EAN.

Jak importować towary do koszyka za pomocą pliku CSV?(tylko dla wersji B2B)

Krok 1. Przygotowanie pliku CSV: Upewnij się, że plik CSV zawiera kolumnę z kodami EAN i przyporządkowanymi do nich jednostkami miary produktów. Krok 2. Import pliku CSV: Na stronie koszyka znajdziesz opcję importu pliku CSV. Kliknij przycisk "Importuj z pliku CSV", a następnie wybierz przygotowany plik ze swojego komputera. Efekt: Po zaimportowaniu pliku, system automatycznie doda do koszyka produkty odpowiadające kodom EAN i jednostkom miary z pliku CSV w podanej ilości.

Więcej informacji

Więcej informacji można znaleźć w artykułach: Jak skonfigurować jednostki pomocnicze oraz w Przeliczanie jednostki miary według wagi produktu.

Jak zaprezentować kupony rabatowe w szablonie Topaz i Szafir?

Wstęp

Kupon rabatowy jest wygenerowanym kodem, który umożliwia klientom otrzymanie obniżki procentowej lub wartościowej, a także opcji darmowej dostawy. Jeżeli klient zastosuje kupon rabatowy w koszyku, odpowiednia promocja zostanie naliczona w ramach zamówienia. Kupon rabatowy może być szansą na zwiększenie sprzedaży –  klienci widząc możliwość obniżki chętniej skorzystają z zakupu towarów. W tym momencie możliwe jest zaprezentowanie kuponów w ramach szablonów Topaz i Szafir.
Wskazówka
Sposób konfiguracji kuponów rabatowych został opisany w artykule Kupony rabatowe.

Jak pokazać klientom dostępne kupony rabatowe?

W sklepie istnieje możliwość pokazania kuponów rabatowych ustawionych dla wszystkich bądź zalogowanych kontrahentów. Prezentacja kuponów odbywa się w ramach wskazanej dla kuponu grupy towarowej.
Wskazówka
W przypadku, gdy kupon rabatowy jest ustawiony na wszystkie kategorie, jest on wyłączony z prezentacji. Dzięki temu możliwe jest ustawienie takiego kuponu bez automatycznego prezentowania promocji na wszystkich towarach w sklepie. Z prezentacji są także wyłączone kupony rabatowe dla newslettera i wybranych subskrybentów, dzięki czemu są one unikalne w ramach mailingu.
Wskazane kody rabatowe można pokazać klientom zarówno na dedykowanej stronie, jak i w ramach towarów, na które obowiązują. Aby włączyć prezentację kuponów rabatowych, wykonaj następujące kroki: Krok 1. Przejdź do obszaru Ustawienia > Ustawienia sklepu > Towary > Etykiety towaru. Z tego poziomu włącz flagę Promocja dla towarów, dla których dodano kupony rabatowe: Na wskazanych towarach pojawi się flaga „Promocja”. Umożliwi to zaprezentowanie kuponów rabatowych w szablonie.
Wskazówka
Tak ustawiona flaga promocja umożliwia prezentację kuponów rabatowych - nie jest uwzględniana w przypadku filtrów na liście towarów. W tym celu należy użyć oznaczenia flagi promocja pochodzącej z systemu ERP lub ceny poprzedniej.
Krok 2. W obszarze Wygląd sklepu > Ustawienia > Prezentacja rabatów włącz prezentację kuponów rabatowych na dedykowanej stronie w strefie klienta: W wyniku wskazanych ustawień, dostępna dla klientów stanie się strona, na której będzie widoczna lista kodów, wraz ze szczegółami obniżki:

Strona w profilu klienta ze szczegółami kodów rabatowych w szablonie Szafir

Kupony rabatowe w profilu klienta w szablonie Topaz

Krok 3. Po włączeniu prezentacji kuponów rabatowych na liście, szczegółach towaru i w koszyku, na towarach będzie dostępny przycisk "Pokaż promocje":

Prezentacja kodów rabatowych na listach w szablonie Szafir

Kupony rabatowe na listach w szablonie Topaz

Kliknięcie na niego dostarczy klientom informację o kuponach obowiązujących na danym towarze: Na szczegółach towaru pojawią się etykiety informujące o dostępnych kodach:

Etykiety informujące o kodach rabatowych w szablonie Szafir

             

Kody rabatowe na szczegółach towaru w szablonie Topaz

Dzięki wskazanej prezentacji kuponów, klient w prosty sposób będzie mógł skopiować kod rabatowy z poziomu popupu i zastosować go w ramach zamówienia. Tę funkcję można wykorzystać w celach marketingowych - poprzez zaprezentowaną obniżkę zwiększyć zainteresowanie ofertą sklepu.

Szablon Topaz

Modyfikacja informacji wyświetlanych na kaflu towaru

W Kreatorze Wyglądu Topaz powstała funkcja pozwalająca na modyfikację informacji wyświetlanych na kaflu towaru. Po wybraniu widoku listy towarów i stylu kafli, przechodząc do ustawień tej sekcji, masz możliwość edycji informacji o towarze, które będą widoczne na kaflu towaru. Dostępne są dwa widoki zdjęć kategorii: lista oraz mozaika. Domyślnie zaznaczona jest lista. Aby dokonać modyfikacji informacji na kaflu, musisz przejść do zakładki „Kafle”.  Jeśli korzystasz z list towarów 3 lub 4, masz możliwość edycji następujących informacji:
  • Kupowanie z listy towarów
  • Dodawanie do ulubionych z listy towarów
  • Prezentowanie drugiego zdjęcia towaru
  • Graficzna prezentacja wariantów towaru
  • Dodatkowe informacje na kaflu
  • Dodatkowe funkcje na kaflu
W przypadku list towarów 1 i 2, modyfikacja informacji jest uproszczona, ogranicza się jedynie do:
  • Kupowanie z listy towarów
  • Dodawanie do ulubionych z listy towarów
  • Prezentowanie drugiego zdjęcia towaru

Jak dodać obrazek do nazwy kategorii i podkategorii w Comarch e-Sklep?

Wstęp

W Comarch e-Sklep możesz dodawać obrazki zarówno dla kategorii jak i dla podkategorii towarów. Odpowiednio dobrane grafiki zwiększają atrakcyjność wizualną sklepu, przyciągają wzrok klientów i zachęcają do dalszego przeglądania ofert w Twoim sklepie. Dodatkowo ułatwiają one nawigację i skracają czas poszukiwań Twoich klientów. W tym artykule dowiesz się, w jaki sposób skonfigurować funkcję dodawania zdjęć do kategorii i podkategorii w Twoim sklepie.

Jak dodać zdjęcie do nazwy kategorii w Comarch e-Sklep?

Comarch ERP Optima

Krok 1. Aby dodać zdjęcia kategorii w Comarch ERP Optima przejdź do zakładki Ogólne > Grupy towarowe i wybierz grupę do której ma zostać dodane zdjęcie.

Krok 2. Następnie na zakładce Atrybuty za pomocą symbolu Plusa dodaj atrybut binarny.

Wskazówka
Jeśli nie posiadasz atrybutu binarnego to aby go utworzyć przejdź do zakładki Ogólne > Atrybuty i w pierwszej zakładce symbolem Plusa dodaj atrybut w formacie binaria.

Krok 3. Po dodaniu zdjęć kategorii zmiany zapisz ikoną dyskietki oraz wykonaj synchronizację.

Comarch ERP XL

Wyświetlanie zdjęć kategorii w Comarch ERP XL możesz uzyskać poprzez dodanie odpowiedniego Załącznika. Krok 1. Aby wprowadzić zdjęcie w formie załącznika przejdź w module Sprzedaż do zakładki Ogólne > Towary i wejdź w edycję wybranej grupy. Krok 2. W zakładce Załączniki dodaj nowy załącznik ikoną Plusa. W polu Typ wskaż typ załącznika Obraz oraz zaznacz przy parametrze "Dostępność w aplikacji" e-Sklep. Następnie zaimportuj obraz ikoną z czerwoną strzałką. 3. Zmiany zapisz ikoną dyskietki oraz wykonaj synchronizację.

Comarch ERP XT

Krok 1. Zdjęcia kategorii w Comarch ERP XT możesz dodać po wybraniu Więcej funkcji > Comarch e-Sklep > Grupy w Comarch e-Sklep. Krok 2. Aby wprowadzić obrazek dla kategorii wybierz grupę do której chcesz dodać zdjęcie. Następnie wczytaj je wybierając jedną z 2 opcji: Z dysku lub Z internetu. Krok 3. Zapisz wprowadzone zmiany i wykonaj synchronizację.

Jak ustawić dodane zdjęcie jako ikonkę w nagłówku szablonu Topaz?

W szablonie Topaz istnieje możliwość ustawienia dodanych zdjęć kategorii jako ikonek przy nazwach kategorii w Twoim sklepie. Ta funkcja obsługuje nagłówki: header-1, header-2, header-3 oraz header-5, które są dostępne w Kreatorze Wyglądu. Zdjęcia w postaci ikon wyświetlają się w następujący sposób:
Widok nagłówka header-2 ze sklepu demonstracyjnego - https://demo.comarchesklep.pl/
Krok 1. Skonfiguruj funkcję wyświetlania się ikon nagłówka. Istnieją dwie możliwości konfiguracji tej funkcji:
  • Z poziomu Kreatora Wyglądu – Podczas tworzenia szablonu Topaz w Kreatorze Wyglądu dodaj nagłówek header-1,2,3 lub 5. Następnie przejdź do jego edycji i oznacz parametr „Ukryj ikony w nagłówku” na „tak”:
Zapisz zmiany, a następnie wygeneruj szablon.
  • Z poziomu panelu administracyjnego – W sytuacji gdy wgrałeś już wygenerowany szablon do Twojego sklepu i chcesz wprowadzić zmiany w zakresie wyświetlania się obrazków przy nazwach kategorii, przejdź do sekcji Wygląd sklepu > Ustawienia > Dodatkowe i wprowadź zmiany przy parametrze „Ukryj ikony w nagłówku”:
Wprowadzone zmiany zapisz i opublikuj.
Krok 2. Wgraj zdjęcia kategorii do Twojego systemu ERP. Informacje na temat jak wgrać zdjęcia kategorii do poszczególnych systemów ERP znajdziesz pod pierwszym punktem tego artykułu.
Wskazówka
Na stronie „Produkty” wyświetlają się zdjęcia kategorii. Należy pamiętać, iż jeśli w systemie ERP zostanie dodany obrazek kategorii w formie ikony, to taki sam obrazek wyświetli się na stronie „produkty”. Nie istnieje możliwość dodania dwóch osobnych zdjęć do nagłówka i do strony „Produkty”.

Jak mogę dodać zdjęcie do nazwy podkategorii?

W takich szablonach jak Topaz i dla Gastronomii istnieje możliwość dodania obrazków, które będą wyświetlały się przy nazwach podkategorii w Twoim sklepie. Ta funkcja obsługuje wszystkie układy list towarów: products-1, products-2, products-3, products-4, które są dostępne w Kreatorze Wyglądu. Obrazki do nazw podkategorii wyświetlają się w następujący sposób:
Widok zdjęć podkategorii na liście towarów ze sklepu demonstracyjnego - https://demo.comarchesklep.pl/
Aby dodać zdjęcia do podkategorii postępuj według poniższych kroków: Krok 1. Skonfiguruj funkcję wyświetlania podkategorii. Istnieją dwie możliwości konfiguracji tej funkcji:
  • Z poziomu Kreatora Wyglądu - Tworząc szablon Topaz lub dla Gastronomii przejdź do edycji Listy towarów w Kreatorze Wyglądu. Następnie dodaj układ listy towarów: products-1,2,3 lub 4 i edytując go oznacz parametr "Udostępnij zdjęcia podkategorii".
Zapisz zmiany, a następnie wygeneruj szablon.
  • Z poziomu panelu administracyjnego - W sytuacji gdy wgrałeś już wygenerowany szablon do Twojego sklepu i chcesz wprowadzić zmiany w zakresie wyświetlania się obrazków przy nazwach podkategorii, przejdź do sekcji Wygląd sklepu > Ustawienia > Ogólne i oznacz parametr "Udostępnij zdjęcia podkategorii":
Zapisz i opublikuj wprowadzone zmiany. Krok 2. Dodaj obrazki do podkategorii w systemie ERP. Skonfigurujesz je w podobny sposób jak obrazki dla kategorii, które zostały opisane w pierwszej części artykułu.

Więcej informacji

Więcej na temat dodawania obrazków w e-Sklepie można przeczytać w artykułach:

Banner promocyjny w szablonie Topaz i One Page Shop

Banner promocyjny - jak to działa?

Banner promocyjny wyświetli się na stronie głównej Twojego e-Sklepu i będzie prezentował typ towaru, który wskażesz. Taki rodzaj banneru pomoże Ci w zwróceniu uwagi Klientów na towary, które zostały objęte na przykład ofertą specjalną.

Dodanie banneru

Banner możesz dodać z poziomu Kreatora Wyglądu B2C  (zamiennie: panel administracyjny e-Sklepu: Wygląd sklepu/ Kreator wyglądu). Aby dodać banner promocyjny do swojego szablonu, przejdź na stronę "Strona główna", po czym wybierz Banner promocyjny i przeciągnij go w wybrane przez Ciebie miejsce. W podglądzie układu szablonu, po najechaniu kursorem na obszar z bannerem promocyjnym, zobaczysz możliwość jego edycji. Wybierz ikonę "zębatki", aby móc edytować i określić liczbę wyświetlanych towarów oraz typ promowanych towarów. Zapisz wprowadzone zmiany. Jeśli pozostałe strony szablonu są gotowe i skonfigurowane, to możesz wygenerować szablon. Więcej informacji na temat Kreatora Wyglądu oraz poszczególnych sekcji znajdziesz w artykule: Kreator wyglądu Topaz (B2C) Po zaimportowaniu szablonu do panelu administracyjnego możesz przejść do edycji banneru. Postępuj zgodnie z poniższą instrukcją.

Edycja banneru

Modyfikacja wszystkich bannerów dostępnych w szablonach Comarch możliwa jest w panelu administracyjnym w obszarze Wygląd sklepu> Ustawienia> Bannery. Informacje odnośnie domyślnej, tradycyjnej modyfikacji bannerów znajdują się w artykule: Bannery

Odnajdź banner na liście nazwany "promotionalBanner", a następnie wybierz go, aby edytować i dodać zdjęcie

Po dokonaniu modyfikacji należy zapisać i opublikować zmiany. Gotowe! Teraz Twój banner promocyjny wyświetli się na stronie głównej.
Banner promocyjny w szablonie Topaz
Banner promocyjny w szablonie Topaz.

Jak dodać wiele linków do banneru top?

Wstęp

Banner top jest bannerem, który wyświetla się na samej górze witryny. Ma on na celu wyróżnić informacje, które chcesz przekazać swoim klientom. Z tego względu w ramach banneru top możesz dodać zarówno treść, jak również linki, które będą prowadzić do istotnych obszarów. Dzięki temu możesz zaprezentować klientom informacje o ofercie w Twoim sklepie. Wskazana prezentacja wielu linków możliwa jest w szablonach Topaz oraz Dla gastronomii.

Jak zaprezentować wiele linków w bannerze top?

Krok 1. Aby ustawić wskazany banner według własnych potrzeb przejdź do sekcji Wygląd sklepu > Ustawienia > Bannery. W tym miejscu powinien znajdować się banner o nazwie top: Krok 2. W ramach edycji banneru przejdź do sekcji Widok zaawansowany: Krok 3. Po otwarciu wskazanego widoku masz możliwość kilku opcji konfiguracji banneru top - w ramach domyślnych ustawień dla banneru wypełniona jest sama treść. Do banneru można dodać także link. W takim wypadku całość banneru top będzie klikalna, a wypełniony tekst zostanie zaprezentowany na środku banneru: Krok 4. Do banneru top można dodać dodatkowe linki. Należy to zrobić wchodząc do edycji banneru lub poprzez opcję Dodaj więcej linków: Krok 5. Z poziomu wskazanej opcji w zakładce Linki za pomocą przycisku plusa masz możliwość dodania linku: Następnie możesz wprowadzić nazwę, dodać link oraz zadecydować czy ma się on otwierać w nowym oknie:
Wskazówka
Aby prezentować wiele linków w szablonie należy uzupełnić link i nazwę dla linku domyślnego.
Dzięki dodaniu wielu linków masz możliwość ich prezentacji banneru top w następujący sposób:
    • Jeżeli w bannerze top wskazany został tekst: zostanie on przesunięty do lewej strony, a po prawej stronie w ramach tej opcji będzie wyświetlane do 4 linków:
    • W przypadku, gdy potrzebujesz więcej linków możesz zrezygnować z wypełnionego tekstu – dzięki temu na bannerze top będziesz mógł dodać do 6 linków:
Wskazówka
Opcja wielu linków w bannerze top jest możliwa do skonfigurowania wraz z odliczaniem czasu. W ramach takiej konfiguracji możliwe jest wyświetlenie do 4 linków. Informacje o konfiguracji banneru top z odliczaniem czasu można znaleźć w artykule Jak zaprezentować banner z odliczaniem czasu w szablonach B2C? W takim przypadku należy uzupełnić konfigurację linków, ustawić opcję odliczania czasu, jak również uzupełnić pole "Tekst". Dzięki temu banner top zyska następujący wygląd:
 

Jak zaprezentować banner w liście towarów dla szablonu Topaz?

Wstęp

Banner prezentowany na listach towarowych Twojego e-Sklepu przyciągnie uwagę klientów i pomoże zwiększyć sprzedaż. Dzięki wyrazistym grafikom i atrakcyjnym komunikatom można promować konkretne produkty, sezonowe promocje lub nowości, wyróżniając je spośród innych ofert. Sprawdź jak łatwo można dodać i skonfigurować banner, który będzie wyświetlany na listach towarowych w Twoim sklepie.

Jak dodać banner do listy towarów?

Krok 1. Banner możesz dodać z poziomu Kreatora Wyglądu B2C  (zamiennie: panel administracyjny e-Sklepu: Wygląd sklepu > Kreator wyglądu).W Kreatorze banner znajduje się w sekcji Lista towarów > Banner w liście towarów. Aby dodać banner wystarczy w niego kliknąć:
Wskazówka
Aby zmienić banner wystarczy kliknąć inny banner, natomiast aby go usunąć należy ponownie kliknąć na dodany banner.
Krok 2. Ustawienia banneru możesz skonfigurować zarówno z poziomu Kreatora Wyglądu jak i panelu administracyjnego. W Kreatorze Wyglądu po dodaniu banneru do listy towarowej kliknij w symbol ustawień a następnie przejdź do zakładki Banner w liście towarów: Krok 3. Szablon z tak przygotowanym bannerem należy wygenerować. Po zaimportowaniu szablonu do panelu administracyjnego możesz przejść do dalszej konfiguracji. Krok 4. Przejdź do ustawień Wygląd sklepu > Ustawienia > Bannery. W tej sekcji znajdź banner o nazwie banner-in-list-1 lub jeśli wybrałeś drugą opcję to banner-in-list-2, a następnie przejdź do jego edycji. Krok 5. Za pomocą ikony plusa dodaj obrazek w rozmiarze 720x300 dla banner-in-list-1 lub 1400x300 dla banneru banner-in-list-2. Po przesłaniu właściwego obrazka kliknij na Widok zaawansowany, aby przejść do edycji pozostałych elementów.
Wskazówka
Pamiętaj o tym, aby zapisać i opublikować wprowadzone zmiany.
Krok 6. Gotowe! Twój banner będzie prezentował się w sklepie następująco:
Wskazówka
Ustawienia banneru osadzongo w liście towarów możesz zmienić także w panelu administracyjnym przechodząc do zakładki Wygląd sklepu > Ustawienia > Zarządzanie elementami na liście towarów.

Posiadam gotowy szablon Comarch. Jak mogę go dostosować do kryteriów WCAG 2.1/2.2?

Wstęp

Z dniem 28 czerwca 2025 roku w życie wejdą przepisy związane z implementacją ustawy z dnia 26 kwietnia 2024 r. o zapewnianiu spełniania wymagań dostępności niektórych produktów i usług. Wdraża ona do polskiego prawa tzw. Europejski Akt o Dostępności (EAA) – unijną dyrektywę 2019/882. Celem ustawy jest zapewnienie, że kluczowe produkty i usługi będą dostępne dla wszystkich użytkowników, w tym osób z niepełnosprawnościami. Przedsiębiorcy mają czas do 28 czerwca 2025 roku, aby dostosować swoje produkty i usługi do nowych wymogów.
Wskazówka
Chcesz dowiedzieć się więcej o tych przepisach? Sprawdź artykuł w naszym Centrum Pomocy: Europejski Akt o Dostępności (EAA) i zapoznaj się ze szczegółami
W niniejszym artykule wskazujemy, jakie czynności należy wykonać, jeśli posiadasz jeden ze standardowych szablonów Comarch, czyli: Rubin, Szafir, Topaz, One Page Shop lub Dla Gastronomii.   

Sprawdź, jaki szablon posiadasz

Nie wiesz, który szablon posiadasz? Możesz to sprawdzić w panelu administracyjnym Comarch e-Sklep. Aby to zrobić, z poziomu panelu administracyjnego przejdź do zakładki Wygląd sklepu/ Ustawienia a następnie, pod przyciskiem "Więcej" wybierz Edytuj ustawienia zaawansowane. W obszarze, który został wyświetlony, pojawi się kilka zakładek, a wśród nich zakładka "Szablon". Wybierz ją, po czym sprawdź szablon:   Jeśli Twój szablon to Rubin, Szafir, Topaz, One Page Shop lub Dla Gastronomii, to możesz przejść do kolejnej części artykułu. Jeśli posiadasz własny szablon z indywidualnymi modyfikacjami, to przejdź do artykułu: Posiadam własny szablon, jak mogę go dostosować do kryteriów WCAG 2.1/2.2?  Jeśli posiadasz szablon Bursztyn, Agat lub Opal, to przejdź do artykułu: Posiadam szablon Bursztyn, Opal lub Agat, jak mogę go dostosować do kryteriów WCAG 2.1/2.2?  

Co zrobić jako właściciel e-Sklepu lub Partner, jeśli używam gotowych szablonów Comarch?

Jako właściciel e-Sklepu lub Partner Comarch zadbaj, aby zadbać o dostosowanie swojej witryny do obowiązujących przepisów. Nowe wymogi to wspólna odpowiedzialność:
  • Comarch e-Sklep – zajmiemy się kwestiami technicznymi w przypadku Gotowych Szablonów Comarch, do których należą m.in. zmiany w kodzie,
  • Właściciel, administrator lub Partner sklepu – musisz zadbać o treści i elementy, które dodajesz samodzielnie. Chodzi tu głównie opis produktów, zdjęcia i grafiki czy identyfikację wizualną. 
 

Jak zacząć?

Jeśli korzystasz z gotowych szablonów, takich jak Rubin, Szafir, Topaz, One Page Shop lub Dla Gastronomii, nie musisz przejmować się samodzielnym edytowaniem ich kodu. Wszystkie usprawnienia zostaną udostępnione wraz z aktualizacją, która pojawi się w czerwcu 2025 roku.

Aktualizacja szablonu

Wskazówka
Aktualizację szablonu wykonaj wtedy, kiedy będzie ona dostępna. Realizacja wersji 2025.4 przewidywana jest przed 28 czerwca 2025 roku, poinformujemy o niej w aktualnościach. Będzie ona zawierała zmiany związane z omawianymi tutaj przepisami.

Jak zaktualizować szablon?

Aby zaktualizować szablon i przejść na Topaz, One Page Shop, Dla Gastronomii, Rubin lub Szafir, należy skorzystać z aktualnej wersji Kreatora Wyglądu. Pamiętaj, że szablony Rubin i Szafir przeznaczone są tylko dla sklepów Enterprise i B2B. Odnośnik znajduje się również w panelu administracyjnym e-Sklepu w sekcji Wygląd sklepu > Kreator wyglądu.  Istnieją trzy możliwości aktualizacji tych szablonów:
  • Wygenerowanie zupełnie nowego szablonu w Kreatorze Wyglądu oraz wgranie go do e-Sklepu,
  • Wybór i edycja jednego z gotowych układów i jego modyfikacja,
  • Import posiadanego szablonu do Kreatora Wyglądu oraz ponowne wygenerowanie go w najnowszej wersji.
Wygenerowany z Kreatora Wyglądu szablon należy wgrać do e-Sklepu. W panelu administracyjnym e-Sklepu, w sekcji Wygląd sklepu znajduje się bezpośredni odnośnik do importu szablonu z Kreatora wyglądu. Szczegółowa instrukcja dostępna jest w artykule Jak wyeksportować i zaimportować swój szablon w e-Sklepie?
Pamiętaj o zapisaniu szablonu oraz opublikowaniu go w e-Sklepie. Zmiany wprowadzone w ustawieniach zostaną zsynchronizowane do sklepu po 10 minutach.
Wskazówka
Informacje na temat aktualizacji znajdują się w Centrum Pomocy: Jak zaktualizować szablon do najnowszej wersji?  
Więcej informacji na temat Kreatora Wyglądu B2C oraz B2B znajduje się w Centrum Pomocy:

Odpowiedni kontrast kolorów w e-Sklepie – wymóg WCAG na poziomie AA

Jednym z głównych wymogów WCAG jest stosowanie odpowiednich kontrastów na stronach internetowych. Jeśli w wybranym szablonie graficznym wykorzystujesz któryś ze standardowych motywów kolorystycznych dostępnych w kreatorach, to zostaną one dostosowane do wymagań wynikających z przepisów. Jeśli natomiast masz przygotowany własny motyw kolorystyczny lub chcesz zmienić część kolorów zastosowanych w szablonie, to pamiętaj, że muszą one posiadać odpowiednie kontrasty. Wszelkich zmian kolorystycznych możesz dokonać w Kreatorze Wyglądu.  Odpowiedni kontrast między tekstem a tłem jest kluczowy dla osób z dysfunkcjami wzroku. WCAG 2.1 określa minimalny współczynnik kontrastu (4.5:1 dla tekstu zwykłego i 3:1 dla tekstu dużego). Ważne jest również unikanie łączenia kolorów, które mogą być trudne do rozróżnienia, takich jak czerwony i zielony. Kontrasty po modyfikacji kolorów możesz sprawdzić np. narzędziem WAVE. WAVE to popularny, dostępny dla wszystkich zestaw narzędzi do oceny dostępności stron internetowych. Rozszerzenia WAVE dla Chrome, Firefox i Edge, umożliwiają testowanie bezpośrednio w tych przeglądarkach, bez przesyłania danych na serwer WAVE. WAVE znajdziesz pod linkiem: WAVE Web Accessibility Evaluation Tools.  

Jak sprawdzić kontrast?

Przejdź na stronę swojego e-Sklepu. Włącz wtyczkę WAVE. Po prawej stronie ekranu wyświetli się panel boczny, na pierwszej zakładce widać podsumowanie całej strony: Już na tym etapie możesz przejść do szczegółów, klikając "View details". Możesz w tym miejscu przejść także do zakładki "Contrast".   Czerwone kwadraty oznaczają obszar do poprawy. Przejdź przez stronę, aby zobaczyć szczegóły każdego z nich. Po kliknięciu na jeden z kwadratów pokaże się komunikat dotyczący kontrastu: W panelu bocznym pojawi się dokładna informacja na temat koloru. W tym miejscu, korzystając z suwaków możesz od razu dostosować kolor tak, aby był odpowiedni i sprawdzić, czy spełnia wymagania WCAG.  

Gdzie dostosować kolory?

Kolory w szablonie możesz zmienić korzystając z Kreatora Wyglądu. Po imporcie szablonu, edycji lub stworzeniu nowego projektu, przejdź do zakładki "Style" i edytuj motyw kolorystyczny:   Następnie możesz zmieniać swobodnie kolor na wybranych elementach:   Zmian możesz dokonać także z poziomu panelu administracyjnego, przechodząc do zakładki Wygląd Sklepu > Ustawienia.

Pozostałe zmiany

Poza zmianami w szablonie graficznym sklepu należy uzupełnić szereg danych. Znaczącą część tych elementów możesz wykonać już teraz, nie czekając na aktualizację Comarch e-Sklep. Poniżej znajduje się lista zmian, które należy wdrożyć w swoim e-Sklepie.

Teksty alternatywne ("Alt", alty) w Comarch e-Sklep

Twój szablon musi obsługiwać parametr "alt" w obrazkach. Jeśli wykorzystasz aktualny szablon standardowy od Comarch to obsługę zapewnia Comarch e-Sklep, jeśli zdecydowałeś się na indywidualny szablon lub samodzielną aktualizację starszej wersji to upewnij się, że w szablonie są obsługiwane parametry "alt" we wskazanych elementach. Teksty alternatywne („alt”) to krótkie opisy obrazków, które pozwalają osobom korzystającym z czytników ekranu zrozumieć, co znajduje się na zdjęciu. Atrybut „alt” jest szczególnie ważny dla zdjęć produktów, ponieważ umożliwia przekazanie najważniejszych informacji o produktach.  Dlaczego tekst alternatywny jest taki ważny? 
  • Pomaga osobom korzystającym z czytników ekranu, które odczytują tekst alternatywny na głos,
  • Poprawia dostępność stron internetowych, czyniąc je bardziej przyjaznymi dla wszystkich użytkowników,
  • Wpływa na pozycjonowanie w wyszukiwarkach, ponieważ dobrze opisane obrazy są lepiej interpretowane przez algorytmy Google.   
Dobrze sformułowany opis powinien być zwięzły, ale wystarczająco informacyjny. Poniżej prezentujemy przykłady dobrego i złego zastosowania opisów alternatywnych:
Przyklad
Poprawne :
  • Czerwona sukienka maxi z rozcięciem, modelka na tle miejskiego pejzażu.
  • Białe sneakersy z grubą podeszwą, ustawione na drewnianej podłodze.
  • Nowoczesna sofa w kolorze szarym, z drewnianymi nogami, ustawiona w minimalistycznym salonie.
  • Słuchawki bezprzewodowe z aktywną redukcją szumów, na białym tle.
Niepoprawne:
  • Sukienka.
  • Buty sportowe.
  • Fajna kanapa.
  • Najlepszy sprzęt w dobrej cenie!

Gdzie należy uzupełnić teksty alternatywne (alt)?

1. Dla zdjęć towarów w systemach Comarch ERP

Korzystam z Comarch ERP Optima
Po uruchomieniu Comarch ERP Optima przejdź na pozycję cennika, a następnie edytuj wybrany towar. Następnie przejdź na zakładkę "Atrybuty", a następnie do sekcji "Zdjęcia i załączniki". W tym miejscu zobaczysz kolumnę "Atrybut Alt".
Po dwukrotnym kliknięciu możliwe jest uzupełnienie opisu alternatywnego: Po dokonaniu zmian należy je zapisać. Po wykonaniu wszystkich modyfikacji należy wykonać synchronizację.

Korzystam z Comarch ERP XL

Po uruchomieniu ERP XL przejdź do Sprzedaż > Towary , a następnie na zakładkę "Załączniki". Opis alternatywny dla towaru stanowi Kod:    
Korzystam z Comarch ERP XT
Przejdź na kartę produktu, a następnie do zakładki "Zdjęcia". Wśród pól do uzupełnienia znajdziesz "Opis alternatywny (Alt)".   W tym miejscu wpisz odpowiednią treść, a następnie zapisz wprowadzone zmiany.  

2. Dla zdjęć w bannerach – w panelu administracyjnym Comarch e-Sklep

Pamiętaj, alby alty (opisy alternatywne) były uzupełnione także w przypadku bannerów. Aby to zrobić, przejdź z poziomu panelu administracyjnego do Wygląd sklepu > Ustawienia > Bannery  do edycji swoich bannerów. Klikając na odpowiedni kafelek pojawią się opcje z uzupełnieniem Alt:

3. Dla zdjęć stosowanych na stronach z treściami formalnymi – w panelu administracyjnym Comarch e-Sklep

Obrazki możesz dodawać także do treści, które udostępniasz na specjalnych stronach, takich jak np. Regulamin sklepu, Polityka prywatności, Wysyłka itp. W obszarze do edycji, który jest dostępny z poziomu panelu administracyjnego w sekcji Ustawienia > Treści formalne edytuj interesującą Cię treść, a dodając obrazek uzupełnij alt:    

4. Dla zdjęć wprowadzonych w opisie towaru i opisie kategorii

Dodając opisy produktów i kategorii, warto upewnić się, że linkowane zdjęcia zawierają poprawnie uzupełniony atrybut "alt". To kluczowe dla osób korzystających z czytników ekranu. Dbałość o ten detal poprawia dostępność strony i zwiększa jej widoczność w sieci. Opis towaru i kategorii możesz dodać w systemach Comarch ERP.  Opis kategorii możesz ustawić również z poziomu panelu administracyjnego, bez konieczności korzystania z systemu ERP. Szczegółowe informacje znajdują się w artykule: Jak edytować kategorię w Comarch e-Sklep? 

5. Dla zdjęć w Blogu

Obrazki, które dodawane są dla wpisów blogowych od wersji 2025.4 będą posiadały atrybuty ALT oraz Title. Ich uzupełnienie będzie możliwe przy przejściu z poziomu panelu administracyjnego Comarch e-Sklep do sekcji Marketing > Blog przy dodawaniu wpisu:

6. Dla zdjęć w plikach użytkownika w sekcji "Twoje pliki"

Pliki użytkownika w e-Sklepie to dedykowana przestrzeń do przechowywania własnych materiałów, które mogą zostać wykorzystane w sklepie internetowym. Pliki można przesyłać za pośrednictwem panelu administracyjnego, w sekcji Ustawienia > Twoje pliki. Maksymalny rozmiar pojedynczego pliku: 3 MB. Pliki, które dodawane są we wspomnianym obszarze, od wersji 2025.4 będą posiadały atrybuty ALT oraz Title. Ich uzupełnienie będzie możliwe przy przejściu z poziomu panelu administracyjnego do sekcji Ustawienia > Twoje pliki przy edycji pliku lub jego dodaniu.
Wskazówka
Jeśli posiadasz sklep wielojęzyczny, to we wszystkich tych wymienionych powyżej obszarach, znajdują się również obrazki dla danego języka. Pamiętaj, alby atrybut ALT zdefiniować dla każdego z nich!
 

Atrybut title - obowiązkowy czy nie?

Atrybut title jest przydatny do przekazywania dodatkowych informacji o elementach HTML, widocznych jako podpowiedź po najechaniu kursorem. Może być używany w ikonach bez podpisu, formularzach czy linkach, aby dostarczyć kontekst. Nie jest jednak obowiązkowy według WCAG, ponieważ czytniki ekranu często go ignorują, a osoby nawigujące klawiaturą mogą nie mieć do niego dostępu.  

Zalecenia dla udostępnianych treści - ogranicz migające elementy

Jako właściciel sklepu musisz sam zadbać o to, jakie treści umieszczasz na swojej stronie. Migające elementy, takie jak animacje czy reklamy, mogą wywoływać problemy u osób z padaczką fotogenną. Według kryteriów WCAG 2.1 zalecane jest ograniczenie migających treści do maksymalnie trzech błysków na sekundę lub ich całkowite usunięcie. Jako właściciel sklepu musisz dbać o statyczne elementy lub spokojne animacje. Również treści zawarte w różnego typu prospektach, gazetkach czy folderach informacyjnych w formie dokumentów powinny być zgodne z wytycznymi WCAG.

1.Obrazki i bannery

W szablonach graficznych takie elementy mogą pojawić się na przykład w bannerach i elementach tekstowych ze zdjęciem. Upewnij się, że grafiki tam zamieszczone są odpowiednie, czyli bez intensywnych animacji i nieodpowiednich kolorów. Szczególną uwagę zwróć na pliki w formacie GIF. Sprawdź, w jaki sposób możesz skonfigurować bannery oraz elementy tekstowe ze zdjęciem.  

2.Materiały audio i viedo

Aby sklep internetowy był w pełni dostępny zgodnie z WCAG, właściciele muszą zadbać o dodanie audiodeskrypcji i transkrypcji do materiałów multimedialnych (filmy, nagrania dźwiękowe). Choć oba rozwiązania służą poprawie dostępności, mają różne funkcje.
  • Audiodeskrypcja to dodatkowy opis dźwiękowy, który przedstawia istotne elementy wizualne nagrania osobom niewidzącym,
  • Transkrypcja to zapis tekstowy całej treści audio, umożliwiający odbiór treści osobom niesłyszącym, może to być w formie napisów dla audiodeskrypcji.
Dodanie tych elementów leży po stronie właścicieli sklepów. Do filmów, które udostępniasz, dodaj zatem widoczne napisy, a także dobrej jakości opis dźwiękowy. Ich brak może wykluczyć część użytkowników i wpłynąć na komfort korzystania ze strony. Dobre praktyki dostępności to nie tylko wymóg, ale też inwestycja w lepsze doświadczenie klientów.

Dostosuj komunikację mailową - aktualizacja lub zmiana treści e-mail

Dostosowanie treści e-mail zgodnie z wytycznymi WCAG to kluczowy krok w budowaniu dostępnej i klarownej komunikacji. W tej części artykułu przedstawiamy rozwiązania zarówno dla domyślnych wiadomości, jak i tych modyfikowanych, aby zapewnić ich lepszą czytelność i dostępność dla wszystkich odbiorców.

1.Treści mailowe są domyślne, nie zostały sformatowane

Jeśli treści nie zostały przez Ciebie zmienione i stanowią domyślne treści, które są dostępne w Comarch e-Sklep, to wystarczy, że zaktualizujesz je. Aby to zrobić, należy przejść w panelu administracyjnym do zakładki Ustawienia > Treści formalne, a następnie wybrać „Wysyłka e-mail i SMS”. Zakładka ta zawiera treści wiadomości wysyłane do klientów po wykonaniu określonych akcji, np. po zakupie czy rejestracji. W Comarch e-Sklep istnieje możliwość przywrócenia standardowej treści pojedynczej wiadomości e-mail lub wszystkich jednocześnie. Opcja ta stanowi również aktualizację treści e-mail. "Przywróć domyślną treść" dostępna jest w panelu administracyjnym e-Sklepu w menu Ustawienia/ Treści formalne/ Wysyłka e-mail i SMS na szczegółach każdej wiadomości, po kliknięciu w przycisk Więcej:  

2.Treści mailowe są modyfikowane, zostały przeze mnie zmienione

Jeśli posiadasz własne, dostosowane do Twojej komunikacji marketingowej treści e-mail, to sprawdź, czy są one odpowiednio napisane i sformatowane. Zastosuj się do poniższych wskazówek. W jaki sposób poprawnie napisać i sformatować treści?
  • Struktura Stosuj nagłówki (<h1>, <h2> itd.) dla przejrzystości. Używaj krótkich akapitów i list punktowanych.
  • Tekst i formatowanie Zapewnij wysoki kontrast między tekstem a tłem. Wybieraj czytelne czcionki (sans-serif, min. 12-14 px). Nie używaj wyłącznie koloru do przekazywania informacji.
  • Obrazy i multimedia Dodawaj tekst alternatywny (alt text) do obrazów. Unikaj tekstu osadzonego w grafikach, jeśli można go przesłać jako tekst.
  • Linki i przyciski Stosuj opisowe teksty linków zamiast „Kliknij tutaj”. Upewnij się, że są łatwe do kliknięcia na ekranach dotykowych.
  • Język i czytelność Używaj prostego i zrozumiałego języka. Unikaj skrótów i branżowego żargonu, jeśli odbiorca może ich nie znać.
  • Testowanie Sprawdź wiadomość na różnych urządzeniach i czytnikach ekranu. Zweryfikuj zgodność ze standardami WCAG.
Szczegółowe informacje na temat edycji treści e-mail znajdują się a artykule: E-mail i SMS  

3.Załączniki (m.in. instrukcje, katalogi)

Należy zadbać o to, aby wszystkie udostępniane w sklepie załączniki, takie jak instrukcje czy katalogi, były zgodne z wytycznymi WCAG, zapewniając tym samym ich pełną dostępność dla wszystkich użytkowników.  

Dodatkowe narzędzia pomocne przy wdrażaniu WCAG

Przystosowanie e-Sklepu do wymogów nie musi wiązać się z dużymi wydatkami na zmiany w kodzie. Kluczowe aspekty dostępności można wdrożyć samodzielnie, wykorzystując opcje dostępne w systemach Comarch ERP, a także Kreatorze Wyglądu czy Panelu Administracyjnym. Warto pamiętać, że poprawa dostępności to nie tylko obowiązek wynikający z przepisów, ale także realna szansa na zwiększenie grona klientów oraz podniesienie komfortu ich zakupów. Istnieje kilka ogólnodostępnych narzędzi, które pomogą Ci dostosować sklep do wymogów. Obszerna lista narzędzi do oceny dostępności stron internetowych, zgodnych z WCAG znajduje się na stronie: Web Accessibility Evaluation Tools List .  

Podsumowanie

Dostępność cyfrowa to nie jednorazowe przedsięwzięcie, lecz ciągły rozwój i udoskonalanie. Regularne sprawdzanie funkcjonalności, optymalizacja elementów wizualnych i dostosowywanie sposobów interakcji pozwalają na stałe podnoszenie jakości doświadczeń użytkowników. Dążenie do pełnej zgodności ze standardami WCAG 2.1/2.2 oraz wymogami Europejskiego Aktu o Dostępności (EAA) nie tylko ułatwia nawigację wszystkim odwiedzającym, ale także buduje pozytywny wizerunek i wzmacnia pozycję na rynku. Wdrażanie kolejnych usprawnień to inwestycja w przyszłość, która przynosi korzyści zarówno właścicielom, jak i ich klientom.

One Page Shop - cały sklep na jednej stronie

Jak wyeksportować i zaimportować swój szablon w e-Sklepie?

Comarch e-Sklep daje możliwość dostosowania wyglądu do preferencji sprzedawcy oraz potrzeb Klientów. Jeśli utworzyłeś już swój autorski projekt, to masz możliwość jego zapisania. Plik będzie potrzebny przy chęci modyfikacji wyglądu. Zapisana wersja szablonu może również stanowić kopię bezpieczeństwa. Warto jest więc wyeksportować szablon do pliku.

Jak wyeksportować swój szablon z Comarch e-Sklep?

Krok 1. W panelu administracyjnym przejdź do sekcji Wygląd Sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane/ zakładka Eksport szablonu.

Krok 2. W tym miejscu możesz opcjonalnie (przed eksportem) określić autora szablonu, podać adres e-mail, telefon oraz adres WWW swojego e-Sklepu.

Krok 3. Jeżeli chcesz wyeksportować szablon do pliku użyj przycisku Eksportuj szablon.

Gotowe! Szablon został wyeksportowany do pliku na Twoim urządzeniu.

Wskazówka
Z tego miejsca możesz także wyeksportować posiadane w e-Sklepie bannery, korzystając z przycisku Eksportuj bannery.

Jak wgrać własny szablon do Comarch e-Sklep?

Własny szablon. Jak go wgrać?

Po skomponowaniu swojego własnego szablonu możesz wgrać go do e-Sklepu. Postępuj zgodnie z poniższymi krokami.

Krok 1. W panelu administracyjnym przejdź do sekcji Wygląd Sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane/ zakładka Import szablonu.

Krok 2. Określ, czy wgrywany szablon ma podmienić istniejące bannery. Gdy parametr zostanie zaznaczony, wówczas wszystkie bannery zapisane na danym slocie zostaną usunięte i zastąpione bannerami z importowanego szablonu.

Krok 3. Wybierz plik XML swojego szablonu i naciśnij Importuj szablon.

Uwaga
Import szablonu jest operacją nieodwracalną i spowoduje nadpisanie dotychczasowego szablonu. W przypadku, gdy szablon był modyfikowany (dokonywano zmian w kodzie HTML) jego aktualizacja spowoduje, iż zmiany nie zostaną przeniesione. Warto wykonać eksport posiadanego szablonu do pliku w celu zapisania oraz posiadania wglądu to wprowadzanych modyfikacji. Jeżeli istnieje taka konieczność należy ponownie dokonać samodzielnej edycji szablonu

Wskazówka
W zakładce Szablony możesz określić, czy wgrywany szablon ma być domyślny i aktywny w e-Sklepie.

Krok 4. Teraz możesz podejrzeć zmiany, jakie zaszły w wyglądzie Twojego e-Sklepu. W tym celu możesz podejrzeć zmiany w czasie rzeczywistym lub przejść w tryb incognito. Pamiętaj, że wszelkie zmiany zostaną opublikowane po pełnej synchronizacji, która wciągu 10 minut zgodnie z wyświetlanym komunikatem.

Gotowe! Twój szablon został zaimportowany do e-Sklepu.

Jak dodać wideo w sekcji z filmami?

Filmy produktowe na rynku e-commerce są dziś powszechną formą prezentowania towarów w sklepach internetowych. Producenci czy właściciele sklepów chcą wyróżniać swój asortyment. Niejednokrotnie pomaga to także w ukazaniu zastosowania produktu. Każdy film wyróżnia się sposobem prezentacji. W szablonie One Page Shop i Topaz dostępna jest sekcja, gdzie możesz publikować filmy, które pomogą Ci wypromować oferowany przez Ciebie towar.

Konfiguracja sekcji z filmami

Z poziomu panelu administracyjnego możesz w łatwy i szybki sposób dodać wideo. Postępuj zgodnie z poniższą instrukcją. Krok 1. Zaloguj się do panelu administracyjnego. Krok 2. Przejdź do zakładki Wygląd sklepu/ Ustawienia/ Strona główna. Na dole strony znajdź Ustawienia sekcji z filmami. Krok 3. Uzupełnij informacje o filmie: Etykietę PL oraz wstaw Link do filmu. W sekcji możesz zaprezentować filmy:
  • udostępnione w sekcji Ustawienia/ Pliki użytkownika – przykładowy link: usr/nazwafilmu.mp4
  • opublikowane w portalu YouTube – przykładowy link: https://www.youtube.com/embed/jq3B5jp8QwI
  • dodane na zewnętrznym hostingu – przykładowy link: https://twojhosting.pl/filmy/nazwafilmu.mp4
Krok 4. Uzupełnij tłumaczenia dla nazwy filmów prezentowanych w szablonie. Naciśnij link videoElement1, a zostaniesz przekierowany do edycji tłumaczenia. W polu tekst wpisz odpowiednią nazwę filmu i zapisz zmiany. Krok 5. Zapisz i opublikuj zmiany. Gotowe! Od teraz Klienci zobaczą w szablonie skonfigurowaną sekcję z opublikowanymi filmami. Przejdź do naszego sklepu demonstracyjnego i zobacz, jak wygląda skonfigurowana sekcja.

Jak zmienić kolejność wyświetlanych elementów na stronie głównej w One Page Shop?

W szablonie One Page Shop możesz zmieniać dowolnie kolejność wyświetlanych na głównej stronie elementów. Możesz dzięki temu spersonalizować swój e-Sklep tak, by był bardziej unikalny.

Konfiguracja strony głównej

Aby dokonać zmian w kolejności wyświetlanych elementów na stronie głównej wystarczy, że zalogujesz się do panelu administracyjnego, a następnie przejdziesz do sekcji Wygląd sklepu/ Ustawienia/ Strona Główna. Wyświetli się wówczas panel, który zawiera w sobie ustawienia nagłówka strony, treści strony oraz sekcji z filmami.

Ustawienia nagłówka strony

W nagłówku znajdują się następujące elementy:
  • Logotyp,
  • Produkty,
  • Blog,
  • Lookbook,
  • O firmie,
  • Kontakt,
  • Koszyk,
  • Informacje o języku i walucie, możliwość wyboru. 

Lista elementów w nagłówku strony

W tym miejscu możesz nie tylko dodać link do nagłówka, ale także ustalić, czy odnośniki do stron mają być widoczne. Możliwa jest też zmiana kolejności wyświetlania poszczególnych elementów. Wystarczy, że przesuniesz wybrany element za pomocą strzałki w kolumnie Kolejność. Możesz także określić, który odnośnik powinien być wyróżniony, a dokładniej, który link w nagłówku będzie posiadała inny kolor. Zmiany koloru czcionki możesz dokonać w sekcji Wygląd sklepu/ Ustawienia/ Ogólne. Odpowiadają za to sekcje:
   

Ustawienia treści strony

Pozostając w obszarze Wygląd sklepu/ Ustawienia/ Strona główna możesz zmienić ustawienia treści strony. W tym miejscu również istnieje możliwość zmiany kolejności wyświetlania poszczególnych elementów na stronie głównej sklepu oraz ukrycia elementu. Wystarczy, że odznaczysz checkbox w kolumnie Dostępne.

Ustawienia sekcji z filmami

W szablonie One Page Shop dostępna jest sekcja, w której możesz publikować filmy, które pomogą Ci wypromować oferowany przez Ciebie towar. Film możesz dodać w prosty i szybki sposób z poziomu panelu administracyjnego. Szczegóły konfiguracji znajdują się w artykule: Jak dodać wideo w sekcji z filmami w szablonie One Page Shop?

Jak wykonać kopię bezpieczeństwa mojego szablonu?

Jak wykonać kopię bezpieczeństwa mojego szablonu?

Oprawa wizualna sklepu jest bardzo ważnym elementem podczas prowadzenia sprzedaży w sieci. Narzędzie Kreator Wyglądu Comarch e-Sklep umożliwia stworzenie własnych, niepowtarzalnych szablonów wedle preferencji i potrzeb użytkowników. W intuicyjnym narzędziu jakim jest Kreator, będziesz w stanie zaprojektować wszelkie niezbędne funkcje, takie jak stronę główną, listę towarów, szczegóły towaru oraz koszyk. Jeśli Twój projekt szablonu został zaimportowany do e-Sklepu oraz skonfigurowany wedle Twoich preferencji (dodanie grafik do bannerów, modyfikacje kolorystyczne) masz możliwość jego zapisania, co będzie stanowić kopię bezpieczeństwa. Kopia bezpieczeństwa to dane, które w każdej chwili można odtworzyć w przypadku ich utracenia (np. poprzez przypadkowe usunięcie) lub częstego wprowadzania zmian. Dane, jakie może zawierać kopia bezpieczeństwa to szablon, który wcześniej został przez nas wygenerowany wraz z bannerami. Zaleca się wykonywanie kopii zapasowych oraz zabezpieczenie ich hasłem. Każda wykonana kopia zapasowa powinna zostać zapisana w bezpiecznym i dogodnym dla Użytkownika miejscu.

Jak wykonać kopię bezpieczeństwa?

W Panelu Administracyjnym przejdź do sekcji Wygląd sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane, a następnie przejdź do zakładki Eksport szablonu. W pustych polach znajdujących się w zakładce Eksport szablonu, opcjonalnie przed eksportem możesz uzupełnić powyższe dane, tj. Autora szablonu, e-mail, telefon i stronę WWW sklepu. Aby wyeksportować szablon, kliknij Eksportuj szablon. Wyeksportowany plik jest w formacie XML, a jego nazwa zawiera szablon oraz wersję, co znacznie ułatwia zarządzanie kopiami bezpieczeństwa w przypadku wykonywania ich regularnie.

Jak wyeksportować bannery?

Bannery, które znajdują się w Twoim sklepie możesz również wyeksportować tworząc kopię bezpieczeństwa. W tym celu także musisz przejść do Wygląd sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane, a następnie do zakładki Eksport szablonu. Obok przycisku Eksportuj szablon, znajduje się przycisk Eksportuj bannery, który musisz kliknąć aby bannery, które posiadasz w e-Sklepie zostały weksportowane. Kopia bezpieczeństwa jest również zapisywana w formacie XML, a nazwa pliku wskazuje na szablon, wersję i zawartość bannerów.

Jak zabezpieczyć hasłem swój szablon?

Jeśli chcesz, aby Twój szablon został zabezpieczony hasłem, a znajomość hasła była niezbędna podczas zaimportowania tego szablonu do e-Sklepu, musisz w tym celu przejść w Panelu Administracyjnym do sekcji Wygląd sklepu/ Ustawienia/ Ustawienia zaawansowane, następnie do zakładki Szablon. W tym miejscu nadasz hasło dla swojego szablonu. Zgodnie z Polityką bezpieczeństwa haseł, hasło powinno:
  • Składać się z minimum 8 znaków,
  • Zawierać dużą literę,
  • Zawierać małą literę,
  • Zawierać cyfrę 0-9,
  • Zawierać znak specjalny – ‘!.+?;^]=-(&_)#=
Gotowe! Teraz Twój szablon został zabezpieczony hasłem. Jeśli wyeksportujesz szablon, który zabezpieczyłeś hasłem – podczas importu tego szablonu, będziesz musiał podać nadane wcześniej hasło. Jego brak uniemożliwi import szablonu, a podanie błędnego hasła spowoduje nieprawidłowe działanie szablonu po imporcie. Więcej informacji znajdziesz:

One Page Shop - podstawowe informacje

Wstęp

One Page Shop to szablon zaprojektowany z myślą o użytkownikach, którzy w swojej ofercie posiadają jedynie kilka towarów. Dzięki niemu zaprezentujesz na głównej stronie wyjątkowe produkty, które posiadasz w swojej ofercie. Struktura szablonu skupiona jest na zaprezentowaniu asortymentu tak, aby decyzje zakupowe Twoich Klientów zapadały szybciej. Potencjalny klient może odnaleźć najważniejsze informacje na temat Twojej oferty przeglądając jedną stronę witryny. Szablon One Page Shop:
  • dostępny jest we wszystkich wariantach Comarch e-Sklep,
  • pozwala na prezentację 20 towarów prostych,
  • dostępny jest w dwóch motywach kolorystycznych,
  • jest prosty w konfiguracji bezpośrednio w panelu.
Przejdź do naszego sklepu demonstracyjnego i zobacz, jak wygląda One Page Shop w Comarch e-Sklep.   W tym artykule zawarliśmy podstawowe informacje na temat funkcji dostępnych w szablonie. Dzięki udogodnieniom i możliwości edycji niektórych elementów możesz łatwo spersonalizować swój e-Sklep.

Konfiguracja One Page Shop w panelu administracyjnym

Z poziomu panelu administracyjnego możesz dokonywać edycji każdego elementu znajdującego się na stronie. Możesz także ustalać sposoby dostaw oraz płatności. Po przejściu do sekcji Wygląd sklepu/ Ustawienia dostępne są ustawienia dla trzech zakładek: Ogólne, Strona główna, Dodatkowe.
  • W zakładce Ogólne możesz dokonać zmian w motywie kolorystycznym Twojego e-Sklepu. Z tego poziomu również możesz dokonać m.in takich zmian, jak: prezentacja punktów osobistego, edycji terminu dostaw czy umożliwienie prezentacji informacji o najniższej cenie towaru lub usługi jaka obowiązywała w okresie 30 dni przed wprowadzeniem obniżki.
  • W zakładce Strona główna znajdują się ustawienia, które pomagają „układać” poszczególne elementy na stronie głównej. W tym miejscu możesz zdecydować, gdzie powinny wyświetlać się produkty, lookbook i bannery. Część wyświetlanych elementów możesz ukryć.
  • W zakładce Dodatkowe widnieją ustawienia, dzięki którym możesz decydować o możliwości udostępniania towarów w poszczególnych mediach społecznościowych, czy udostępniania przycisku obliczającego ratę lub leasing. Dodatkowo możesz włączyć prezentację tabeli rozmiarów na stronie towaru.

Ustawienia Strony Głównej

Ustawienia zawarte w tym miejscu odpowiadają za elementy, które wyświetlane są na stronie głównej. Możesz zmieniać ich kolejność, nazwę, ukryć lub wyróżnić. W tym miejscu wyróżnia się następujące sekcje:

Ustawienia nagłówka strony

W nagłówku znajdują się następujące elementy:
  • Logotyp,
  • Odnośnik do listy z produktami (nasze produkty),
  • Blog,
  • Lookbook,
  • Informacje o firmie,
  • Kontakt,
  • Koszyk,
  • Możliwość wyboru języka i waluty w e-Sklepie.
W tym miejscu możesz nie tylko dodać link do nagłówka, ale także ustalić, czy i jakie odnośniki do stron mają być widoczne. Możliwa jest też zmiana kolejności wyświetlania poszczególnych elementów.

Ustawienia treści strony

Pozostając w obszarze Wygląd sklepu/ Ustawienia/ Strona główna możesz zmienić ustawienia treści strony. W tym miejscu również istnieje możliwość zmiany kolejności wyświetlania poszczególnych elementów na stronie głównej sklepu oraz ukrycia elementu. Szczegółowe informacje na temat konfiguracji znajdują się w artykule: Jak zmienić kolejność wyświetlanych elementów na stronie głównej w One Page Shop?

Elementy w szablonie

1. Sekcja z filmami

W One Page Shop masz możliwość dodania filmów promujących nie tylko produkty, ale także Twoją firmę, dostępne marki czy producentów. Film możesz dodać w prosty i szybki sposób z poziomu panelu administracyjnego. W sekcji możesz zaprezentować filmy:
  • udostępnione w sekcji Ustawienia/ Pliki użytkownika,
  • opublikowane w portalu YouTube,
  • dodane na zewnętrznym hostingu.
Szczegóły konfiguracji znajdują się w artykule: Jak dodać wideo w sekcji z filmami w szablonie One Page Shop?

2. Banner

Aby dodać zdjęcia do banneru przejdź do zakładki Wygląd sklepu/ Ustawienia/ Bannery, a następnie klikając na kafelek o nazwie mainBanner wybierz odpowiednie zdjęcie. 
Wskazówka
Rekomendowany rozmiar grafik dla banneru to 1920 x 540 px.
Szczegóły na temat dodawania i edycji bannerów znajdują się w artykule: Bannery.

3. Lookbook

Widok charakteryzuje się prezentacją zdjęć w formie listy i precyzyjnym oznaczeniem towarów na zdjęciu. Dzięki znacznikom umieszczonym na grafice Twoi klienci będą mogli podejrzeć towar i dodać go bezpośrednio do koszyka. Po kliknięciu na przycisk z plusem wyświetli się popup ze szczegółami towaru oraz opcją zakupu.
Wskazówka
Rekomendowany rozmiar grafik do lookbooka to 560 x 500 px.
Aby poprawnie skonfigurować lookbook, skorzystaj z naszej instrukcji zawartej w artykule: Jak skonfigurować Lookbook w Comarch e-Sklep?

4. Lista towarów

Szablon One Page Shop został stworzony z myślą o użytkownikach, którzy w swojej ofercie nie posiadają wielu produktów. Z tego powodu, na stronie głównej wyświetlanych jest 20 towarów prostych, które zostały przypisane do pierwszej kategorii w systemie Comarch ERP. Z tego powodu zalecamy utworzenie jednej kategorii, która ma być przesyłana do One Page Shop'a.
Przyklad
W systemie ERP posiadasz kategorię A, B oraz C. W kategorii A i B znajduje się po 5 produktów, zaś w kategorii C, która liczy 10 produktów. Po wykonaniu synchronizacji zostanie wyświetlonych 5 produktów z kategorii A, ponieważ jest ona pierwsza w systemie Comarch ERP.
Lista produktów wyświetlana jest w formie kafli.
Sekcja z listą towarów w One Page Shop Comarch

5. Szczegóły towaru – jakie informacje widnieją na pop-upie?

W szablonie One Page Shop Klient będzie mógł zobaczyć szczegóły danego towaru nie musząc przechodzić na osobną stronę. Wystarczy, że kliknie na kafelek z interesującym go artykułem lub naciśnie Kup teraz. Wyświetli się wówczas pop up, który zawiera w sobie szereg informacji na temat towaru, między innymi:
  • Cenę wraz z formą dostawy, kalkulatorami ratalnymi oraz leasingowymi,
  • Dostępność produktu,
  • Cechy towaru,
  • Opis towaru,
  • Tabelę rozmiarów,
  • Liczbę opinii oraz zakładkę z wystawionymi już komentarzami,
  • Informację o ilości osób, która kupiła dany towar,
  • Możliwość udostępnienia towaru w social mediach lub za pomocą linku,
  • Opcję „Zapytaj o towar”,
  • Zestawy promocyjne.
Pop-up ze szczegółami towaru w One Page Shop Comarch
Jeśli posiadasz produkt, który nie posiada wariantów istnieje możliwość zakupu tego towaru z pominięciem pop-up podczas kliknięcia w przycisk "Kup teraz". Klikając w inne miejsce na towarze, pop-up ze szczegółami wyświetli się. Jeśli chcesz wyłączyć pop-up, możesz to zrobić z poziomu Panelu Administracyjnego przechodząc do sekcji Wygląd sklepu/ Ustawienia:

6. Koszyk

W szablonie One Page Shop składanie zamówienia jest szybkie i wygodne dla użytkownika. Koszyk został zaprojektowany tak, aby użytkownik mógł w jednym kroku wypełnić niezbędne dane: 
  • Formularz z danymi zamawiającego oraz danymi do faktury,
  • Sposób dostawy,
  • Sposób płatności,
  • Miejsce na wpisanie kodu rabatowego.
Po uzupełnieniu powyższych informacji można przejść do podsumowania, w którym prezentowane są wcześniej wprowadzone dane klienta. Oprócz tego w koszyku One Page Shop jest możliwość wyświetlania ceny za sztukę. Pojawi się ona po dodaniu do koszyka kilku sztuk produktu. Przy jednej sztuce towaru wyświetlana będzie tylko cena. Od wersji 2024.1.1 w szablonie One Page Shop dodano możliwość wyświetlania w koszyku informacji jakiej kwoty brakuje do darmowej dostawy.  Funkcja ta możliwa jest do uruchomienia z poziomu Panelu Administracyjnego w sekcji Wygląd sklepu/ Ustawienia/ Ustawienia szablonu/ Ogólne: Ustawienia te można zmienić według własnego uznania, a następnie należy użyć opcji Zapisz i Publikuj.

7. Blog

Prowadzenie bloga jest istotnym elementem sklepu internetowego. Dzięki niemu sprzedawca może dzielić się swoją wiedzą i spostrzeżeniami na temat reklamowanych produktów. W ten sposób sprzedawca może podpowiedzieć klientom w jaki sposób mogą oni wykorzystać oferowane przez niego artykuły. Prowadzenie bloga ma również dobry wpływ na pozycjonowanie, ze względu na unikalne treści. Dzięki temu Twój e-Sklep może częściej pojawiać się w wynikach wyszukiwania. W szablonie One Page Shop masz możliwość tworzenia dowolnej ilości wpisów. Na stronie głównej wyświetlone zostaną trzy najnowsze. Użytkownik ma możliwość podglądu całej listy artykułów. Wystarczy, że kliknie w etykietę Najnowsze wpisy. Szczegółowe informacje na temat konfiguracji bloga w e-Sklepie znajdują się w artykule: Jak skonfigurować blog?

8. Info-banner

Banner informacyjny pozwala na zaprezentowanie w przejrzysty sposób korzyści z zakupach w Twoim e-Sklepie. Modyfikacji tego obszaru dokonasz z poziomu panelu administracyjnego, przechodząc do sekcji Wygląd sklepu/ Ustawienia/ Bannery. Następnie przechodząc do szczegółów banneru o nazwie info-banner dostosujesz element do swoich preferencji. Możesz skorzystać z domyślnych grafik lub dodać własne.

9. Element tekstowy ze zdjęciem

Element tekstowy ze zdjęciem charakteryzuje się możliwością wprowadzenia statycznego opisu na stronie głównej w twoim e-Sklepie. Możesz zawrzeć w nim np. podstawowe informacje na temat Twojej firmy, asortymentu sklepu lub inne wartościowe dla Ciebie treści. Element tekstowy możesz odpowiednio skonfigurować przechodząc do sekcji Wygląd sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane, a następnie do zakładki Obiekty, gdzie skonfigurujesz zawartość elementu.
Wskazówka
Za wyświetlanie elementu tekstowego w szablonie One Page Shop odpowiada obiekt o nazwie text-el-photo-mp-1.
Więcej informacji na temat konfiguracji znajduje się w artykule: Element tekstowy w szablonie.

10. Stopka

Dzięki modyfikacji obszaru możesz jeszcze bardziej spersonalizować swój sklep poprzez uzupełnienie stopki w szereg przydatnych informacji. Elementem tym możesz zarządzać z poziomu sekcji Wygląd Sklepu/ Ustawienia/ Nagłówek i Stopka. Szczegółowe informacje na temat konfiguracji stopki znajdują się w artykule: Rozbudowana stopka w szablonach – jak ją skonfigurować?

11. Strefa Klienta

Do Strefy Klienta w szablonie One Page Shop masz możliwość zalogowania się poprzez Facebooka oraz przez Google. Więcej na temat konfiguracji logowania przez Facebooka i Google znajdziesz tutaj. Masz także możliwość całkowitego ukrycia Strefy Klienta na stronie sklepu internetowego. Zdecydujesz o tym zaznaczając właściwą opcję w zakładce Wygląd sklepu/ Ustawienia/ Ustawienia szablonu/ Ogólne: Wprowadzone zmiany standardowo należy zapisać i opublikować.

Jak zaktualizować szablon do najnowszej wersji?

Jak zaktualizować szablon do najnowszej wersji?

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

Wstęp

W e-Sklepie możesz dowolnie zmieniać szablony. Możesz je także modyfikować oraz aktualizować. Wiąże się to z wgraniem zupełnie nowego szablonu na miejsce starego. Aktualizacja wyglądu powoduje zmianę dotychczasowych ustawień. Przed każdą aktualizacją polecamy utworzyć odpowiednią dla siebie instrukcję, która będzie zawierała Twoje ustawienia kolorów czy modyfikacje w kodzie szablonu. Możesz także wyeksportować dotychczasowy szablon, aby stanowił on kopię bezpieczeństwa.

Jak zaktualizować szablon?

Instrukcja aktualizacji szablonów: Rubin, Szafir, Topaz i One Page Shop (dostępnych w Kreatorze Wyglądu)

Aby zaktualizować szablon Rubin, Szafir, Topaz lub One Page Shop należy skorzystać z aktualnej wersji Kreatora Wyglądu, do którego odnośnik znajduje się w panelu administracyjnym e-Sklepu w sekcji Wygląd sklepu/ Kreator wyglądu. Istnieją dwie możliwości aktualizacji tych szablonów:

  • wygenerowanie nowego szablonu w Kreatorze Wyglądu oraz wgranie go do e-Sklepu,
  • import posiadanego szablonu do Kreatora Wyglądu oraz ponowne wygenerowanie go w najnowszej wersji.

Wyeksportowany z Kreatora Wyglądu szablon należy wgrać do e-Sklepu. W panelu administracyjnym e-Sklepu, w sekcji Wygląd sklepu znajduje się bezpośredni odnośnik do importu szablonu z Kreatora wyglądu. Szczegółowa instrukcja dostępna jest w artykule Jak wyeksportować i zaimportować swój szablon w e-Sklepie?

Podczas dokonywania modyfikacji w szablonach zachęcamy do skorzystania z naszego Centrum Pomocy.

Wskazówka
Pamiętaj o zapisaniu szablonu oraz opublikowaniu go w e-Sklepie. Zmiany wprowadzone w ustawieniach zostaną zsynchronizowane do sklepu po 10 minutach.

Instrukcja aktualizacji szablonów: Bursztyn, Agat i Opal.

Aby zaktualizować szablon Bursztyn, Agat lub Opal należy w panelu administracyjnym e-Sklepu przejść do sekcji Wygląd Sklepu/ Gotowe szablony Comarch, w której znajdują się najnowsze wersje szablonów dostępne do zainstalowania. Z wyświetlonej listy należy wybrać szablon, który ma zostać wgrany do e-Sklepu. W tym celu wybierz przycisk Chcę pobrać i zainstalować szablon:

Następnie wyświetli się nowe okno, w którym należy:

  • wybrać tzw. slot, który zostanie nadpisany nowym (aktualnym) szablonem. W każdym e-Sklepie dostępne są 4 miejsca na wgranie szablonu, spośród których jeden szablon oznacza się jako aktywny i domyślny,
  • określić, czy wgrywany szablon ma podmienić istniejące bannery. Gdy parametr zostanie zaznaczony, wówczas wszystkie bannery zapisane na danym slocie zostaną usunięte i zastąpione bannerami z importowanego szablonu. Jeżeli w nadpisywanym szablonie znajdują się bannery oraz lookbooki, które mają nadal wyświetlać się w e-Sklepie, należy wskazany parametr zostawić odznaczony. Gdy parametr nie zostanie zaznaczony, wówczas dotychczasowe bannery i lookbooki nie zostaną usunięte.
  • Zaimportować szablon do e-Sklepu.
    Wskazówka
    Import szablonu jest operacją nieodwracalną i spowoduje nadpisanie dotychczasowego szablonu. W przypadku, gdy szablon był modyfikowany (dokonywano zmian w kodzie HTML) jego aktualizacja spowoduje, iż zmiany nie zostaną przeniesione. Warto wykonać eksport posiadanego szablonu do pliku w celu zapisania oraz posiadania wglądu to wprowadzanych modyfikacji. Jeżeli istnieje taka konieczność należy ponownie dokonać samodzielnej edycji szablonu.

Aby nowy szablon pojawił się w e-Sklepie należy upewnić się, czy jest on aktywny oraz ustawiony jako domyślny. W sekcji Wygląd sklepu/Ustawienia/Edytuj ustawienia zaawansowane w zakładce Szablon znajdują się odpowiedzialne za to parametry, które powinny być zaznaczone.

Wszelkie zmiany należy zapisać, a następnie opublikować.

Uwaga
Jeżeli szablon nie zostanie opublikowany, wówczas nie pojawi się on w e-Sklepie.

Instrukcja aktualizacji innych szablonów (niż szablonów Comarch) oraz aktualizacji szablonów z własnymi modyfikacjami

Jeżeli w swoim Comarch e-Sklepie korzystasz z własnego szablonu, czyli innego niż gotowe szablony Comarch, to powinieneś jego aktualizację przeprowadzić we własnym zakresie lub zlecić ją firmie/ osobie, która dla Ciebie przygotowała ten szablon. W przypadku, gdy korzystasz z gotowego szablonu Comarch, ale wprowadziłeś do niego indywidualne zmiany (poza Kreatorem Wyglądu), to również we własnym zakresie (lub ze wsparciem autora zmian) musisz zadbać o aktualizację swojej wersji szablonu.

Banner promocyjny w szablonie Topaz i One Page Shop

Banner promocyjny - jak to działa?

Banner promocyjny wyświetli się na stronie głównej Twojego e-Sklepu i będzie prezentował typ towaru, który wskażesz. Taki rodzaj banneru pomoże Ci w zwróceniu uwagi Klientów na towary, które zostały objęte na przykład ofertą specjalną.

Dodanie banneru

Banner możesz dodać z poziomu Kreatora Wyglądu B2C  (zamiennie: panel administracyjny e-Sklepu: Wygląd sklepu/ Kreator wyglądu). Aby dodać banner promocyjny do swojego szablonu, przejdź na stronę "Strona główna", po czym wybierz Banner promocyjny i przeciągnij go w wybrane przez Ciebie miejsce. W podglądzie układu szablonu, po najechaniu kursorem na obszar z bannerem promocyjnym, zobaczysz możliwość jego edycji. Wybierz ikonę "zębatki", aby móc edytować i określić liczbę wyświetlanych towarów oraz typ promowanych towarów. Zapisz wprowadzone zmiany. Jeśli pozostałe strony szablonu są gotowe i skonfigurowane, to możesz wygenerować szablon. Więcej informacji na temat Kreatora Wyglądu oraz poszczególnych sekcji znajdziesz w artykule: Kreator wyglądu Topaz (B2C) Po zaimportowaniu szablonu do panelu administracyjnego możesz przejść do edycji banneru. Postępuj zgodnie z poniższą instrukcją.

Edycja banneru

Modyfikacja wszystkich bannerów dostępnych w szablonach Comarch możliwa jest w panelu administracyjnym w obszarze Wygląd sklepu> Ustawienia> Bannery. Informacje odnośnie domyślnej, tradycyjnej modyfikacji bannerów znajdują się w artykule: Bannery

Odnajdź banner na liście nazwany "promotionalBanner", a następnie wybierz go, aby edytować i dodać zdjęcie

Po dokonaniu modyfikacji należy zapisać i opublikować zmiany. Gotowe! Teraz Twój banner promocyjny wyświetli się na stronie głównej.
Banner promocyjny w szablonie Topaz
Banner promocyjny w szablonie Topaz.

Kreator Wyglądu One Page Shop (B2C)

Wstęp

Jednym z kluczowych elementów, który przyczynia się do sukcesu w branży e-commerce jest oprawa wizualna sklepu. W dużym stopniu to właśnie ona wpływa na całościowe wrażenia użytkowników i ich proces zakupowy. Dzięki narzędziu - Kreator Wyglądu Comarch e-Sklep, właściciele sklepów mają możliwość stworzyć swój własny, niepowtarzalny szablon, który będzie dostosowany do ich preferencji oraz do potrzeb użytkowników.

Kreator jest dostępny pod linkiem: Kreator szablonu Comarch e-Sklep. Odnośnik znajduje się w panelu administracyjnym e-Sklepu Wygląd sklepu > Kreator wyglądu.

Zastosowanie

Kreator jest intuicyjnym narzędziem służącym do tworzenia szablonów. Jego obsługa nie wymaga umiejętności technicznych ani programowania. Wszystko odbywa się na poziomie strony internetowej, gdzie z gotowych elementów za pomocą metody "przeciągnij i upuść" możesz zaprojektować wygląd swojego sklepu. Dodatkowo, stworzony szablon jest dostosowany do wyświetlania na różnych urządzeniach (RWD).

W ramach kreatora zaprojektujesz wszystkie niezbędne obszary sklepu. Po utworzeniu szkieletu e-Sklepu, przychodzi czas na modyfikację oprawy wizualnej szablonu. Możesz dowolnie zmieniać kolory elementów znajdujących się na stronie, ikony, a także czcionkę.

Kto może używać tej opcji?

Aby móc używać tego narzędzia należy posiadać:

  • Comarch e-Sklep obsługujący procesy B2C,
  • szerokość ekranu powyżej 1280 px, a zalecana to 1920 px,
  • oraz jedną z przeglądarek internetowych w aktualnej wersji.

Wskazówka
Kreator wyglądu Comarch e-Sklep dostępny jedynie w wersji przeglądarkowej.

Tworzymy!

Jak zaprojektować układ szablonu?

Aby rozpocząć tworzenie szablonu należy przejść na stronę Kreatora Wyglądu. Wyświetlony zostanie powitalny komunikat. Na początku należy określić, dla jakiego modelu sprzedaży projektujesz szablon dla swojego e-Sklepu. Do wyboru masz sprzedaż detaliczną lub hurtową. Sprzedaż detaliczna przeznaczona jest dla użytkowników, którzy chcą sprzedawać swoje produkty głównie klientom indywidualnym. Wybierz odpowiedni model, a następnie naciśnij przycisk Rozpocznij pracę. Po jego kliknięciu będzie można stworzyć nowy szablon lub edytować jeden z kilku gotowych.

W sytuacji gdy wcześniej tworzony był już projekt, widoczny będzie przycisk umożliwiający dokończenie szablonu lub rozpoczęcie nowego projektu. Opcja Nowy szablon umożliwia zbudowanie od początku nowego szablonu Topazu według Twojego indywidualnego pomysłu.
Wskazówka
Szablon One Page Shop - Demo jest gotowym szablonem, który możesz zainstalować bezpośrednio z obszaru Wygląd sklepu > Gotowe szablony Comarch.
W trzech krótkich krokach zapoznasz się z podstawowymi funkcjami kreatora. Następnie możesz już przystąpić do dalszych modyfikacji szablonu lub od razu wygenerować przygotowaną wersję szablonu One Page Shop.

Od czego zacząć?

Wybierz wersję językową Kreatora i rozpocznij pracę nad swoim szablonem. Wersje do wyboru to: język polski, angielski, niemiecki oraz francuski. Język wybieramy klikając strzałkę obok flagi i nazwy języka w lewym dolnym rogu. Przy podglądzie prac na pełnym ekranie, wybrany język zostaje zachowany i szablon będzie wyświetlał się w wybranej wersji językowej.

Gdy już wybierzesz wersję językową dla swojego Kreatora warto zacząć od nazwania swojego przyszłego szablonu. Można to zrobić klikając Zmień i wpisując nazwę w lewym górnym rogu, zastępując nazwę "One Page Shop (2023.1)". Nazwa ta będzie widoczna po zaimportowaniu szablonu do panelu administracyjnego oraz po wyeksportowaniu szablonu do pliku XML wraz z datą i godziną jego wygenerowania.

Krok 1 - Sekcja Szablon

W tej sekcji należy zaprojektować wygląd strony głównej naszego Comarch e-Sklepu. Strona główna może składać się z następujących elementów:

  • Nagłówek,
  • Baner,
  • Widget,
  • Siatka towarów
  • Newsletter,
  • Sekcja z filmami
  • Blog,
  • Element tekstowy,
  • Banner informacyjny,
  • Lookbook
  • Stopka.

Po rozwinięciu każdej z sekcji ukażą się dostępne elementy:

Metodą "Przeciągnij i upuść" przenosimy wybrane elementy na obszar po prawej stronie:

Postępuj analogicznie z pozostałymi elementami.

Nagłówek

Sekcja „Nagłówek” prezentuje dwa widoki.

Banner

Sekcja "Banner" pozwala wybrać jedną z sześciu możliwości prezentacji banerów. Informacje dotyczące rekomendowanych rozmiarów obrazków w bannerach opisaliśmy w tym artykule. Jest on widoczna tylko dla strony głównej i listy towarowej.

Banner promocyjny

Sekcja "Banner promocyjny" dodać banner prezentujący promocje.

Widget

Sekcja "Widget" pozwala dodać jeden z dwóch dostępnych wariantów, które pozwolą zaprezentować następujące funkcje:
  • Widget-banner-1
    • Dodanie zdjęcia,
    • Dodanie tekstu nagłówka (tekst pionowy),
    • Dodanie tekstu przycisku (tooltip).
    • Dodanie linku do przycisku,
    • Dodanie tekstu..
  • Widget-banner-1
    • Dodanie zdjęcia,
    • Dodanie tekstu nagłówka (tekst pod zdjęciem),
    • Dodanie tekstu,
    • Dodanie linku do tekstu.

Siatka towarów

Na szczegółach wybranego obiektu (Siatka towarów) określamy jakie dokładnie towary zostaną zaprezentowane w sekcji „Nasze produkty".

Dodatkowo po najechaniu kursorem na tę sekcję, wybierając Opcje, możemy ustawić następujące opcje:
  • wybierz sposób wyświetlania produktów na liście,
  • prezentowanie drugiego zdjęcia towaru na kiście,
  • dodatkowe informacje na liście towarów,
  • graficzna prezentacja wariantów towaru,
  • po dodaniu do koszyka,
  • pozwalaj na udostępnianie towarów,,
  • pomijaj popup ze szczegółami przy kupowaniu towarów prostych.
 

Newsletter

Sekcja "Newsletter" pozwala dodać jeden z czterech dostępnych wariantów zapisu klientów do subskrypcji. Dwie sekcje pokazują się w formie wyskakującego okienka (pop-up), które prezentowane są wyłącznie na stronie głównej e-Sklepu (newsletter-3, newsletter-4). Wszystkie teksty dostępne w nowym newsletterze są edytowalne w ustawieniach szablonu w menu Wygląd sklepu > Ustawienia > Bannery > Newsletter banner. 

Sekcja z filmami

Sekcja z filmami prezentuje jeden widok. Film wprowadza się w ustawieniach szablonu w sekcji Strona główna > Ustawienia sekcji z filmami.

Blog

Sekcja "Blog" pozwala wybrać spośród dwóch dostępnych wariantów. Blog -1 prezentuje tylko zdjęcia, natomiast Blog-2 oraz Blog-3 zawiera również krótkie opisy wprowadzające do pozostałej treści wpisu.

Element tekstowy

Element tekstowy pozwala na zamieszczenie dłuższego opisu, który będzie wyświetlany na stronie głównej Comarch e-Sklep. W kreatorze wyglądu Comarch są do wyboru dwa warianty:
  • element tekstowy z samym tekstem,
  • element tekstowy z możliwością dodania zdjęcia.
Tekst wprowadza się edytując obiekt tekstowy w ustawieniach szablonu: Wygląd sklepu > Ustawienia > Edytuj ustawienia zaawansowane > Obiekty:
  • text-el-no-photo-mp-1 – element bez obrazka,
  • text-el-photo-mp-2 – element z obrazkiem.

Po wybraniu wszystkich niezbędnych sekcji nasza strona główna powinna być gotowa. Efekt naszej pracy możemy podejrzeć klikając Podgląd w prawym górnym rogu. Dostępny jest podgląd w wersji mobilnej i desktopowej.

Strona główna wymaga dwóch podstawowych elementów: nagłówka oraz stopki. Pozostałe elementy nie są obowiązkowe.

Banner informacyjny

Banner informacyjny pozwala na zaprezentowanie w przejrzysty sposób korzyści z zakupach w Twoim sklepie. Dotyczą one obszarów: dostawy, jakości i kontaktu z klientem. Banner możesz dodać tylko do strony głównej lub do wszystkich stron. Sekcja Odkryj Comarch e-Sklep różni się prezentacją oraz elementami między bannerami i zawiera:
  • info-banner-1 – element z ikonkami i podpisem
    • Szybka dostawa,
    • Gwarancja jakości,
    • Odbiór osobisty,
    • Reklamacje,
    • Zwroty towarów,
  • info-banner-3 – element z ikonkami i krótką informacją
    • Ekspresowa wysyłka,
    • Darmowa dostawa,
    • Obsługa klienta,
  • info-banner-3 – element z ikonkami i krótkim opisem
    • Ekspresowa dostawa,
    • Darmowa dostawa,
    • Strefa kontaktu.
  • info-banner- 4 – Poznaj produkt
    • Wyróżnij główny towar – zdjęcie główne,
    • Pozostałe towary – zdjęcia na zewnątrz,

Lookbook

Sekcja "Lookbook" prezentuje jeden widok, który pozwoli na promowanie wielu towarów w bardzo atrakcyjnej formie.

Koszyk

Sekcja "Koszyk" pozwala dodać jeden z trzech dostępnych wariantów, gdzie każdy z nich posiada inną ilość kroków.

Stopka

Sekcja "Stopka" zawiera jeden widok do wyboru. W każdym widoku widnieją strony statyczne, którymi można zarządzać w sekcji Wygląd Sklepu > Ustawienia > Nagłówek i Stopka. Dla każdej z sekcji wyświetla się jej utworzona w panelu nazwa. W stopce znajdują się także informacje na temat rodzaju prezentowanych cen w e-Sklepie (brutto czy netto) oraz komunikat @Comarch SA 2023. All rights reserved Powered by Comarch e-Sklep. Dodatkowo istnieje możliwość umieszczenia w stopce odnośników do mediów społecznościowych oraz ich ikony. W stopce trzeciej możemy dodać ikony naszych dostawców oraz form płatności wykorzystywanych w sklepie.

Następnie możemy przejść do modyfikacji wyglądu naszego szablonu. W tym celu należy przejść do zakładki Style.

Style

Jak zmienić kolory, czcionki oraz ikony?

Po dodaniu elementów strony możemy dodatkowo podejrzeć, jak będzie wyglądał nasz przyszły szablon. W tym celu należy przejść do zakładki Style.

Dodatkowo w zakładce Style możemy zmodyfikować wygląd naszego szablonu. Zmianie podlegają:

  • motyw kolorystyczny,
  • czcionka,
  • ikony,
  • styl okien i przycisków.

Motyw kolorystyczny

Aby zmienić kolor naszego szablonu należy przejść do sekcji Motyw kolorystyczny, gdzie do wyboru przygotowaliśmy 7 gotowych motywów.

Wskazówka
W aktualnej wersji Kreatora dodaliśmy nowy, ciemny motyw kolorystyczny.

Każdy z motywów możemy edytować według indywidualnych preferencji. Możemy zmodyfikować kolor poszczególnych elementów (m.in.: tło strony, tło nagłówka, nazwę towaru, czy nawet drugorzędny kolor tekstu w newsletterze). Zmiany należy zapisać klikając Zapisz. Jeśli wykonane zmiany nie są zadowalające, możemy przywrócić ustawienia domyśle dla danego motywu kolorystycznego, klikając przycisk Przywróć.

Możliwe jest również wprowadzenie szesnastkowego zapisu kolorów. Heksadecymalny zapis kolorów dla poszczególnych sekcji w szablonie dostępny jest podczas edycji wybranego motywu kolorystycznego.

Czcionki

W zależności od potrzeb istnieje możliwość wybrania czcionki. Dla naszych klientów udostępniliśmy jej 13 różnych typów. Pod nazwą każdej z nich znajduje się przykładowy wygląd w różnych formatach.

Ikony

Mamy do wyboru 3 różne warianty wyglądu ikon. Dodatkowo istnieje możliwość wyboru w jakiej postaci wyświetla się ikona koszyka (torba, wózek lub koszyk) oraz loader.

Wskazówka
Od teraz możesz zmienić rodzaj loadera, wybierając jedną z 5 propozycji widocznych powyżej.

Styl okien i przycisków

Ostatnim elementem, który możemy modyfikować z poziomu zakładki Style jest styl okien i przycisków. Mamy do wyboru 3 różne warianty zaokrągleń.

Generowanie i wgrywanie szablonu

Po zaprojektowaniu wyglądu szablonu możemy go wygenerować i pobrać na dysk korzystając z przycisku Generuj widocznego w prawym górnym rogu:

Obok przycisku Generuj dostępna jest również opcja Importuj szablon, umożliwiająca wgranie wcześniej zapisanego szablonu z dysku i ponowną jego edycję.

W przypadku prawidłowego wygenerowania szablonu wyświetlony zostanie komunikat informujący o tym fakcie i pobrany plik.

Pobrany szablon należy zaimportować w Comarch e-Sklep w zakładce Wygląd sklepu > Zaimportuj szablon z Kreatora Wyglądu.

W szablonie Topaz znajduje się informacja na temat godziny wygenerowania szablonu w Kreatorze. Taka informacja znajduje się w panelu administracyjnym w menu: Wygląd sklepu > Ustawienia > Więcej (trzy kropki), gdzie należy wybrać opcję Edytuj ustawienia zaawansowane, a potem ponownie Więcej > Edytuj HTML. Następnie z listy plików należy wybrać _layout.html. Informacje na temat modyfikacji, w tym godzina ostatniej modyfikacji, znajdują się nad oknem edycji pliku. Jeżeli plik nie był modyfikowany, wówczas godzina odpowiada godzinie wygenerowania szablonu w kreatorze.

W przypadku braku obowiązkowych elementów szablonu nie będzie możliwe jego wygenerowanie. przycisk Generuj będzie wyszarzały, a w prawym dolnym rogu pojawi się komunikat „Uzupełnij elementy wymagane w szablonie”. Sekcje, gdzie element nie został wybrany będą się wyświetlać z odpowiednią ikoną.

  Kreatorze wyglądu istnieje również możliwość cofania się podczas tworzenia szablonu, w ramach której obsługujemy do 30 kroków w wstecz. Dodatkowo możemy także wykonywać krok do przodu. Zapisywane są wszystkie zmiany na elementach, informacje odnośnie styli, czcionek, ikonach oraz nazwie szablonu.

Aktualizacja szablonu

W Kreatorze Wyglądu znajduje się opcja aktualizacji poprzednich wersji szablonu. W celu zaktualizowania całego szablonu należy wgrać plik z poprzednim szablonem do Kreatora Wyglądu, według tej instrukcji:
  • po uruchomieniu strony kreatora wybierz opcję: Stwórz nowy projekt,
  • wybierz Nowy szablon,
  • w prawym górnym rogu wybierz opcję Importuj szablon,
  • następnie zaimportuj plik z szablonem, który ma być zaktualizowany. Po poprawnym zaimportowaniu szablonu otrzymasz informację zwrotną:
  • po wgraniu szablonu do aktualizacji użyj opcji Generuj. 
Dzięki temu w prosty sposób można starsze szablony Topaz podnieść do wersji aktualnej.

Więcej informacji

Więcej informacji można znaleźć w artykułach o wyglądzie sklepu oraz o dostosowaniu wyglądu.

Posiadam gotowy szablon Comarch. Jak mogę go dostosować do kryteriów WCAG 2.1/2.2?

Wstęp

Z dniem 28 czerwca 2025 roku w życie wejdą przepisy związane z implementacją ustawy z dnia 26 kwietnia 2024 r. o zapewnianiu spełniania wymagań dostępności niektórych produktów i usług. Wdraża ona do polskiego prawa tzw. Europejski Akt o Dostępności (EAA) – unijną dyrektywę 2019/882. Celem ustawy jest zapewnienie, że kluczowe produkty i usługi będą dostępne dla wszystkich użytkowników, w tym osób z niepełnosprawnościami. Przedsiębiorcy mają czas do 28 czerwca 2025 roku, aby dostosować swoje produkty i usługi do nowych wymogów.
Wskazówka
Chcesz dowiedzieć się więcej o tych przepisach? Sprawdź artykuł w naszym Centrum Pomocy: Europejski Akt o Dostępności (EAA) i zapoznaj się ze szczegółami
W niniejszym artykule wskazujemy, jakie czynności należy wykonać, jeśli posiadasz jeden ze standardowych szablonów Comarch, czyli: Rubin, Szafir, Topaz, One Page Shop lub Dla Gastronomii.   

Sprawdź, jaki szablon posiadasz

Nie wiesz, który szablon posiadasz? Możesz to sprawdzić w panelu administracyjnym Comarch e-Sklep. Aby to zrobić, z poziomu panelu administracyjnego przejdź do zakładki Wygląd sklepu/ Ustawienia a następnie, pod przyciskiem "Więcej" wybierz Edytuj ustawienia zaawansowane. W obszarze, który został wyświetlony, pojawi się kilka zakładek, a wśród nich zakładka "Szablon". Wybierz ją, po czym sprawdź szablon:   Jeśli Twój szablon to Rubin, Szafir, Topaz, One Page Shop lub Dla Gastronomii, to możesz przejść do kolejnej części artykułu. Jeśli posiadasz własny szablon z indywidualnymi modyfikacjami, to przejdź do artykułu: Posiadam własny szablon, jak mogę go dostosować do kryteriów WCAG 2.1/2.2?  Jeśli posiadasz szablon Bursztyn, Agat lub Opal, to przejdź do artykułu: Posiadam szablon Bursztyn, Opal lub Agat, jak mogę go dostosować do kryteriów WCAG 2.1/2.2?  

Co zrobić jako właściciel e-Sklepu lub Partner, jeśli używam gotowych szablonów Comarch?

Jako właściciel e-Sklepu lub Partner Comarch zadbaj, aby zadbać o dostosowanie swojej witryny do obowiązujących przepisów. Nowe wymogi to wspólna odpowiedzialność:
  • Comarch e-Sklep – zajmiemy się kwestiami technicznymi w przypadku Gotowych Szablonów Comarch, do których należą m.in. zmiany w kodzie,
  • Właściciel, administrator lub Partner sklepu – musisz zadbać o treści i elementy, które dodajesz samodzielnie. Chodzi tu głównie opis produktów, zdjęcia i grafiki czy identyfikację wizualną. 
 

Jak zacząć?

Jeśli korzystasz z gotowych szablonów, takich jak Rubin, Szafir, Topaz, One Page Shop lub Dla Gastronomii, nie musisz przejmować się samodzielnym edytowaniem ich kodu. Wszystkie usprawnienia zostaną udostępnione wraz z aktualizacją, która pojawi się w czerwcu 2025 roku.

Aktualizacja szablonu

Wskazówka
Aktualizację szablonu wykonaj wtedy, kiedy będzie ona dostępna. Realizacja wersji 2025.4 przewidywana jest przed 28 czerwca 2025 roku, poinformujemy o niej w aktualnościach. Będzie ona zawierała zmiany związane z omawianymi tutaj przepisami.

Jak zaktualizować szablon?

Aby zaktualizować szablon i przejść na Topaz, One Page Shop, Dla Gastronomii, Rubin lub Szafir, należy skorzystać z aktualnej wersji Kreatora Wyglądu. Pamiętaj, że szablony Rubin i Szafir przeznaczone są tylko dla sklepów Enterprise i B2B. Odnośnik znajduje się również w panelu administracyjnym e-Sklepu w sekcji Wygląd sklepu > Kreator wyglądu.  Istnieją trzy możliwości aktualizacji tych szablonów:
  • Wygenerowanie zupełnie nowego szablonu w Kreatorze Wyglądu oraz wgranie go do e-Sklepu,
  • Wybór i edycja jednego z gotowych układów i jego modyfikacja,
  • Import posiadanego szablonu do Kreatora Wyglądu oraz ponowne wygenerowanie go w najnowszej wersji.
Wygenerowany z Kreatora Wyglądu szablon należy wgrać do e-Sklepu. W panelu administracyjnym e-Sklepu, w sekcji Wygląd sklepu znajduje się bezpośredni odnośnik do importu szablonu z Kreatora wyglądu. Szczegółowa instrukcja dostępna jest w artykule Jak wyeksportować i zaimportować swój szablon w e-Sklepie?
Pamiętaj o zapisaniu szablonu oraz opublikowaniu go w e-Sklepie. Zmiany wprowadzone w ustawieniach zostaną zsynchronizowane do sklepu po 10 minutach.
Wskazówka
Informacje na temat aktualizacji znajdują się w Centrum Pomocy: Jak zaktualizować szablon do najnowszej wersji?  
Więcej informacji na temat Kreatora Wyglądu B2C oraz B2B znajduje się w Centrum Pomocy:

Odpowiedni kontrast kolorów w e-Sklepie – wymóg WCAG na poziomie AA

Jednym z głównych wymogów WCAG jest stosowanie odpowiednich kontrastów na stronach internetowych. Jeśli w wybranym szablonie graficznym wykorzystujesz któryś ze standardowych motywów kolorystycznych dostępnych w kreatorach, to zostaną one dostosowane do wymagań wynikających z przepisów. Jeśli natomiast masz przygotowany własny motyw kolorystyczny lub chcesz zmienić część kolorów zastosowanych w szablonie, to pamiętaj, że muszą one posiadać odpowiednie kontrasty. Wszelkich zmian kolorystycznych możesz dokonać w Kreatorze Wyglądu.  Odpowiedni kontrast między tekstem a tłem jest kluczowy dla osób z dysfunkcjami wzroku. WCAG 2.1 określa minimalny współczynnik kontrastu (4.5:1 dla tekstu zwykłego i 3:1 dla tekstu dużego). Ważne jest również unikanie łączenia kolorów, które mogą być trudne do rozróżnienia, takich jak czerwony i zielony. Kontrasty po modyfikacji kolorów możesz sprawdzić np. narzędziem WAVE. WAVE to popularny, dostępny dla wszystkich zestaw narzędzi do oceny dostępności stron internetowych. Rozszerzenia WAVE dla Chrome, Firefox i Edge, umożliwiają testowanie bezpośrednio w tych przeglądarkach, bez przesyłania danych na serwer WAVE. WAVE znajdziesz pod linkiem: WAVE Web Accessibility Evaluation Tools.  

Jak sprawdzić kontrast?

Przejdź na stronę swojego e-Sklepu. Włącz wtyczkę WAVE. Po prawej stronie ekranu wyświetli się panel boczny, na pierwszej zakładce widać podsumowanie całej strony: Już na tym etapie możesz przejść do szczegółów, klikając "View details". Możesz w tym miejscu przejść także do zakładki "Contrast".   Czerwone kwadraty oznaczają obszar do poprawy. Przejdź przez stronę, aby zobaczyć szczegóły każdego z nich. Po kliknięciu na jeden z kwadratów pokaże się komunikat dotyczący kontrastu: W panelu bocznym pojawi się dokładna informacja na temat koloru. W tym miejscu, korzystając z suwaków możesz od razu dostosować kolor tak, aby był odpowiedni i sprawdzić, czy spełnia wymagania WCAG.  

Gdzie dostosować kolory?

Kolory w szablonie możesz zmienić korzystając z Kreatora Wyglądu. Po imporcie szablonu, edycji lub stworzeniu nowego projektu, przejdź do zakładki "Style" i edytuj motyw kolorystyczny:   Następnie możesz zmieniać swobodnie kolor na wybranych elementach:   Zmian możesz dokonać także z poziomu panelu administracyjnego, przechodząc do zakładki Wygląd Sklepu > Ustawienia.

Pozostałe zmiany

Poza zmianami w szablonie graficznym sklepu należy uzupełnić szereg danych. Znaczącą część tych elementów możesz wykonać już teraz, nie czekając na aktualizację Comarch e-Sklep. Poniżej znajduje się lista zmian, które należy wdrożyć w swoim e-Sklepie.

Teksty alternatywne ("Alt", alty) w Comarch e-Sklep

Twój szablon musi obsługiwać parametr "alt" w obrazkach. Jeśli wykorzystasz aktualny szablon standardowy od Comarch to obsługę zapewnia Comarch e-Sklep, jeśli zdecydowałeś się na indywidualny szablon lub samodzielną aktualizację starszej wersji to upewnij się, że w szablonie są obsługiwane parametry "alt" we wskazanych elementach. Teksty alternatywne („alt”) to krótkie opisy obrazków, które pozwalają osobom korzystającym z czytników ekranu zrozumieć, co znajduje się na zdjęciu. Atrybut „alt” jest szczególnie ważny dla zdjęć produktów, ponieważ umożliwia przekazanie najważniejszych informacji o produktach.  Dlaczego tekst alternatywny jest taki ważny? 
  • Pomaga osobom korzystającym z czytników ekranu, które odczytują tekst alternatywny na głos,
  • Poprawia dostępność stron internetowych, czyniąc je bardziej przyjaznymi dla wszystkich użytkowników,
  • Wpływa na pozycjonowanie w wyszukiwarkach, ponieważ dobrze opisane obrazy są lepiej interpretowane przez algorytmy Google.   
Dobrze sformułowany opis powinien być zwięzły, ale wystarczająco informacyjny. Poniżej prezentujemy przykłady dobrego i złego zastosowania opisów alternatywnych:
Przyklad
Poprawne :
  • Czerwona sukienka maxi z rozcięciem, modelka na tle miejskiego pejzażu.
  • Białe sneakersy z grubą podeszwą, ustawione na drewnianej podłodze.
  • Nowoczesna sofa w kolorze szarym, z drewnianymi nogami, ustawiona w minimalistycznym salonie.
  • Słuchawki bezprzewodowe z aktywną redukcją szumów, na białym tle.
Niepoprawne:
  • Sukienka.
  • Buty sportowe.
  • Fajna kanapa.
  • Najlepszy sprzęt w dobrej cenie!

Gdzie należy uzupełnić teksty alternatywne (alt)?

1. Dla zdjęć towarów w systemach Comarch ERP

Korzystam z Comarch ERP Optima
Po uruchomieniu Comarch ERP Optima przejdź na pozycję cennika, a następnie edytuj wybrany towar. Następnie przejdź na zakładkę "Atrybuty", a następnie do sekcji "Zdjęcia i załączniki". W tym miejscu zobaczysz kolumnę "Atrybut Alt".
Po dwukrotnym kliknięciu możliwe jest uzupełnienie opisu alternatywnego: Po dokonaniu zmian należy je zapisać. Po wykonaniu wszystkich modyfikacji należy wykonać synchronizację.

Korzystam z Comarch ERP XL

Po uruchomieniu ERP XL przejdź do Sprzedaż > Towary , a następnie na zakładkę "Załączniki". Opis alternatywny dla towaru stanowi Kod:    
Korzystam z Comarch ERP XT
Przejdź na kartę produktu, a następnie do zakładki "Zdjęcia". Wśród pól do uzupełnienia znajdziesz "Opis alternatywny (Alt)".   W tym miejscu wpisz odpowiednią treść, a następnie zapisz wprowadzone zmiany.  

2. Dla zdjęć w bannerach – w panelu administracyjnym Comarch e-Sklep

Pamiętaj, alby alty (opisy alternatywne) były uzupełnione także w przypadku bannerów. Aby to zrobić, przejdź z poziomu panelu administracyjnego do Wygląd sklepu > Ustawienia > Bannery  do edycji swoich bannerów. Klikając na odpowiedni kafelek pojawią się opcje z uzupełnieniem Alt:

3. Dla zdjęć stosowanych na stronach z treściami formalnymi – w panelu administracyjnym Comarch e-Sklep

Obrazki możesz dodawać także do treści, które udostępniasz na specjalnych stronach, takich jak np. Regulamin sklepu, Polityka prywatności, Wysyłka itp. W obszarze do edycji, który jest dostępny z poziomu panelu administracyjnego w sekcji Ustawienia > Treści formalne edytuj interesującą Cię treść, a dodając obrazek uzupełnij alt:    

4. Dla zdjęć wprowadzonych w opisie towaru i opisie kategorii

Dodając opisy produktów i kategorii, warto upewnić się, że linkowane zdjęcia zawierają poprawnie uzupełniony atrybut "alt". To kluczowe dla osób korzystających z czytników ekranu. Dbałość o ten detal poprawia dostępność strony i zwiększa jej widoczność w sieci. Opis towaru i kategorii możesz dodać w systemach Comarch ERP.  Opis kategorii możesz ustawić również z poziomu panelu administracyjnego, bez konieczności korzystania z systemu ERP. Szczegółowe informacje znajdują się w artykule: Jak edytować kategorię w Comarch e-Sklep? 

5. Dla zdjęć w Blogu

Obrazki, które dodawane są dla wpisów blogowych od wersji 2025.4 będą posiadały atrybuty ALT oraz Title. Ich uzupełnienie będzie możliwe przy przejściu z poziomu panelu administracyjnego Comarch e-Sklep do sekcji Marketing > Blog przy dodawaniu wpisu:

6. Dla zdjęć w plikach użytkownika w sekcji "Twoje pliki"

Pliki użytkownika w e-Sklepie to dedykowana przestrzeń do przechowywania własnych materiałów, które mogą zostać wykorzystane w sklepie internetowym. Pliki można przesyłać za pośrednictwem panelu administracyjnego, w sekcji Ustawienia > Twoje pliki. Maksymalny rozmiar pojedynczego pliku: 3 MB. Pliki, które dodawane są we wspomnianym obszarze, od wersji 2025.4 będą posiadały atrybuty ALT oraz Title. Ich uzupełnienie będzie możliwe przy przejściu z poziomu panelu administracyjnego do sekcji Ustawienia > Twoje pliki przy edycji pliku lub jego dodaniu.
Wskazówka
Jeśli posiadasz sklep wielojęzyczny, to we wszystkich tych wymienionych powyżej obszarach, znajdują się również obrazki dla danego języka. Pamiętaj, alby atrybut ALT zdefiniować dla każdego z nich!
 

Atrybut title - obowiązkowy czy nie?

Atrybut title jest przydatny do przekazywania dodatkowych informacji o elementach HTML, widocznych jako podpowiedź po najechaniu kursorem. Może być używany w ikonach bez podpisu, formularzach czy linkach, aby dostarczyć kontekst. Nie jest jednak obowiązkowy według WCAG, ponieważ czytniki ekranu często go ignorują, a osoby nawigujące klawiaturą mogą nie mieć do niego dostępu.  

Zalecenia dla udostępnianych treści - ogranicz migające elementy

Jako właściciel sklepu musisz sam zadbać o to, jakie treści umieszczasz na swojej stronie. Migające elementy, takie jak animacje czy reklamy, mogą wywoływać problemy u osób z padaczką fotogenną. Według kryteriów WCAG 2.1 zalecane jest ograniczenie migających treści do maksymalnie trzech błysków na sekundę lub ich całkowite usunięcie. Jako właściciel sklepu musisz dbać o statyczne elementy lub spokojne animacje. Również treści zawarte w różnego typu prospektach, gazetkach czy folderach informacyjnych w formie dokumentów powinny być zgodne z wytycznymi WCAG.

1.Obrazki i bannery

W szablonach graficznych takie elementy mogą pojawić się na przykład w bannerach i elementach tekstowych ze zdjęciem. Upewnij się, że grafiki tam zamieszczone są odpowiednie, czyli bez intensywnych animacji i nieodpowiednich kolorów. Szczególną uwagę zwróć na pliki w formacie GIF. Sprawdź, w jaki sposób możesz skonfigurować bannery oraz elementy tekstowe ze zdjęciem.  

2.Materiały audio i viedo

Aby sklep internetowy był w pełni dostępny zgodnie z WCAG, właściciele muszą zadbać o dodanie audiodeskrypcji i transkrypcji do materiałów multimedialnych (filmy, nagrania dźwiękowe). Choć oba rozwiązania służą poprawie dostępności, mają różne funkcje.
  • Audiodeskrypcja to dodatkowy opis dźwiękowy, który przedstawia istotne elementy wizualne nagrania osobom niewidzącym,
  • Transkrypcja to zapis tekstowy całej treści audio, umożliwiający odbiór treści osobom niesłyszącym, może to być w formie napisów dla audiodeskrypcji.
Dodanie tych elementów leży po stronie właścicieli sklepów. Do filmów, które udostępniasz, dodaj zatem widoczne napisy, a także dobrej jakości opis dźwiękowy. Ich brak może wykluczyć część użytkowników i wpłynąć na komfort korzystania ze strony. Dobre praktyki dostępności to nie tylko wymóg, ale też inwestycja w lepsze doświadczenie klientów.

Dostosuj komunikację mailową - aktualizacja lub zmiana treści e-mail

Dostosowanie treści e-mail zgodnie z wytycznymi WCAG to kluczowy krok w budowaniu dostępnej i klarownej komunikacji. W tej części artykułu przedstawiamy rozwiązania zarówno dla domyślnych wiadomości, jak i tych modyfikowanych, aby zapewnić ich lepszą czytelność i dostępność dla wszystkich odbiorców.

1.Treści mailowe są domyślne, nie zostały sformatowane

Jeśli treści nie zostały przez Ciebie zmienione i stanowią domyślne treści, które są dostępne w Comarch e-Sklep, to wystarczy, że zaktualizujesz je. Aby to zrobić, należy przejść w panelu administracyjnym do zakładki Ustawienia > Treści formalne, a następnie wybrać „Wysyłka e-mail i SMS”. Zakładka ta zawiera treści wiadomości wysyłane do klientów po wykonaniu określonych akcji, np. po zakupie czy rejestracji. W Comarch e-Sklep istnieje możliwość przywrócenia standardowej treści pojedynczej wiadomości e-mail lub wszystkich jednocześnie. Opcja ta stanowi również aktualizację treści e-mail. "Przywróć domyślną treść" dostępna jest w panelu administracyjnym e-Sklepu w menu Ustawienia/ Treści formalne/ Wysyłka e-mail i SMS na szczegółach każdej wiadomości, po kliknięciu w przycisk Więcej:  

2.Treści mailowe są modyfikowane, zostały przeze mnie zmienione

Jeśli posiadasz własne, dostosowane do Twojej komunikacji marketingowej treści e-mail, to sprawdź, czy są one odpowiednio napisane i sformatowane. Zastosuj się do poniższych wskazówek. W jaki sposób poprawnie napisać i sformatować treści?
  • Struktura Stosuj nagłówki (<h1>, <h2> itd.) dla przejrzystości. Używaj krótkich akapitów i list punktowanych.
  • Tekst i formatowanie Zapewnij wysoki kontrast między tekstem a tłem. Wybieraj czytelne czcionki (sans-serif, min. 12-14 px). Nie używaj wyłącznie koloru do przekazywania informacji.
  • Obrazy i multimedia Dodawaj tekst alternatywny (alt text) do obrazów. Unikaj tekstu osadzonego w grafikach, jeśli można go przesłać jako tekst.
  • Linki i przyciski Stosuj opisowe teksty linków zamiast „Kliknij tutaj”. Upewnij się, że są łatwe do kliknięcia na ekranach dotykowych.
  • Język i czytelność Używaj prostego i zrozumiałego języka. Unikaj skrótów i branżowego żargonu, jeśli odbiorca może ich nie znać.
  • Testowanie Sprawdź wiadomość na różnych urządzeniach i czytnikach ekranu. Zweryfikuj zgodność ze standardami WCAG.
Szczegółowe informacje na temat edycji treści e-mail znajdują się a artykule: E-mail i SMS  

3.Załączniki (m.in. instrukcje, katalogi)

Należy zadbać o to, aby wszystkie udostępniane w sklepie załączniki, takie jak instrukcje czy katalogi, były zgodne z wytycznymi WCAG, zapewniając tym samym ich pełną dostępność dla wszystkich użytkowników.  

Dodatkowe narzędzia pomocne przy wdrażaniu WCAG

Przystosowanie e-Sklepu do wymogów nie musi wiązać się z dużymi wydatkami na zmiany w kodzie. Kluczowe aspekty dostępności można wdrożyć samodzielnie, wykorzystując opcje dostępne w systemach Comarch ERP, a także Kreatorze Wyglądu czy Panelu Administracyjnym. Warto pamiętać, że poprawa dostępności to nie tylko obowiązek wynikający z przepisów, ale także realna szansa na zwiększenie grona klientów oraz podniesienie komfortu ich zakupów. Istnieje kilka ogólnodostępnych narzędzi, które pomogą Ci dostosować sklep do wymogów. Obszerna lista narzędzi do oceny dostępności stron internetowych, zgodnych z WCAG znajduje się na stronie: Web Accessibility Evaluation Tools List .  

Podsumowanie

Dostępność cyfrowa to nie jednorazowe przedsięwzięcie, lecz ciągły rozwój i udoskonalanie. Regularne sprawdzanie funkcjonalności, optymalizacja elementów wizualnych i dostosowywanie sposobów interakcji pozwalają na stałe podnoszenie jakości doświadczeń użytkowników. Dążenie do pełnej zgodności ze standardami WCAG 2.1/2.2 oraz wymogami Europejskiego Aktu o Dostępności (EAA) nie tylko ułatwia nawigację wszystkim odwiedzającym, ale także buduje pozytywny wizerunek i wzmacnia pozycję na rynku. Wdrażanie kolejnych usprawnień to inwestycja w przyszłość, która przynosi korzyści zarówno właścicielom, jak i ich klientom.

Szablon dla Gastronomii

Dla Gastronomii - przewodnik konfiguracji

1. Wstęp

Szablon jest dedykowany do sprzedaży jedzenia online, możliwy do swobodnej konfiguracji. Jest responsywny, dzięki czemu idealnie nadaje się do prezentacji przepisów, menu lub promocji produktów żywnościowych. Może zostać zastosowany zarówno do niewielkiej, lokalnej pizzerii, jak i do restauracji, piekarni czy cukierni. Wszystkie elementy są zaprojektowane tak, aby jak najlepiej zaprezentować ofertę oraz ułatwić użytkownikowi nawigację i szybkie złożenie zamówienia. Główne wyróżniki szablonu to:
  • dostosowana lista produktów w formie MENU,
  • popup z możliwością personalizacji zamówienia (dodanie kolejnych składników i dodatków),
  • wyświetlenie orientacyjnego czasu realizacji zamówienia,
  • komunikat o braku możliwości składania zamówienia w określonych dniach i godzinach,
  • możliwość ustawienia rejonu dostawy,
  • wyświetlanie alergenów.
Szablon współpracuje z Comarch e-Sklep w każdej wersji (Light, Standard, Enterprice oraz B2B) oraz Comarch ERP XT, ERP XL oraz ERP Optima. Przejdź do naszego sklepu demonstracyjnego i zobacz, jak prezentuje się szablon dla gastronomii w Comarch e-Sklep. W tym artykule skupiliśmy się na prezentacji dedykowanych funkcji dla tego szablonu. Znajdziesz tu krótkie instrukcje konfiguracji. Podstawowe informacje na temat szablonu dla gastonomii znajdziesz w artykule: Dla gastronomii - podstawowe informacje.

2. Dedykowane konfiguracje

Szablon Dla Gastronomii posiada dedykowane funkcje, które są możliwe do swobodnej modyfikacji. Funkcje te nie są dostępne w innych, standardowych szablonach. W szablonie dla Gastronomii kupowanie jest możliwe bezpośrednio z listy. Menu, bo tak została nazwana sekcja z listą towarów, dostępne jest do prezentacji w dwóch wariantach: kafli oraz listy. Zmiana układu listy możliwa jest z poziomu panelu administracyjnego (Wygląd sklepu/ Ustawienia/ zakładka Zarządzanie kaflem produktu). Podczas kupowania bezpośrednio z menu wyświetla się popup, który posiada następujące informacje:
  • zdjęcie produktu,
  • opis,
  • możliwe do wyboru warianty,
  • dodatkowe produkty, ktore można umiejscowić pod nazwą „Składniki” czy „Dodatki”.
Dzięki temu możliwa jest personalizacja danego towaru, a Klient w szybki sposób może wybrać ekstra składniki czy dodatki w postaci np. sosów do dania głównego. Może również wybrać rodzaj pieczywa czy rozmiar burgera. Nad przyciskiem "dodaj do koszyka" znajduje się tzw. przycisk drugorzędny. Służy on do wpisania liczby, przez którą wartości wybrane w popupie oraz towar nadrzędny (jakim w tym przypadku jest burger) zostaną pomnożone.

2.1. Wybór wariantów - konfiguracja "rozmiar burgera" oraz "rodzaj pieczywa"

Burger został skonfigurowany jako fantom. Informacje takie jak "rozmiar burgera" czy "rodzaj pieczywa" to jego warianty. Instrukcję dotyczącą konfiguracji fantomów znajdziesz w artykule: Fantom (towar zgrupowany) – konfiguracja
Wskazówka
Na zrzucie ekranu w popupie widnieje fantom dwupoziomowy (rozmiar burgera i rodzaj pieczywa), co oznacza, że należy dodać dwa atrybuty grupujące na karcie towaru w systemie ERP.

2.2. Składniki i dodatki

"Składniki" oraz "dodatki" to towary proste, które klienci mogą dodać do dania głównego. Poprawnie skonfigurowane wyświetlą się na popupie podczas kupowania z listy. W systemach ERP definiowane są jako zamienniki lub towary podobne. Jest kilka rzeczy, o których musisz pamiętać podczas konfiguracji dodatków i składników:
  • towar nie może posiadać atrybutów grupujących,
  • produkty muszą mieć zdefiniowane przynajmniej jedno zdjęcie,
  • towar musi być zamiennikiem jednostronnym,
  • łączna ilość zamienników nie może przekraczać 20 towarów prostych. Ograniczenie to dotyczy każdego z niżej wskazanych systemów ERP.
Poniżej zamieściliśmy instrukcję konfiguracji dla poszczególnych systemów ERP.

2.3. Składniki

2.3.1. W jaki sposób zostały skonfigurowane "Składniki" w ERP Optima?

Towary znajdujące się w popupie jako "składniki" to zamienniki utworzone w systemie Comarch ERP Optima. Aby towar wyświetlił się poprawnie, należy: Krok 1. Utworzyć w systemie Comarch ERP Optima kategorię o nazwie i kodzie "INNE",
Wskazówka
Grupa musi być domyślną dla składników, które się w niej znajdują. Dodatkowo musi ona zostać dodana jako podgrupa grupy głównej, która została wybrana na definicji oddziału.
Krok 2. Utworzyć towar prosty (czyli np. dodatkowy ser), przyporządkować go do grupy INNE, Krok 3. Do towaru nadrzędnego (w tym przypadku burgera) dodać zamiennik jednostronny, Krok 4. Po wykonaniu synchronizacji produkty będą widoczne na popupie. Dodatkowo, produkty, które są w kategorii  "INNE" nie wyświetlą się w menu. Grupa ta nie jest także widoczna w menu kategorii.  

2.3.2 W jaki sposób zostały skonfigurowane "Składniki" w ERP XT?

Towary znajdujące się w popupie jako "składniki" to produkty podobne utworzone w systemie Comarch ERP XT. Aby towar wyświetlił się poprawnie, należy: Krok 1. Utworzyć w systemie Comarch ERP XT grupę produktów o nazwie "INNE", Krok 2. Utworzyć towar (np. dodatkowa szynka), przyporządkować go do grupy "INNE". Krok 3. Na karcie towaru nadrzędnego (w tym przypadku burgera) dodać produkt podobny (jednostronny), Krok 4. Po wykonaniu synchronizacji produkty będą widoczne na popupie. Dodatkowo, produkty, które są w kategorii  "INNE" nie wyświetlą się w menu. Grupa ta nie jest także widoczna w menu kategorii.  

2.3.3 W jaki sposób zostały skonfigurowane "Składniki" w ERP XL?

Towary znajdujące się w popupie jako "składniki", to produkty podobne utworzone w systemie Comarch ERP XL. Aby towar wyświetlił się poprawnie, należy: Krok 1. Utworzyć w systemie Comarch ERP XL grupę produktów o nazwie "INNE". Grupa musi zostać dodana jako podgrupa grupy głównej, która została wybrana na definicji oddziału,
Przyklad
Jeśli na definicji oddziału w zakładce Eksport/ Cennik wybierzesz grupę Szablon gastronomiczny: To należy w niej dodać podgrupę o nazwie "INNE".
Krok 2. Utworzyć towar prosty(np. szynka), przyporządkować go do grupy "INNE". Krok 3. Na karcie towaru nadrzędnego (w tym przypadku pizza hawajska) dodać zamiennik(jednostronny) w zakładce Zamienniki/ Zamienniki. Dodatkowo w edycji zamienników w zakładce "Miejsca w strukturze firmy" trzeba dodać oddział e-Sklepu, Krok 4. Po wykonaniu synchronizacji produkty z grupy "INNE" będą widoczne na popupie jako składniki, ale nie wyświetlą się jako osobna grupa "INNE" w menu kategorii.

2.4 Dodatki

2.4.1 W jaki sposób zostały skonfigurowane "Dodatki" w Comarch ERP Optima?

Towary znajdujące się w popupie jako "dodatki" to zamienniki utworzone w systemie Comarch ERP Optima. Aby towar wyświetlił się poprawnie, należy: Krok 1. Utworzyć towar prosty (czyli np. oliwa z oliwek), przyporządkować go do grupy, która jest udostępniona do e-Sklepu, najwygodniej jeśli posiada ona nazwę "DODATKI". Krok 2. Do towaru nadrzędnego (w tym przypadku burgera) dodać zamiennik jednostronny, Efekt: Po wykonaniu synchronizacji produkty będą widoczne na popupie. Dodatkowo, produkty z kategorii "DODATKI" wyświetlą się w menu, a grupa będzie widoczna w menu kategorii.

2.4.2 W jaki sposób zostały skonfigurowane "Dodatki" w Comarch ERP XT?

Towary znajdujące się w popupie jako "dodatki" to produkty podobne utworzone w systemie Comarch ERP XT. Aby towar wyświetlił się poprawnie, należy: Krok 1. Utworzyć towar (np. sos czosnkowy), przyporządkować go do grupy, która jest udostępniona do e-Sklepu, najwygodniej o nazwie "DODATKI" lub innej. Krok 2. Do towaru nadrzędnego (w tym przypadku burgera) dodać produkt podobny (jednostronny), Efekt: Po wykonaniu synchronizacji produkty będą widoczne na popupie jako dodatki. Kategoria "DODATKI" wyświetli się w Menu, obok innych kategorii stworzonych w systemie ERP XT.

2.4.3 W jaki sposób zostały skonfigurowane "Dodatki" w Comarch ERP XL?

Towary znajdujące się w popupie jako "dodatki" to zamienniki utworzone w systemie Comarch ERP XL. Aby towar wyświetlił się poprawnie, należy: Krok 1. Utworzyć towar prosty (czyli np. cola), przyporządkować go do grupy, która jest udostępniona do e-Sklepu, najwygodniej o nazwie "DODATKI". Krok 2. Na karcie towaru nadrzędnego (w tym przypadku pizza hawajska) dodać zamiennik(jednostronny) w zakładce Zamienniki/ Zamienniki. Dodatkowo w edycji zamienników w zakładce "Miejsca w strukturze firmy" trzeba dodać oddział e-Sklepu, Efekt: Po wykonaniu synchronizacji produkty będą widoczne na popupie. Dodatkowo, produkty z kategorii "DODATKI" wyświetlą się w menu kategorii, które widoczne jest nad menu  

3. Alergeny

Szablon dla Gastronomii został dostosowany do wyświetlania tabel z alergenami, które mogą znaleźć się w produktach. Alergeny możesz wyświetlić zatem za pomocą:
  • konfiguracji banneru „Tabela”,
  • dodania dowolnej treści na stronie użytkownika,
  • oznaczeniu ich jako atrybuty. 

3.1. Alergeny jako atrybuty - widoczność na szczegółach towaru - Konfiguracja ERP Optima

Aby dodać spis produktów lub substancji uczulających, który zostanie wyświetlony w zakładce "Alergeny" widocznej na szczegółach towaru, należy: Krok 1. Utworzyć w ERP Optima atrybut tekstowy o nazwie ALERGENY Krok 2. Atrybut należy dodać do towaru, na którym na być widoczny. Aby to zrobić, należy przejść z pozycji cennika do zakładki Atrybuty Krok 3. W polu "wartość" należy wpisać alergeny, które mogą się znaleźć w produkcie. Pole to posiada ograniczenie ilości znaków . W tym wypadku, jeśli zabraknie miejsca, to możliwe jest utworzenie kolejnego atrybutu, tym razem o nazwie ALERGENY_DWA. Kolejno można tworzyć atrybuty ALERGENY_TRZY itd. Efekt: Po synchronizacji alergeny zostaną wyświetlone na szczegółach towaru w zakładce "Alergeny"      

3.2. Alergeny jako atrybuty - widoczność na szczegółach towaru - Konfiguracja ERP XT

Aby dodać spis produktów lub substancji uczulających, który zostanie wyświetlony w zakładce "Alergeny" dostępnej na szczegółach towaru, należy: Krok 1. Utworzyć w systemie ERP XT atrybut o nazwie ALERGENY Krok 2. Atrybut należy dodać do towaru, na którym ma być widoczny. Aby to zrobić, należy przejść na kartę towaru w zakładkę e-Sklep: Krok 3. W polu "wartość PL" należy wpisać alergeny, które mogą się znaleźć w produkcie. Pole to posiada ograniczenie. W tym wypadku, jeśli zabraknie miejsca, to możliwe jest utworzenie kolejnego atrybutu, tym razem o nazwie Alergeny_dwa. Kolejno można tworzyć atrybuty Alergeny_trzy itd. Efekt: Po synchronizacji alergeny zostaną wyświetlone na szczegółach towaru w zakładce "Alergeny"  

3.3. Alergeny jako atrybuty - widoczność na szczegółach towaru - Konfiguracja ERP XL

Krok 1. Utworzyć w systemie ERP XL atrybut tekstowy o nazwie ALERGENY Krok 2. Atrybut należy dodać do towaru, na którym na być widoczny. Aby to zrobić, należy przejść z pozycji cennika do zakładki Atrybuty: Krok 3. W polu "wartość" należy wpisać alergeny, które mogą się znaleźć w produkcie. Pole to posiada ograniczenie ilości znaków . W tym wypadku, jeśli zabraknie miejsca, to możliwe jest utworzenie kolejnego atrybutu, tym razem o nazwie ALERGENY_DWA. Kolejno można tworzyć atrybuty ALERGENY_TRZY itd. Efekt: Po synchronizacji alergeny zostaną wyświetlone na szczegółach towaru w zakładce "Alergeny"  

4. Określenie i walidacja obszaru dostawy

W szablonie dla Gastronomii możesz określić obszar dostawy. Możesz to zrobić na dwa sposoby: określenie za pomocą kodu pocztowego oraz mapy. Aby użyć funkcji w swoim e-Sklepie należy: Krok 1. Przejść do panelu administracyjnego, a następnie do zakładki Wygląd Sklepu/ Ustawienia/ zakładka Ogólne Krok 2. Następnie odnajdź "obszar dostaw" i określ obszar dostawy za pomocą mapy lub kodów pocztowych. Możesz zrezygnować z określania obszaru dostawy, wybierając opcję "nie określaj obszaru".

4.1. Określenie obszaru za pomocą mapy

Krok 1. Aby określić obszar za pomocą mapy wybierz odpowiednią opcję z listy. Po zaznaczeniu "Mapy" ukaże się mała mapa. Kliknij niebieski przycisk "wybierz obszar", po czym ustaw odpowiednio pinezki. Krok 2. Następnie, po określeniu obszaru, zapisz obszar, wybierając przycisk znajdujący się poniżej mapki. Efekt: Po zapisaniu obszaru na mapie zaznaczony będzie odpowiedni, określony przez Ciebie rejon. Aby zmienić lub usunąć obszar, wystarczy wybrać przycisk "wyczyść obszar", który pojawi się w lewym, dolnym rogu poniżej mapy. Zmiany należy zapisać i opublikować.

4.2. Określenie obszaru za pomocą kodu pocztowego

Krok 1. Aby określić obszar za pomocą kodu pocztowego wybierz odpowiednią opcję z listy. Krok 2. Po zaznaczeniu "Kodów pocztowych" ukaże się obszar, w którym należy wpisać obsługiwane kody. Po wpisaniu kodu, aby dodać kolejny, kliknij "Dodaj kod pocztowy". Zmiany należy zapisać i opublikować. Efekt: Wprowadzone przez Ciebie kody pocztowe będą widoczne w panelu administracyjnym. Możesz je usunąć poprzez kliknięcie krzyżyka. Nie ma ograniczeń ilości dodawanych kodów. Efekt w e-Sklepie: Klient po uzupełnieniu danych zamawiającego otrzyma od razu informację, czy jego adres znajduje się w obszarze dostawy.  

5. Realizacja zamówień

W szablonie dla Gastronomii możesz określić orientacyjny czas realizacji zamówienia, a także określić, kiedy jest ono możliwe do złożenia.

5.1. Orientacyjny czas realizacji zamówienia

Krok 1. Aby włączyć funkcję wystarczy przejść z poziomu panelu administracyjnego do obszaru Wygląd sklepu/ Ustawienia/ zakładka Ogólne po czym odnaleźć sekcję "Realizacja zamówień". Krok 2. Następnie w "Orientacyjny czas realizacji zamówienia" należy wpisać czas, w jakim zazwyczaj dostarczasz zamówienie:   Efekt: Po złożeniu zamówienia Twoi Klienci zobaczą thank you page z odliczaniem czasu do realizacji:

5.2. Zezwól na składanie zamówień tylko w wybranym zakresie godzin

We wspomnianym obszarze "Realizacja zamówień" istnieje także funkcja, która pozwala na składanie zamówień tylko w wybranym zakresie godzin oraz blokowaniu składania zamówień w wybrane dni (np. święta). Krok 1. Aby ją uruchomić, wystarczy zaznaczyć checbox " Zezwój na składanie zamówień tylko w wybranym zakresie czasu" Krok 2. W tym miejscu możesz ustawić godziny oraz dni, w których klienci mogą składać zamówienia. Zapisz wprowadzone godziny. Jeśli chcesz usunąć "aktualnie zablokowane daty dostaw" , naciśnij krzyżyk znajdujący się po prawej stronie określonej daty. Efekt: Klient przeglądający menu przy próbie złożenia zamówienia w czasie, którego nie obejmuje zakres realizacji zamówień, zobaczy wówczas następujący komunikat:    

Dla Gastronomii - podstawowe informacje

Wstęp

Szablon jest dedykowany do sprzedaży jedzenia online, możliwy do swobodnej konfiguracji. Jest responsywny, dzięki czemu idealnie nadaje się do prezentacji przepisów, menu lub promocji produktów żywnościowych. Może zostać zastosowany zarówno do niewielkiej, lokalnej pizzerii, jak i do restauracji, piekarni czy cukierni. Wszystkie elementy są zaprojektowane tak, aby jak najlepiej zaprezentować ofertę oraz ułatwić użytkownikowi nawigację i szybkie złożenie zamówienia. Główne wyróżniki szablonu to:
  • dostosowana lista produktów w formie MENU,
  • popup z możliwością personalizacji zamówienia (dodanie kolejnych składników i dodatków),
  • wyświetlenie orientacyjnego czasu realizacji zamówienia,
  • komunikat o braku możliwości składania zamówienia w określonych dniach i godzinach,
  • możliwość ustawienia rejonu dostawy,
  • wyświetlanie alergenów.
Przejdź do naszego sklepu demonstracyjnego i zobacz, jak prezentuje się szablon dla gastronomii w Comarch e-Sklep. W niniejszym artykule zawarliśmy podstawowe informacje na temat funkcji dostępnych w szablonie. Dzięki udogodnieniom i możliwości edycji niektórych elementów możesz łatwo spersonalizować swój e-Sklep. Szczegółowe instrukcje z dedykowanymi konfiguracjami znajdziesz w artykule: Dla gastronomii - przewodnik konfiguracji. Szablon możesz dowolnie modyfikować z poziomu Kreatora Wyglądu dla sprzedaży detalicznej (B2C). Wystarczy, ze przejdziesz na stronę Kreatora i edytujesz szablon "Dla Gastronomii":  

Konfiguracja szablonu Dla Gastronomii w panelu administracyjnym

Z poziomu panelu administracyjnego możesz dokonywać edycji każdego elementu znajdującego się na stronie. Możesz także ustalać sposoby dostaw oraz płatności. Po przejściu do sekcji Wygląd sklepu/ Ustawienia dostępne są ustawienia dla zakładek: Ogólne, Strona główna, Dodatkowe, Zarządzanie strefą klienta oraz Zarządzanie kaflem produktu.
  • W zakładce Ogólne możesz dokonać zmian w motywie kolorystycznym Twojego e-Sklepu. Z tego poziomu również możesz dokonać m.in takich zmian, jak: prezentacja punktów odbioru osobistego, edycja terminu dostaw, ustalenie orientacyjnego czasu realizacji zamówienia czy określenie rejonu dostawy.
  • W zakładce Strona główna znajdują się ustawienia, które pomagają „układać” poszczególne elementy na stronie głównej. W tym miejscu możesz zdecydować, gdzie powinny wyświetlać się produkty, lookbook i bannery. Część wyświetlanych elementów możesz ukryć, a te które znajdują się w nagłówku, także wyróżnić.
  • W zakładce Dodatkowe widnieją ustawienia, dzięki którym możesz decydować o możliwości udostępniania towarów w poszczególnych mediach społecznościowych. Możesz włączyć prezentację tabeli alergenów na stronie towaru. Z tego poziomu możliwe jest również ustawienie poziomu zaokrągleń okien i przycisków w szablonie, a także zezwolenie na tłumaczenie strony przez Tłumacz Google.
  • W zakładce Zarzadzanie strefą klienta znajdziesz ustawienia listy elementów, które mają być widoczne dla niego po zalogowaniu do strefy klienta,
  • W zakładce Zarządzanie kaflem produktu możesz ustawić domyślny sposób wyświetlania menu (czyli towarów na liście) oraz zdecydować, czy Twoi klienci mogą kupować bezpośrednio z niego lub sekcji produktów proponowanych (na przykład promocji).

Ustawienia Strony Głównej

Ustawienia zawarte w tym miejscu odpowiadają za elementy, które wyświetlane są na stronie głównej. Możesz zmieniać ich kolejność, nazwę, ukryć je lub wyróżnić. W tym miejscu wyróżnia się następujące sekcje:

Ustawienia nagłówka strony

W nagłówku znajdują się następujące elementy:
  • Logotyp,
  • Odnośnik do listy z produktami (nasze produkty),
  • Blog,
  • Lookbook,
  • Informacje o firmie,
  • Kontakt,
  • Koszyk,
  • Możliwość wyboru języka i waluty w e-Sklepie.
W tym miejscu możesz nie tylko dodać link do nagłówka, ale także ustalić, czy i jakie odnośniki do stron mają być widoczne. Możliwa jest też zmiana kolejności wyświetlania poszczególnych elementów.

Ustawienia treści strony

Pozostając w obszarze Wygląd sklepu/ Ustawienia/ Strona główna możesz zmienić ustawienia treści strony. W tym miejscu również istnieje możliwość zmiany kolejności wyświetlania poszczególnych elementów na stronie głównej sklepu oraz ukrycia elementu.  

Elementy w szablonie

1. Nagłówek

W szablonie dla gastronomii dostępne są dwa rodzaje nagłówka: header-1 oraz header-6. Te rodzaje nagłówków dostępne są w Kreatorze i posiadają funkcję tzw. przyklejonego nagłówka. Przy przewijaniu strony u góry ekranu zawsze widoczny jest pasek z częścią elementów nagłówka (m.in. menu). Dzięki temu przeglądający ofertę w każdym miejscu strony ma dostęp do skróconej wersji nagłówka strony. Sekcja „Nagłówek” posiada dodatkowe opcje do ustawienia. Z listy menu, możesz decydować o:
  • Widoku wyszukiwanych towarów w nagłówku,
  • Wyświetlaniu top bannera,
  • Pokazywaniu rozwijanej listy towarów znajdującej się w koszyku.

2. Banner

W szablonie Dla Gastronomii udostępniliśmy sześć rodzajów bannerów. Z poziomu Kreatora Wyglądu możesz zdecydować, które z nich powinny znaleźć się na Twojej stronie. Aby dodać zdjęcia do banneru przejdź do zakładki Wygląd sklepu/ Ustawienia/ Bannery, a następnie klikając na kafelek o nazwie mainBanner wybierz odpowiednie zdjęcie.   
Banner poglądowy - banner-1
  Szczegóły na temat dodawania i edycji bannerów znajdują się w artykule: Bannery.  

3. Menu

W szablonie dla Gastronomii kupowanie jest możliwe bezpośrednio z listy. Menu, bo tak została nazwana sekcja z listą towarów, dostępne jest do prezentacji w dwóch wariantach: kafli oraz listy. Zmiana układu listy możliwa jest z poziomu panelu administracyjnego (Wygląd sklepu/ Ustawienia/ zakładka Zarządzanie kaflem produktu).

4. Popup – kupowanie z listy

Podczas kupowania bezpośrednio z menu wyświetli się popup, za pomocą którego możliwa jest personalizacja danego towaru: Dzięki temu klient w prosty i szybki sposób może wybrać dodatkowe składniki czy dodatki w postaci np. sosów. Może również wybrać rodzaj pieczywa czy rozmiar burgera.

5. Koszyk

W szablonie Dla Gastronomii składanie zamówienia jest szybkie i wygodne dla użytkownika. Koszyk został zaprojektowany tak, aby użytkownik mógł w jednym kroku wypełnić niezbędne dane: 
  • Formularz z danymi zamawiającego oraz danymi do faktury,
  • Sposób dostawy,
  • Sposób płatności,
  • Miejsce na wpisanie kodu rabatowego.
Po uzupełnieniu powyższych informacji można przejść do podsumowania, w którym prezentowane są wcześniej wprowadzone dane klienta. Oprócz tego w koszyku następuje sprawdzenie rejonu dostawy. Klient, po wpisaniu adresu, otrzyma natychmiast informację, czy znajduje się on w rejonie, gdzie dowozisz zamówienia. Dodatkowo, po finalizacji zamówienia, Klient zobaczy czas pozostały do jego realizacji:       W szablonie istnieje także możliwość wyświetlania w koszyku informacji o kwocie, której brakuje do darmowej dostawy.  Funkcja ta możliwa jest do uruchomienia z poziomu Panelu Administracyjnego w sekcji Wygląd sklepu/ Ustawienia/ Ustawienia szablonu/ Ogólne: Ustawienia można zmienić według własnego uznania. Po dokonaniu wyboru należy użyć opcji Zapisz i Publikuj.

6. Widget

Sekcja „Widget” pozwala dodać jeden z dwóch dostępnych wariantów, które pozwolą zaprezentować informacje, takie jak: zdjęcie, tytuł nagłówka, tekst przycisku, link do przycisku, a także opis. Widget można dodać podczas tworzenia szablonu dla Gastronomii w Kreatorze Wyglądu.

7. Lookbook

Widok ten charakteryzuje się prezentacją zdjęć w formie kafelków i precyzyjnym oznaczeniem towarów na zdjęciu. Dzięki znacznikom umieszczonym na grafice Twoi klienci będą mogli podejrzeć towar i dodać go bezpośrednio do koszyka. Po kliknięciu na przycisk wyświetli się popup ze szczegółami towaru oraz opcją zakupu.
Wskazówka
Rekomendowany rozmiar grafik do lookbooka to 560 x 500 px.
Aby poprawnie skonfigurować lookbook, skorzystaj z naszej instrukcji zawartej w artykule: Jak skonfigurować Lookbook w Comarch e-Sklep?

8. Blog

Prowadzenie bloga jest istotnym elementem sklepu internetowego. Dzięki niemu sprzedawca może dzielić się swoją wiedzą i spostrzeżeniami na temat reklamowanych produktów. W szablonie dla gastronomii blog możesz wykorzystać np. do prezentacji przepisów. Prowadzenie bloga ma również dobry wpływ na pozycjonowanie ze względu na unikalne treści. Dzięki temu Twój e-Sklep może częściej pojawiać się w wynikach wyszukiwania. W szablonie Dla Gastronomii masz możliwość tworzenia dowolnej ilości wpisów. Na stronie głównej wyświetlone zostaną trzy najnowsze. Użytkownik ma możliwość podglądu całej listy artykułów. Wystarczy, że kliknie w etykietę Najnowsze wpisy.   Szczegółowe informacje na temat konfiguracji bloga w e-Sklepie znajdują się w artykule: Jak skonfigurować blog?

9. Info-banner

Banner informacyjny pozwala na zaprezentowanie w przejrzysty sposób korzyści z zakupów w Twoim e-Sklepie. Modyfikacji tego obszaru dokonasz z poziomu panelu administracyjnego przechodząc do sekcji Wygląd sklepu/ Ustawienia/ Bannery. Następnie przechodząc do szczegółów banneru o nazwie info-banner dostosujesz element do swoich preferencji. Możesz skorzystać z domyślnych grafik lub dodać własne. Szczegółowe informacje na temat konfiguracji info-banneru znajdują się w artykule: Konfiguracja banneru informacyjnego w szablonie.

11. Element tekstowy ze zdjęciem

Element tekstowy ze zdjęciem charakteryzuje się możliwością wprowadzenia statycznego opisu na stronie głównej w twoim e-Sklepie. Możesz zawrzeć w nim np. podstawowe informacje na temat Twojej firmy, asortymentu lub inne wartościowe dla Ciebie treści. Element tekstowy możesz odpowiednio skonfigurować przechodząc do sekcji Wygląd sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane, a następnie do zakładki Obiekty, gdzie skonfigurujesz zawartość elementu.
Wskazówka
Za wyświetlanie elementu tekstowego w szablonie dla Gastronomii odpowiada obiekt o nazwie text-el-photo-mp-1.
Więcej informacji na temat konfiguracji znajduje się w artykule: Element tekstowy w szablonie.

11. Stopka

Dzięki modyfikacji obszaru możesz jeszcze bardziej spersonalizować swój sklep poprzez uzupełnienie stopki w szereg przydatnych informacji. Elementem tym możesz zarządzać z poziomu sekcji Wygląd Sklepu/ Ustawienia/ Nagłówek i Stopka.  Szczegółowe informacje na temat konfiguracji stopki znajdują się w artykule: Rozbudowana stopka w szablonach – jak ją skonfigurować?

12. Strefa Klienta

Do Strefy Klienta w szablonie Dla Gastronomii masz możliwość zalogowania się poprzez Facebooka oraz przez Google. Więcej na temat konfiguracji logowania przez Facebooka i Google znajdziesz tutaj.  

Jak dodać wiele linków do banneru top?

Wstęp

Banner top jest bannerem, który wyświetla się na samej górze witryny. Ma on na celu wyróżnić informacje, które chcesz przekazać swoim klientom. Z tego względu w ramach banneru top możesz dodać zarówno treść, jak również linki, które będą prowadzić do istotnych obszarów. Dzięki temu możesz zaprezentować klientom informacje o ofercie w Twoim sklepie. Wskazana prezentacja wielu linków możliwa jest w szablonach Topaz oraz Dla gastronomii.

Jak zaprezentować wiele linków w bannerze top?

Krok 1. Aby ustawić wskazany banner według własnych potrzeb przejdź do sekcji Wygląd sklepu > Ustawienia > Bannery. W tym miejscu powinien znajdować się banner o nazwie top: Krok 2. W ramach edycji banneru przejdź do sekcji Widok zaawansowany: Krok 3. Po otwarciu wskazanego widoku masz możliwość kilku opcji konfiguracji banneru top - w ramach domyślnych ustawień dla banneru wypełniona jest sama treść. Do banneru można dodać także link. W takim wypadku całość banneru top będzie klikalna, a wypełniony tekst zostanie zaprezentowany na środku banneru: Krok 4. Do banneru top można dodać dodatkowe linki. Należy to zrobić wchodząc do edycji banneru lub poprzez opcję Dodaj więcej linków: Krok 5. Z poziomu wskazanej opcji w zakładce Linki za pomocą przycisku plusa masz możliwość dodania linku: Następnie możesz wprowadzić nazwę, dodać link oraz zadecydować czy ma się on otwierać w nowym oknie:
Wskazówka
Aby prezentować wiele linków w szablonie należy uzupełnić link i nazwę dla linku domyślnego.
Dzięki dodaniu wielu linków masz możliwość ich prezentacji banneru top w następujący sposób:
    • Jeżeli w bannerze top wskazany został tekst: zostanie on przesunięty do lewej strony, a po prawej stronie w ramach tej opcji będzie wyświetlane do 4 linków:
    • W przypadku, gdy potrzebujesz więcej linków możesz zrezygnować z wypełnionego tekstu – dzięki temu na bannerze top będziesz mógł dodać do 6 linków:
Wskazówka
Opcja wielu linków w bannerze top jest możliwa do skonfigurowania wraz z odliczaniem czasu. W ramach takiej konfiguracji możliwe jest wyświetlenie do 4 linków. Informacje o konfiguracji banneru top z odliczaniem czasu można znaleźć w artykule Jak zaprezentować banner z odliczaniem czasu w szablonach B2C? W takim przypadku należy uzupełnić konfigurację linków, ustawić opcję odliczania czasu, jak również uzupełnić pole "Tekst". Dzięki temu banner top zyska następujący wygląd:
 

Posiadam gotowy szablon Comarch. Jak mogę go dostosować do kryteriów WCAG 2.1/2.2?

Wstęp

Z dniem 28 czerwca 2025 roku w życie wejdą przepisy związane z implementacją ustawy z dnia 26 kwietnia 2024 r. o zapewnianiu spełniania wymagań dostępności niektórych produktów i usług. Wdraża ona do polskiego prawa tzw. Europejski Akt o Dostępności (EAA) – unijną dyrektywę 2019/882. Celem ustawy jest zapewnienie, że kluczowe produkty i usługi będą dostępne dla wszystkich użytkowników, w tym osób z niepełnosprawnościami. Przedsiębiorcy mają czas do 28 czerwca 2025 roku, aby dostosować swoje produkty i usługi do nowych wymogów.
Wskazówka
Chcesz dowiedzieć się więcej o tych przepisach? Sprawdź artykuł w naszym Centrum Pomocy: Europejski Akt o Dostępności (EAA) i zapoznaj się ze szczegółami
W niniejszym artykule wskazujemy, jakie czynności należy wykonać, jeśli posiadasz jeden ze standardowych szablonów Comarch, czyli: Rubin, Szafir, Topaz, One Page Shop lub Dla Gastronomii.   

Sprawdź, jaki szablon posiadasz

Nie wiesz, który szablon posiadasz? Możesz to sprawdzić w panelu administracyjnym Comarch e-Sklep. Aby to zrobić, z poziomu panelu administracyjnego przejdź do zakładki Wygląd sklepu/ Ustawienia a następnie, pod przyciskiem "Więcej" wybierz Edytuj ustawienia zaawansowane. W obszarze, który został wyświetlony, pojawi się kilka zakładek, a wśród nich zakładka "Szablon". Wybierz ją, po czym sprawdź szablon:   Jeśli Twój szablon to Rubin, Szafir, Topaz, One Page Shop lub Dla Gastronomii, to możesz przejść do kolejnej części artykułu. Jeśli posiadasz własny szablon z indywidualnymi modyfikacjami, to przejdź do artykułu: Posiadam własny szablon, jak mogę go dostosować do kryteriów WCAG 2.1/2.2?  Jeśli posiadasz szablon Bursztyn, Agat lub Opal, to przejdź do artykułu: Posiadam szablon Bursztyn, Opal lub Agat, jak mogę go dostosować do kryteriów WCAG 2.1/2.2?  

Co zrobić jako właściciel e-Sklepu lub Partner, jeśli używam gotowych szablonów Comarch?

Jako właściciel e-Sklepu lub Partner Comarch zadbaj, aby zadbać o dostosowanie swojej witryny do obowiązujących przepisów. Nowe wymogi to wspólna odpowiedzialność:
  • Comarch e-Sklep – zajmiemy się kwestiami technicznymi w przypadku Gotowych Szablonów Comarch, do których należą m.in. zmiany w kodzie,
  • Właściciel, administrator lub Partner sklepu – musisz zadbać o treści i elementy, które dodajesz samodzielnie. Chodzi tu głównie opis produktów, zdjęcia i grafiki czy identyfikację wizualną. 
 

Jak zacząć?

Jeśli korzystasz z gotowych szablonów, takich jak Rubin, Szafir, Topaz, One Page Shop lub Dla Gastronomii, nie musisz przejmować się samodzielnym edytowaniem ich kodu. Wszystkie usprawnienia zostaną udostępnione wraz z aktualizacją, która pojawi się w czerwcu 2025 roku.

Aktualizacja szablonu

Wskazówka
Aktualizację szablonu wykonaj wtedy, kiedy będzie ona dostępna. Realizacja wersji 2025.4 przewidywana jest przed 28 czerwca 2025 roku, poinformujemy o niej w aktualnościach. Będzie ona zawierała zmiany związane z omawianymi tutaj przepisami.

Jak zaktualizować szablon?

Aby zaktualizować szablon i przejść na Topaz, One Page Shop, Dla Gastronomii, Rubin lub Szafir, należy skorzystać z aktualnej wersji Kreatora Wyglądu. Pamiętaj, że szablony Rubin i Szafir przeznaczone są tylko dla sklepów Enterprise i B2B. Odnośnik znajduje się również w panelu administracyjnym e-Sklepu w sekcji Wygląd sklepu > Kreator wyglądu.  Istnieją trzy możliwości aktualizacji tych szablonów:
  • Wygenerowanie zupełnie nowego szablonu w Kreatorze Wyglądu oraz wgranie go do e-Sklepu,
  • Wybór i edycja jednego z gotowych układów i jego modyfikacja,
  • Import posiadanego szablonu do Kreatora Wyglądu oraz ponowne wygenerowanie go w najnowszej wersji.
Wygenerowany z Kreatora Wyglądu szablon należy wgrać do e-Sklepu. W panelu administracyjnym e-Sklepu, w sekcji Wygląd sklepu znajduje się bezpośredni odnośnik do importu szablonu z Kreatora wyglądu. Szczegółowa instrukcja dostępna jest w artykule Jak wyeksportować i zaimportować swój szablon w e-Sklepie?
Pamiętaj o zapisaniu szablonu oraz opublikowaniu go w e-Sklepie. Zmiany wprowadzone w ustawieniach zostaną zsynchronizowane do sklepu po 10 minutach.
Wskazówka
Informacje na temat aktualizacji znajdują się w Centrum Pomocy: Jak zaktualizować szablon do najnowszej wersji?  
Więcej informacji na temat Kreatora Wyglądu B2C oraz B2B znajduje się w Centrum Pomocy:

Odpowiedni kontrast kolorów w e-Sklepie – wymóg WCAG na poziomie AA

Jednym z głównych wymogów WCAG jest stosowanie odpowiednich kontrastów na stronach internetowych. Jeśli w wybranym szablonie graficznym wykorzystujesz któryś ze standardowych motywów kolorystycznych dostępnych w kreatorach, to zostaną one dostosowane do wymagań wynikających z przepisów. Jeśli natomiast masz przygotowany własny motyw kolorystyczny lub chcesz zmienić część kolorów zastosowanych w szablonie, to pamiętaj, że muszą one posiadać odpowiednie kontrasty. Wszelkich zmian kolorystycznych możesz dokonać w Kreatorze Wyglądu.  Odpowiedni kontrast między tekstem a tłem jest kluczowy dla osób z dysfunkcjami wzroku. WCAG 2.1 określa minimalny współczynnik kontrastu (4.5:1 dla tekstu zwykłego i 3:1 dla tekstu dużego). Ważne jest również unikanie łączenia kolorów, które mogą być trudne do rozróżnienia, takich jak czerwony i zielony. Kontrasty po modyfikacji kolorów możesz sprawdzić np. narzędziem WAVE. WAVE to popularny, dostępny dla wszystkich zestaw narzędzi do oceny dostępności stron internetowych. Rozszerzenia WAVE dla Chrome, Firefox i Edge, umożliwiają testowanie bezpośrednio w tych przeglądarkach, bez przesyłania danych na serwer WAVE. WAVE znajdziesz pod linkiem: WAVE Web Accessibility Evaluation Tools.  

Jak sprawdzić kontrast?

Przejdź na stronę swojego e-Sklepu. Włącz wtyczkę WAVE. Po prawej stronie ekranu wyświetli się panel boczny, na pierwszej zakładce widać podsumowanie całej strony: Już na tym etapie możesz przejść do szczegółów, klikając "View details". Możesz w tym miejscu przejść także do zakładki "Contrast".   Czerwone kwadraty oznaczają obszar do poprawy. Przejdź przez stronę, aby zobaczyć szczegóły każdego z nich. Po kliknięciu na jeden z kwadratów pokaże się komunikat dotyczący kontrastu: W panelu bocznym pojawi się dokładna informacja na temat koloru. W tym miejscu, korzystając z suwaków możesz od razu dostosować kolor tak, aby był odpowiedni i sprawdzić, czy spełnia wymagania WCAG.  

Gdzie dostosować kolory?

Kolory w szablonie możesz zmienić korzystając z Kreatora Wyglądu. Po imporcie szablonu, edycji lub stworzeniu nowego projektu, przejdź do zakładki "Style" i edytuj motyw kolorystyczny:   Następnie możesz zmieniać swobodnie kolor na wybranych elementach:   Zmian możesz dokonać także z poziomu panelu administracyjnego, przechodząc do zakładki Wygląd Sklepu > Ustawienia.

Pozostałe zmiany

Poza zmianami w szablonie graficznym sklepu należy uzupełnić szereg danych. Znaczącą część tych elementów możesz wykonać już teraz, nie czekając na aktualizację Comarch e-Sklep. Poniżej znajduje się lista zmian, które należy wdrożyć w swoim e-Sklepie.

Teksty alternatywne ("Alt", alty) w Comarch e-Sklep

Twój szablon musi obsługiwać parametr "alt" w obrazkach. Jeśli wykorzystasz aktualny szablon standardowy od Comarch to obsługę zapewnia Comarch e-Sklep, jeśli zdecydowałeś się na indywidualny szablon lub samodzielną aktualizację starszej wersji to upewnij się, że w szablonie są obsługiwane parametry "alt" we wskazanych elementach. Teksty alternatywne („alt”) to krótkie opisy obrazków, które pozwalają osobom korzystającym z czytników ekranu zrozumieć, co znajduje się na zdjęciu. Atrybut „alt” jest szczególnie ważny dla zdjęć produktów, ponieważ umożliwia przekazanie najważniejszych informacji o produktach.  Dlaczego tekst alternatywny jest taki ważny? 
  • Pomaga osobom korzystającym z czytników ekranu, które odczytują tekst alternatywny na głos,
  • Poprawia dostępność stron internetowych, czyniąc je bardziej przyjaznymi dla wszystkich użytkowników,
  • Wpływa na pozycjonowanie w wyszukiwarkach, ponieważ dobrze opisane obrazy są lepiej interpretowane przez algorytmy Google.   
Dobrze sformułowany opis powinien być zwięzły, ale wystarczająco informacyjny. Poniżej prezentujemy przykłady dobrego i złego zastosowania opisów alternatywnych:
Przyklad
Poprawne :
  • Czerwona sukienka maxi z rozcięciem, modelka na tle miejskiego pejzażu.
  • Białe sneakersy z grubą podeszwą, ustawione na drewnianej podłodze.
  • Nowoczesna sofa w kolorze szarym, z drewnianymi nogami, ustawiona w minimalistycznym salonie.
  • Słuchawki bezprzewodowe z aktywną redukcją szumów, na białym tle.
Niepoprawne:
  • Sukienka.
  • Buty sportowe.
  • Fajna kanapa.
  • Najlepszy sprzęt w dobrej cenie!

Gdzie należy uzupełnić teksty alternatywne (alt)?

1. Dla zdjęć towarów w systemach Comarch ERP

Korzystam z Comarch ERP Optima
Po uruchomieniu Comarch ERP Optima przejdź na pozycję cennika, a następnie edytuj wybrany towar. Następnie przejdź na zakładkę "Atrybuty", a następnie do sekcji "Zdjęcia i załączniki". W tym miejscu zobaczysz kolumnę "Atrybut Alt".
Po dwukrotnym kliknięciu możliwe jest uzupełnienie opisu alternatywnego: Po dokonaniu zmian należy je zapisać. Po wykonaniu wszystkich modyfikacji należy wykonać synchronizację.

Korzystam z Comarch ERP XL

Po uruchomieniu ERP XL przejdź do Sprzedaż > Towary , a następnie na zakładkę "Załączniki". Opis alternatywny dla towaru stanowi Kod:    
Korzystam z Comarch ERP XT
Przejdź na kartę produktu, a następnie do zakładki "Zdjęcia". Wśród pól do uzupełnienia znajdziesz "Opis alternatywny (Alt)".   W tym miejscu wpisz odpowiednią treść, a następnie zapisz wprowadzone zmiany.  

2. Dla zdjęć w bannerach – w panelu administracyjnym Comarch e-Sklep

Pamiętaj, alby alty (opisy alternatywne) były uzupełnione także w przypadku bannerów. Aby to zrobić, przejdź z poziomu panelu administracyjnego do Wygląd sklepu > Ustawienia > Bannery  do edycji swoich bannerów. Klikając na odpowiedni kafelek pojawią się opcje z uzupełnieniem Alt:

3. Dla zdjęć stosowanych na stronach z treściami formalnymi – w panelu administracyjnym Comarch e-Sklep

Obrazki możesz dodawać także do treści, które udostępniasz na specjalnych stronach, takich jak np. Regulamin sklepu, Polityka prywatności, Wysyłka itp. W obszarze do edycji, który jest dostępny z poziomu panelu administracyjnego w sekcji Ustawienia > Treści formalne edytuj interesującą Cię treść, a dodając obrazek uzupełnij alt:    

4. Dla zdjęć wprowadzonych w opisie towaru i opisie kategorii

Dodając opisy produktów i kategorii, warto upewnić się, że linkowane zdjęcia zawierają poprawnie uzupełniony atrybut "alt". To kluczowe dla osób korzystających z czytników ekranu. Dbałość o ten detal poprawia dostępność strony i zwiększa jej widoczność w sieci. Opis towaru i kategorii możesz dodać w systemach Comarch ERP.  Opis kategorii możesz ustawić również z poziomu panelu administracyjnego, bez konieczności korzystania z systemu ERP. Szczegółowe informacje znajdują się w artykule: Jak edytować kategorię w Comarch e-Sklep? 

5. Dla zdjęć w Blogu

Obrazki, które dodawane są dla wpisów blogowych od wersji 2025.4 będą posiadały atrybuty ALT oraz Title. Ich uzupełnienie będzie możliwe przy przejściu z poziomu panelu administracyjnego Comarch e-Sklep do sekcji Marketing > Blog przy dodawaniu wpisu:

6. Dla zdjęć w plikach użytkownika w sekcji "Twoje pliki"

Pliki użytkownika w e-Sklepie to dedykowana przestrzeń do przechowywania własnych materiałów, które mogą zostać wykorzystane w sklepie internetowym. Pliki można przesyłać za pośrednictwem panelu administracyjnego, w sekcji Ustawienia > Twoje pliki. Maksymalny rozmiar pojedynczego pliku: 3 MB. Pliki, które dodawane są we wspomnianym obszarze, od wersji 2025.4 będą posiadały atrybuty ALT oraz Title. Ich uzupełnienie będzie możliwe przy przejściu z poziomu panelu administracyjnego do sekcji Ustawienia > Twoje pliki przy edycji pliku lub jego dodaniu.
Wskazówka
Jeśli posiadasz sklep wielojęzyczny, to we wszystkich tych wymienionych powyżej obszarach, znajdują się również obrazki dla danego języka. Pamiętaj, alby atrybut ALT zdefiniować dla każdego z nich!
 

Atrybut title - obowiązkowy czy nie?

Atrybut title jest przydatny do przekazywania dodatkowych informacji o elementach HTML, widocznych jako podpowiedź po najechaniu kursorem. Może być używany w ikonach bez podpisu, formularzach czy linkach, aby dostarczyć kontekst. Nie jest jednak obowiązkowy według WCAG, ponieważ czytniki ekranu często go ignorują, a osoby nawigujące klawiaturą mogą nie mieć do niego dostępu.  

Zalecenia dla udostępnianych treści - ogranicz migające elementy

Jako właściciel sklepu musisz sam zadbać o to, jakie treści umieszczasz na swojej stronie. Migające elementy, takie jak animacje czy reklamy, mogą wywoływać problemy u osób z padaczką fotogenną. Według kryteriów WCAG 2.1 zalecane jest ograniczenie migających treści do maksymalnie trzech błysków na sekundę lub ich całkowite usunięcie. Jako właściciel sklepu musisz dbać o statyczne elementy lub spokojne animacje. Również treści zawarte w różnego typu prospektach, gazetkach czy folderach informacyjnych w formie dokumentów powinny być zgodne z wytycznymi WCAG.

1.Obrazki i bannery

W szablonach graficznych takie elementy mogą pojawić się na przykład w bannerach i elementach tekstowych ze zdjęciem. Upewnij się, że grafiki tam zamieszczone są odpowiednie, czyli bez intensywnych animacji i nieodpowiednich kolorów. Szczególną uwagę zwróć na pliki w formacie GIF. Sprawdź, w jaki sposób możesz skonfigurować bannery oraz elementy tekstowe ze zdjęciem.  

2.Materiały audio i viedo

Aby sklep internetowy był w pełni dostępny zgodnie z WCAG, właściciele muszą zadbać o dodanie audiodeskrypcji i transkrypcji do materiałów multimedialnych (filmy, nagrania dźwiękowe). Choć oba rozwiązania służą poprawie dostępności, mają różne funkcje.
  • Audiodeskrypcja to dodatkowy opis dźwiękowy, który przedstawia istotne elementy wizualne nagrania osobom niewidzącym,
  • Transkrypcja to zapis tekstowy całej treści audio, umożliwiający odbiór treści osobom niesłyszącym, może to być w formie napisów dla audiodeskrypcji.
Dodanie tych elementów leży po stronie właścicieli sklepów. Do filmów, które udostępniasz, dodaj zatem widoczne napisy, a także dobrej jakości opis dźwiękowy. Ich brak może wykluczyć część użytkowników i wpłynąć na komfort korzystania ze strony. Dobre praktyki dostępności to nie tylko wymóg, ale też inwestycja w lepsze doświadczenie klientów.

Dostosuj komunikację mailową - aktualizacja lub zmiana treści e-mail

Dostosowanie treści e-mail zgodnie z wytycznymi WCAG to kluczowy krok w budowaniu dostępnej i klarownej komunikacji. W tej części artykułu przedstawiamy rozwiązania zarówno dla domyślnych wiadomości, jak i tych modyfikowanych, aby zapewnić ich lepszą czytelność i dostępność dla wszystkich odbiorców.

1.Treści mailowe są domyślne, nie zostały sformatowane

Jeśli treści nie zostały przez Ciebie zmienione i stanowią domyślne treści, które są dostępne w Comarch e-Sklep, to wystarczy, że zaktualizujesz je. Aby to zrobić, należy przejść w panelu administracyjnym do zakładki Ustawienia > Treści formalne, a następnie wybrać „Wysyłka e-mail i SMS”. Zakładka ta zawiera treści wiadomości wysyłane do klientów po wykonaniu określonych akcji, np. po zakupie czy rejestracji. W Comarch e-Sklep istnieje możliwość przywrócenia standardowej treści pojedynczej wiadomości e-mail lub wszystkich jednocześnie. Opcja ta stanowi również aktualizację treści e-mail. "Przywróć domyślną treść" dostępna jest w panelu administracyjnym e-Sklepu w menu Ustawienia/ Treści formalne/ Wysyłka e-mail i SMS na szczegółach każdej wiadomości, po kliknięciu w przycisk Więcej:  

2.Treści mailowe są modyfikowane, zostały przeze mnie zmienione

Jeśli posiadasz własne, dostosowane do Twojej komunikacji marketingowej treści e-mail, to sprawdź, czy są one odpowiednio napisane i sformatowane. Zastosuj się do poniższych wskazówek. W jaki sposób poprawnie napisać i sformatować treści?
  • Struktura Stosuj nagłówki (<h1>, <h2> itd.) dla przejrzystości. Używaj krótkich akapitów i list punktowanych.
  • Tekst i formatowanie Zapewnij wysoki kontrast między tekstem a tłem. Wybieraj czytelne czcionki (sans-serif, min. 12-14 px). Nie używaj wyłącznie koloru do przekazywania informacji.
  • Obrazy i multimedia Dodawaj tekst alternatywny (alt text) do obrazów. Unikaj tekstu osadzonego w grafikach, jeśli można go przesłać jako tekst.
  • Linki i przyciski Stosuj opisowe teksty linków zamiast „Kliknij tutaj”. Upewnij się, że są łatwe do kliknięcia na ekranach dotykowych.
  • Język i czytelność Używaj prostego i zrozumiałego języka. Unikaj skrótów i branżowego żargonu, jeśli odbiorca może ich nie znać.
  • Testowanie Sprawdź wiadomość na różnych urządzeniach i czytnikach ekranu. Zweryfikuj zgodność ze standardami WCAG.
Szczegółowe informacje na temat edycji treści e-mail znajdują się a artykule: E-mail i SMS  

3.Załączniki (m.in. instrukcje, katalogi)

Należy zadbać o to, aby wszystkie udostępniane w sklepie załączniki, takie jak instrukcje czy katalogi, były zgodne z wytycznymi WCAG, zapewniając tym samym ich pełną dostępność dla wszystkich użytkowników.  

Dodatkowe narzędzia pomocne przy wdrażaniu WCAG

Przystosowanie e-Sklepu do wymogów nie musi wiązać się z dużymi wydatkami na zmiany w kodzie. Kluczowe aspekty dostępności można wdrożyć samodzielnie, wykorzystując opcje dostępne w systemach Comarch ERP, a także Kreatorze Wyglądu czy Panelu Administracyjnym. Warto pamiętać, że poprawa dostępności to nie tylko obowiązek wynikający z przepisów, ale także realna szansa na zwiększenie grona klientów oraz podniesienie komfortu ich zakupów. Istnieje kilka ogólnodostępnych narzędzi, które pomogą Ci dostosować sklep do wymogów. Obszerna lista narzędzi do oceny dostępności stron internetowych, zgodnych z WCAG znajduje się na stronie: Web Accessibility Evaluation Tools List .  

Podsumowanie

Dostępność cyfrowa to nie jednorazowe przedsięwzięcie, lecz ciągły rozwój i udoskonalanie. Regularne sprawdzanie funkcjonalności, optymalizacja elementów wizualnych i dostosowywanie sposobów interakcji pozwalają na stałe podnoszenie jakości doświadczeń użytkowników. Dążenie do pełnej zgodności ze standardami WCAG 2.1/2.2 oraz wymogami Europejskiego Aktu o Dostępności (EAA) nie tylko ułatwia nawigację wszystkim odwiedzającym, ale także buduje pozytywny wizerunek i wzmacnia pozycję na rynku. Wdrażanie kolejnych usprawnień to inwestycja w przyszłość, która przynosi korzyści zarówno właścicielom, jak i ich klientom.

Szablon Opal

Szablon Opal

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.
      Główne wyróżniki szablonu:
  1. Nawigacja w szablonie
    • Podstawowe akcje w nagłówku (logowanie, wyszukiwanie, koszyk, profil klienta) w formie ikon.
    • Duży banner na stronie głównej w formie kafelków ułatwia prezentację aktualnych promocji lub konkretnych kategorii towarowych.
    • Lista produktów na stronie głównej, która idealnie zaprezentuje nowości, promocje, towary rekomendowane itp.
    • Graficzne menu producentów w formie slidera.
    • Płytkie dwupoziomowe menu w połączeniu z filtrami na liście produktów daje możliwość wygodnej i szybkiej nawigacji.
    • Graficzne menu kategorii na stronie „produkty”
    • Rozwijalna stopka.
  2. Towary
    • Produkty na liście danej kategorii zaprezentowane na dużych przejrzystych kafelkach.
    • Drugie zdjęcie towaru oraz jego warianty (np. kolor, rozmiar) wyświetlane po najechaniu kursorem na towar.
    • Warianty towaru wyświetlane są w takiej kolejności w jakiej zostały dodane w systemie ERP.
    • Bezpośrednie przejście na szczegóły produktu w wybranym wariancie.
    • Prezentacja stanów magazynowych w formie komunikatu „zostały ostatnie sztuki”.
    • Atrybuty grupujące wyświetlane jako kafelki. Dla wariantów kolorystycznych przedstawione w formie miniaturek zdjęć.
    • Zestawy na towarze w formie slidera.
    • Sekcja „polecane” prezentująca zamienniki.
    • Funkcja „powiadom o dostępności”
  3. Zamówienie
    • Wybór akcji podczas dodawania do koszyka.
    • Możliwość rejestracji na zamówieniu.
    • Macierz dostaw w formie kafelków.
    • Wybór paczkomatów i punktów odbioru osobistego z mapy.
    • Reklamacje i zwroty do zrealizowanych zamówień dostępne w profilu klienta,
    • Ponowienie nieudanej płatności dostępne zarówno dla klientów zarejestrowanych jak i jednorazowych,
    • Widok szczegółów złożonego zamówienia dla niezalogowanych klientów.
W szablonie graficznym Opal istnieje możliwość wyłączenia ukrywania stopki. W zależności od preferencji może być domyślnie zwinięta lub rozwinięta. Można to zmienić w ustawieniach szablonu w menu Wygląd sklepu/Ustawienia. W Profilu Klienta na liście zamówień widnieje informacja o statusach dostawy i płatności poszczególnych dokumentów. Wytyczne dla szablonu Opal znajdziesz w artykule Konfiguracja fantomów dla szablonu Opal Więcej o darmowych szablonach przeczytasz w artykule Gotowe szablony Comarch

Szablon Agat

Szablon Agat

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.
    Główne wyróżniki szablonu:
  1. Nawigacja w szablonie
    • Podstawowe akcje w nagłówku (logowanie, rejestracja, koszyk, profil klienta) w formie opisanych ikon,
    • Lista produktów na stronie głównej, która idealnie zaprezentuje nowości, promocje, towary rekomendowane itp.,
    • Duży banner w formie karuzeli z widocznymi brzegami zdjęć sąsiednich,
    • Głębokie wielopoziomowe menu na liście produktów oraz 3 poziomowe menu główne,
    • Graficzne menu kategorii na stronie „produkty”,
    • Duże zdjęcia kategorii na liście produktów,
    • Ostatnio przeglądane towary na stronie głównej.
  2. Towary
    • Bardzo duże zdjęcia na szczegółach produktu idealnie prezentujące asortyment,
    • Prezentacja stanów magazynowych w formie liczbowej i graficznej,
    • Atrybuty grupujące wyświetlane jako kafelki,
    • Zestawy na towarze w formie slidera,
    • Sekcje prezentujące towary podobne (zamienniki), towary typu akcesoria i towary polecane,
    • Mechanizm w postaci lupy, pozwalający na powiększanie zdjęcia na szczegółach towaru.
  3. Zamówienie
    • Wybór akcji podczas dodawania do koszyka,
    • Możliwość rejestracji na zamówieniu,
    • Macierz dostaw w formie kafelków w dwóch kolumnach (dostawa i płatność),
    • Wybór paczkomatów i punktów odbioru osobistego z mapy,
    • Ponowienie nieudanej płatności dostępne zarówno dla klientów zarejestrowanych jak i jednorazowych,
    • Widok szczegółów złożonego zamówienia dla niezalogowanych klientów.
W przypadku dużej ilości kategorii będzie wyświetlana druga linia menu. W Profilu Klienta na liście zamówień widnieje informacja o statusach dostawy i płatności poszczególnych dokumentów. Więcej o darmowych szablonach przeczytasz w artykule Gotowe szablony Comarch

Szablon Bursztyn

Szablon Bursztyn

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.
    Główne wyróżniki szablonu:
  1. Nawigacja w szablonie
    • Duży banner na stronie głównej w formie przewijalnego slidera ułatwia prezentację aktualnych nowości.
    • Dodatkowe bannery na dole strony idealne do zaprezentowania promocji w sklepie.
    • Lista produktów na stronie głównej, która zaprezentuje nowości, promocje, towary rekomendowane itp.
    • Graficzne menu producentów w formie slidera.
    • Towary polecane na stronie głównej.
    • Dwa rodzaje menu do wyboru w połączeniu z filtrami na liście produktów daje możliwość wygodnej i szybkiej nawigacji:
      • Dwupoziomowe menu poziome.
      • Wielopoziomowe menu pionowe z opcją prezentacji zdjęć kategorii.
  2. Towary
    • Lookbook – prezentacja zdjęć kolekcji lub katalogu z naniesionymi odnośnikami do towarów dostępnych w sklepie.
    • Produkty na liście danej kategorii w formie kafelków z możliwością bezpośredniego dodania do koszyka.
    • Atrybuty grupujące wyświetlane jako listy rozwijalne.
    • Zestawy promocyjne prezentowane na karcie towaru
    • Sekcja „polecane” prezentująca zamienniki.
    • Statusy dostępności na szczegółach produktu.
    • Funkcja „powiadom o dostępności”.
    • Funkcja porównywania produktów. Stany magazynowe w oknie Porównaj wyświetlają się w formie opisowej oraz obrazkowej.
  3. Zamówienie
    • Wybór akcji podczas dodawania do koszyka.
    • Macierz dostaw w formie czytelnej listy sposobów dostaw z podpiętymi sposobami płatności,
    • Wybór paczkomatów Inpost,
    • Reklamacje i zwroty do zrealizowanych zamówień dostępne w profilu klienta,
    • Ponowienie nieudanej płatności dostępne zarówno dla klientów zarejestrowanych jak i jednorazowych,
    • Widok szczegółów złożonego zamówienia dla niezalogowanych klientów.
W Profilu Klienta na liście zamówień widnieje informacja o statusach dostawy i płatności poszczególnych dokumentów. Więcej o darmowych szablonach przeczytasz w artykule Gotowe szablony Comarch.

Kreator sklepu hurtowego (B2B)

Obsługa sekcji Lista towarów w szablonie Szafir

Od wersji 2021.5 został dodany nowy widok listy towarów w szablonie Szafir. W panelu administracyjnym na zakładce Wygląd sklepu/ Ustawienia/ Ustawienia szablonu/ Lista towarów znajdują się nowe oraz dotychczasowe parametry związane z wyświetlaniem listy produktów, prezentacji filtrów, kategorii oraz możliwe jest wybranie menu graficznego. Dzięki zebraniu wszystkich ustawień listy towarów w jednym miejscu administrator ma do nich szybki dostęp oraz może jeszcze bardziej zindywidualizować wygląd swojego sklepu, a tym samym dostosować go do swoich potrzeb czy trendów panujących w danej branży.

Na zakładce Lista towarów można zdecydować np.: o ilości wyświetlanych filtrów lub miejscu na stronie, w którym mają się znajdować. Administrator sklepu może również zmienić formę graficzną prezentowania nazw, opisu i zdjęć kategorii oraz aktywować nowe graficzne menu nawigacji dla podgrup. Aby wprowadzone zmiany były widoczne w szablonie należy je zapisać i opublikować.

1. Filtry

  • Użytkownik może zdecydować, czy filtry mają wyświetlać się po lewej stronie pod menu kategorii, czy u góry nad listą towarów.
  • Użytkownik może określić, czy wyświetlana sekcja filtry domyślnie będzie domyślnie zwinięta, czy rozwinięta.
  • Użytkownik może określić liczbę wyświetlanych wartości w filtrze: 3, 5 lub 8. 
  • Użytkownik może wskazać czy filtrowanie ma być przeprowadzone po użyciu przycisku Zastosuj, czy dynamicznie po wybraniu właściwych checkboxów,
Przyklad
W ramach przykładu w panelu administracyjnym zostały zaznaczone parametry:
  • Liczba wyświetlanych wartości: 5,
  • Widok panelu filtra: U góry nad listą towarów,
  • Filtruj po użyciu przycisku „Zastosuj”: Tak,
  • Sekcja domyślnie: Rozwinięta.
 
Wskazówka
W przypadku zaznaczenia parametru Sekcja domyślnie - Zwinięta, aby otworzyć obszar filtry należy kliknąć ikonę filtra.

2. Kategoria

  • Obszar kategoria daje możliwość wyboru czy: nazwa, grafika i opis kategorii, będą znajdowały się nad listą towarów, czy pod listą towarów.
  • Forma graficzna prezentowania: nazwy, opisu i zdjęcia kategorii, może być ustawiona jako zdjęcie w tle i zdjęcie po lewej.
  • Sekcja może być domyślnie zwinięta lub rozwinięta.
Przyklad
W ramach przykładu w panelu administracyjnym zostały zaznaczone parametry:
  • Nazwa, grafika i opis Kategorii: Nad listą towarów.
  • Forma graficzna prezentowania nazwy, opisu i zdjęcia kategorii: Zdjęcie w tle.
  • Sekcja domyślnie: Rozwinięta.
W przypadku, gdy użytkownik ustawi np.:
  • Nazwa, grafika i opis kategorii: Pod listą towarów.
  • Forma graficzna prezentowania nazwy, opisu i zdjęcia kategorii: Zdjęcie po lewej.
  • Sekcja domyślnie: Rozwinięta.
 
  • Nazwa, grafika oraz opis ustawi się pod listą towarów.
  • Zdjęcie zostanie wyświetlone po lewej stronie, natomiast opis obok.
Uwaga
W przypadku, gdy Użytkownik ustawi Sekcja domyślnie - Zwinięta, klient zobaczy grafikę i opis dopiero po kliknięciu w strzałkę skierowaną w dół.

3. Domyślny widok listy produktów

Użytkownik ma możliwość ustawienia rodzaju wyświetlania się listy towarów na komputerze/laptopie i na urządzeniu mobilnym.
  • Desktop: szybkie zakupy, lista lub kafelki.
  • Mobile: szybkie zakupy lub lista.
Przyklad
  • Desktop – kafelki spowoduje, że Klient wchodząc do sklepu zobaczy towary w formie kafelków.
  • Poniżej przedstawiono różnicę pomiędzy widokami mobilnymi – szybkie zakupy oraz lista. Zrzut ekranu pierwszy po lewej przedstawia widok szybkie zakupy.

4. Filtr typu kolor

Użytkownik ma możliwość wyświetlania filtra kolor w formie graficznej.
Uwaga
Atrybut kolor wyświetli się wtedy i tylko wtedy gdy:
  • Użytkownik doda atrybut typu lista o wartości kolor na wybraną grupę towarową bez podanej wartości.
  • Użytkownik doda atrybut kolor na wybranym towarze i poda ustali wartość atrybutu.
Pełny opis konfiguracji tej funkcji w szablonie Szafir został przedstawiony w osobnym artykule.

5. Krótki opis

Użytkownik ma możliwość dodania krótkiego opisu na widoku typu lista domyślnie rozwinięty - oznacza to, że skrócony opis (dodany w systemie Comarch ERP Optima), będzie wyświetlany na liście towarów, gdy użytkownik zaznaczy parametry:
  • Krótki opis Tak
  • Domyślny widok listy produktów:
    • Desktop – Lista,
    • Mobile – Lista (W przypadku urządzeń mobilnych).
Wskazówka
Krótki opis należy uzupełnić w Comarch ERP Optima: Ogólne/ Cennik/ Szczegóły wybranego towaru/  Zakładka e-Handel, Sekcja języki / Dodaj (Plusik) lub Otwórz (Lupka)/ Pozycjonowanie/ Opis skrócony:

6. Towary wielowariantowe

Użytkownik ma możliwość wyboru towarów wielowariantowych (fantomów) bezpośrednio z listy towarów. Oznacza to, że po kliknięciu w "Wybierz wariant towaru" użytkownik nie zostanie przełączony na szczegóły towaru - zamiast tego wyskoczy dodatkowe okno z możliwością wyboru wariantu towaru.

7. Graficzne menu

Użytkownik ma możliwość ustawienia graficznego menu, czyli wyświetlania zdjęć kategorii i podkategorii. Jeżeli główna kategoria ma swoje podkategorie, menu graficzne zostanie wyświetlone w następujący sposób. Dodawanie graficznego menu dostępne jest w Kreatorze wyglądu, poprzez dodanie do szablonu parametru subcategories-1 w widoku Listy towarów.

Jak wyeksportować i zaimportować swój szablon w e-Sklepie?

Comarch e-Sklep daje możliwość dostosowania wyglądu do preferencji sprzedawcy oraz potrzeb Klientów. Jeśli utworzyłeś już swój autorski projekt, to masz możliwość jego zapisania. Plik będzie potrzebny przy chęci modyfikacji wyglądu. Zapisana wersja szablonu może również stanowić kopię bezpieczeństwa. Warto jest więc wyeksportować szablon do pliku.

Jak wyeksportować swój szablon z Comarch e-Sklep?

Krok 1. W panelu administracyjnym przejdź do sekcji Wygląd Sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane/ zakładka Eksport szablonu.

Krok 2. W tym miejscu możesz opcjonalnie (przed eksportem) określić autora szablonu, podać adres e-mail, telefon oraz adres WWW swojego e-Sklepu.

Krok 3. Jeżeli chcesz wyeksportować szablon do pliku użyj przycisku Eksportuj szablon.

Gotowe! Szablon został wyeksportowany do pliku na Twoim urządzeniu.

Wskazówka
Z tego miejsca możesz także wyeksportować posiadane w e-Sklepie bannery, korzystając z przycisku Eksportuj bannery.

Jak wgrać własny szablon do Comarch e-Sklep?

Własny szablon. Jak go wgrać?

Po skomponowaniu swojego własnego szablonu możesz wgrać go do e-Sklepu. Postępuj zgodnie z poniższymi krokami.

Krok 1. W panelu administracyjnym przejdź do sekcji Wygląd Sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane/ zakładka Import szablonu.

Krok 2. Określ, czy wgrywany szablon ma podmienić istniejące bannery. Gdy parametr zostanie zaznaczony, wówczas wszystkie bannery zapisane na danym slocie zostaną usunięte i zastąpione bannerami z importowanego szablonu.

Krok 3. Wybierz plik XML swojego szablonu i naciśnij Importuj szablon.

Uwaga
Import szablonu jest operacją nieodwracalną i spowoduje nadpisanie dotychczasowego szablonu. W przypadku, gdy szablon był modyfikowany (dokonywano zmian w kodzie HTML) jego aktualizacja spowoduje, iż zmiany nie zostaną przeniesione. Warto wykonać eksport posiadanego szablonu do pliku w celu zapisania oraz posiadania wglądu to wprowadzanych modyfikacji. Jeżeli istnieje taka konieczność należy ponownie dokonać samodzielnej edycji szablonu

Wskazówka
W zakładce Szablony możesz określić, czy wgrywany szablon ma być domyślny i aktywny w e-Sklepie.

Krok 4. Teraz możesz podejrzeć zmiany, jakie zaszły w wyglądzie Twojego e-Sklepu. W tym celu możesz podejrzeć zmiany w czasie rzeczywistym lub przejść w tryb incognito. Pamiętaj, że wszelkie zmiany zostaną opublikowane po pełnej synchronizacji, która wciągu 10 minut zgodnie z wyświetlanym komunikatem.

Gotowe! Twój szablon został zaimportowany do e-Sklepu.

Planowane dostawy towarów w e-Sklepie

Wstęp

Comarch e-Sklep umożliwia klientowi sprawdzenie dostępności towaru w sklepie. Dzięki funkcji Sprawdź dostępność towaru w sklepie, osoby odwiedzające Twój e-Sklep będą mogły sprawdzić z poziomu strony internetowej, czy dany towar został już zamówiony u dostawcy.

Zastosowanie

Funkcja służy do sprawdzania nie tylko, czy towar został zamówiony u dostawcy, ale również udostępnia informacje o zamówionej ilości oraz planowanej dostawie. Po wejściu na kartę produktu klient ma możliwość kliknięcia w napis Sprawdź dostawy. W tym momencie sklep uruchomi Comarch e-Sklep Sync, aby ten pobrał informacje z dokumentu Zamówienia Zakup (ZZ) o planowanych dostawach z systemu ERP XL. Opcja jest dostępna na stronie szczegółów towaru na wszystkich towarach w sklepie - zarówno na tych, które można kupić jak i na takich, gdzie nie ma opcji dodawania do koszyka (np. zapytaj o cenę, czy powiadom o dostępności).

Kto może używać tej opcji?

Aby skorzystać ze wspomnianej funkcjonalności należy posiadać:
  • e-Sklep w wersji B2B,
  • Działającą usługę Comarch e-Sklep Sync,
  • System ERP XL,
  • Zainstalowany szablon Szafir.

Konfiguracja

  1. W panelu administracyjnym Wygląd sklepu/ Ustawienia/ Ustawienia szablonu/ Ogólne należy znaleźć Dostawy towarów i wybrać opcję Tak.
  2. Po zapisaniu i opublikowaniu zmian klienci po przejściu do szczegółów towaru będą mieli możliwość sprawdzenia planowanych dostaw.

Skąd pobierane są informacje o planowanych dostawach?

Informację wyświetlane na szczegółach towaru są pobierane z listy zamówień zakupu z systemu Comarch ERP XL. W zależności od statusu dokumentu ZZ klient widzi inny status na oknie z informacjami. Status dokumentu ZZ:
  • Potwierdzone – Dostawa potwierdzona,
  • Niepotwierdzone – Dostawa niepotwierdzona,
  • Anulowane potwierdzenie – Brak informacji,
  • Zamknięte potwierdzone – Brak informacji.
Czas planowanej daty dostawy brany jest z dokumentu ZZ z pola Data realizacji. Datę na dokumencie można modyfikować po potwierdzeniu dostawy. Zmiany dokonują się w e-Sklepie w momencie ich zapisania.

Towary wielowartościowe

Dla towarów wielowartościowych (fantomów i towarów z cechami) sprawdzanie dostępności (oraz wyświetlanie planowanych dostaw) pokazuje się według wybranej cechy.
Wskazówka
W szablonie Szafir wybraną cechą jest ta, która w momencie wywołania funkcji sprawdzenia dostępności w salonie jest oznaczona widoczną granatową ramką.

Dodatkowe informacje

Szczegółowe informacje dotyczące działania Comarch e-Sklep Sync znajdziesz w artykule: Comarch e-Sklep Sync.

Wyróżnienie przycisku paska nawigacji w szablonie Szafir

Wstęp

W e-Sklepie jako sprzedawca możesz chcieć zwrócić szczególną uwagę swoich klientów na konkretny element strony. Takim elementem może być wyróżniony kafelek paska nawigacji, który będzie informował na przykład o trwającej promocji czy wyprzedaży. Dzięki wyróżnieniu i przekierowaniu klient szybciej trafi na stronę z interesującym go asortymentem.

Konfiguracja

W szablonie Szafir możliwe jest ustawienie wyróżnienia kolor tła oraz czcionki wyróżnionego elementu w pasku nawigacji. Aby to zrobić zaloguj się do panelu administracyjnego, a następnie do obszaru Wygląd sklepu/ Ustawienia. W zakładce Ogólne odnajdź sekcję „Kolor tła wyróżnionego elementu w pasku nawigacji”. Pod nią znajdują się również pozycje odpowiadające za zmianę koloru czcionki przed, jak i po najechaniu na kafelek kursorem. Wybierz kolory, którymi chcesz wyróżnić element w pasku nawigacji. Następnie zapisz zmiany. Teraz przejdź do zakładki Strona główna. Zaznacz te elementy, które mają zostać wyróżnione. Wystarczy, że wybierzesz odpowiedni checkbox pod Wyróżnij. W efekcie klienci odwiedzający stronę Twojego sklepu zobaczą wyróżnione elementy. Mogą się one różnić różnić się w zależności od tego, czy klient jest zalogowany czy też nie.  

Tabela rozmiarów w szablonie Szafir

Wstęp

W sklepach internetowych, szczególnie tych z odzieżą, bardzo często widoczna jest tabela rozmiarów. Pozwala na prezentację szczegółowych informacji na temat asortymentu w sklepie. Odnośnik do tabeli umieszczony jest najczęściej na szczegółach towaru. Warto pamiętać, że tabela rozmiarów jest funkcją, którą możesz dostosować do swojej branży i zaprezentować w niej dowolne dane. W takiej formie prezentowane są m.in.: wymiary produktów, cechy charakterystyczne, a także zalecenia względem użytkowania. Aby móc skorzystać z przygotowanego przez nas mechanizmu tabeli rozmiarów w swoim e-Sklepie należy posiadać:
  • aktualną wersję szablonu Szafir (min. 2023.0.2),
  • oraz aktualną wersję e-Sklepu (min. 2023.0).
Postępuj zgodnie z poniższą instrukcją, aby poprawnie skonfigurować tabelę.

Aktywacja tabeli rozmiarów w szablonie Szafir

Tabela rozmiarów może być prezentowana na 3 różne sposoby, w zależności od oczekiwanego efektu:
  • jeżeli posiadasz wspólną tabelę dla całego asortymentu, ilość informacji jest niewielka i chcesz pokazać tabelę w formie popup’a, skorzystaj ze sposobu konfiguracji poprzez sekcję bannerową o nazwie SizeTable.
  • jeżeli posiadasz dużą ilość tabel, ponieważ posiadasz zróżnicowany asortyment skorzystaj z prezentacji poprzez osobną Stronę o nazwie Tabela rozmiarów,
  • jeżeli chcesz prezentować tabelę rozmiarów indywidualnie dla każdego towaru skorzystaj z konfiguracji tabeli, jako załącznika w formacie PDF – udostępnionego w systemie Comarch ERP.
Dodatkowo możesz wybrać, dla których towarów ma się wyświetlać tabela rozmiarowa:
  • dla wszystkich towarów,
  • tylko dla towarów z wariantami.
Aby skonfigurować tabelę z poziomu panelu administracyjnego, postępuj zgodnie z instrukcją: Krok 1. Zaloguj się do panelu administracyjnego, a następnie przejdź do sekcji Wygląd sklepu/ Ustawienia. Krok 2. W zakładce Ogólne odszukaj sekcję o nazwie Tabela rozmiarów. Krok 3. Spośród dostępnych parametrów wybierz, czy tabela rozmiarów ma się pojawiać na towarach z wariantami, czy na wszystkich Krok 4. Wybierz sposób, na podstawie jakiej konfiguracji będzie prezentowana tabela rozmiarów - banneru o nazwie SizeTable, dedykowanej stronie o nazwie Tabela rozmiarów, czy załącznika PDF.

Konfiguracja tabeli rozmiarów poprzez banner o nazwie SizeTable

Aby dodać tabelę rozmiaru poprzez banner o nazwie SizeTable postępuj zgodnie z instrukcją: Krok 1. W panelu administracyjnym przejdź do sekcji Wygląd sklepu/ Ustawienia/ zakładka Ogólne.  Pod parametrem: Tabela rozmiarów prezentowana na podstawie zaznacz SizeTable. Krok 2. Kolejno przejdź do zakładki: Wygląd sklepu/ Ustawienia, a następnie na zakładkę Bannery. Krok 3. Przejdź do szczegółów sekcji bannerowej o nazwie SizeTable, a następnie dodaj odpowiednie obrazki. Krok 4. Zapisz wprowadzone zmiany.   Efekt: Po zapisaniu i opublikowaniu zmian Klient przeglądający stronę przechodząc do tabeli rozmiarów ujrzy dodane przez Ciebie obrazki w następujący sposób:

Konfiguracja tabeli rozmiarów w formie dedykowanej Strony

Możliwe jest także dodanie tabeli rozmiarów wykorzystując gotowe Strony w panelu administracyjnym, gdzie przygotowaliśmy dedykowaną stronę oraz treść o nazwie Tabela Rozmiarów. Postępuj zgodnie z instrukcją, aby skonfigurować tabelę poprzez gotową stronę: Krok 1. W panelu administracyjnym przejdź do sekcji Wygląd sklepu/ Ustawienia/ zakładka Ogólne.  Pod parametrem: Tabela rozmiarów prezentowana na podstawie zaznacz Strony. Krok 2. Kolejno przejdź do sekcji: Ustawienia/ Treści/ zakładka Regulamin i inne. Krok 3. Z listy dostępnych treści przejdź do edycji treści o nazwie Tabela rozmiarów.  Jest to przygotowana przez nas propozycja dotycząca prezentacji tabeli rozmiarów. Treść możesz dowolnie edytować i dostosować ją do swoich oczekiwań.
Wskazówka
Pamiętaj, aby wszelkie wprowadzone zmiany zapisać oraz opublikować.
Efekt: Po naciśnięciu odnośnika do tabeli rozmiarów Klient zostanie przekierowany na utworzoną wcześniej stronę w e-Sklepie, gdzie widoczna będzie wcześniej wpisana przez Ciebie treść.

Konfiguracja tabeli w systemie Comarch ERP - plik PDF

Tabelę rozmiarów możesz także skonfigurować umieszczając plik PDF w formie załącznika na towarze, w swoim systemie Comarch ERP. Przykład konfiguracji w systemie Comarch ERP Optima: Krok 1. W panelu administracyjnym przejdź do sekcji Wygląd sklepu/ Ustawienia/ zakładka Ogólne.  Pod parametrem: Tabela rozmiarów prezentowana na podstawie zaznacz plik PDF. Krok 2. W systemie ERP Optima przejdź do szczegółów wybranego towaru. Krok 3. W zakładce Atrybuty dodaj załącznik w postacie pliku PDF, gdzie będzie zaprezentowana tabela rozmiarów.
Uwaga
Załącznik musi znajdować się na pierwszej pozycji.
Krok 4. Upewnij się, że załącznik jest udostępniany do Comarch e-Sklep. Krok 5. Zapisz zmiany i wykonaj synchronizację danych. Efekt: Klient po kliknięciu w przycisk tabela rozmiarów zobaczy przygotowany plik w osobnej karcie przeglądarki.

Rozbudowana stopka w szablonach Topaz i Szafir - jak ją skonfigurować?

Wstęp

Stopka to jeden z podstawowych elementów każdego sklepu internetowego. Oprócz wymaganych informacji, które muszą się w niej znaleźć, może zawierać zbiór innych odniesień do konkretnych sekcji w Twoim e-Sklepie, do Twojego bloga lub profili w social mediach. Odnośniki mogą pozytywnie wpływać na wizerunek Twojego sklepu, przyczyniając się do wsparcia sprzedaży i generując większy ruch na stronie. W Kreatorze wyglądu obok standardowych widoków znajduje się dodatkowy, który jest bardziej rozbudowany. W przypadku szablonu Topaz jest to trzeci widok (footer-3), zaś w przypadku Szafira - drugi widok (footer-2). Dzięki modyfikacji obszaru możesz jeszcze bardziej spersonalizować swój sklep poprzez uzupełnienie stopki w więcej przydatnych informacji.

Konfiguracja rozbudowanej stopki

Jak przystąpić do edycji stopki?

Po zaimportowaniu z Kreatora wyglądu stopka będzie wyświetlać się w ograniczonym zakresie. Niezmiennie jej edycji dokonasz z perspektywy zakładek: Wygląd Sklepu/Ustawienia a następnie sekcji Nagłówek/Stopka. To tutaj zdecydujesz o ilości grup stron, konkretnych elementach w ich obrębie a następnie o kolejności w jakiej będą prezentować się w e-Sklepie. Również z tego poziomu dodasz odwołania do Twoich profili na portalach społecznościowych oraz ustawisz favicon dla swojego sklepu internetowego.

Więcej możliwości edycji stopki

Rozbudowana stopka w szablonie Topaz oraz Szafir umożliwia dodanie większej ilości grup stron niż dotychczas. Dzięki temu z łatwością zamieścisz w niej wszystko czego potrzebujesz. Dodatkowo sekcję uzupełniono o grafiki partnerów logistycznych oraz obsługiwanych operatorów płatności.

Przykładowy wygląd rozbudowanej stopki w szablonie Topaz

Przykładowy wygląd rozbudowanej stopki w szablonie Szafir

Jak skonfigurować poszczególne elementy?

    • Elementy 1-5: dodawanie kolejnych grup stron oraz zmiana ich kolejności dokonywana jest poprzez sekcję Nagłówek/Stopka w Ustawieniach w obrębie zakładki Wygląd Sklepu. W obrębie danej grupy możesz dodawać konkretne strony poprzez kliknięcie przycisku Dodaj stronę ze sklepu.
Wskazówka
Zmiany kolejności poszczególnych grup odnośników lub zmiany danych odnośników w obrębie danej grupy dokonuje się metodą Przeciągnij i upuść.
    • Element 6: odpowiada za wyświetlanie następujących informacji: e-mail, numer telefonu, telefon2 (jeśli nie istnieje, to zastępowany jest przez telefon komórkowy) fax lub skype. W celu edycji danych kontaktowych należy przejść w panelu e-Sklepu do zakładki Ustawienia/Ustawienia sklepu. Informacje o adresie e-mail pobierane są automatycznie z zakładki Ogólne z sekcji Konto e-mail sklepu. Aby dodać lub zmodyfikować numer telefonu konieczne jest wybranie zakładki Dane sprzedawcy, następnie Infolinia i zweryfikowanie pola Telefon.
      Wskazówka
      W elemencie wyświetlone zostaną maksymalnie 3 informacje (e-mail, telefon i jedno z wybranych pól np. telefon2, telefon komórkowy lub fax.
    • Element 7: odwołania do portali społecznościowych dodajemy bez zmian. Więcej o tym znajdziesz tutaj.
    • Elementy 8-9: aby dodać informację o operatorach płatności oraz partnerach logistycznych należy wybrać zakładkę Wygląd Sklepu/Ustawienia/Bannery. Edycji dokonasz z perspektywy kafelków: Logistics Partners oraz Payment Operators poprzez dodanie właściwych grafik operatorów i partnerów. Aby zmienić nazwę „Operator płatności” i/lub „Partnerzy logistyczni” wybierz zamiast zakładki Bannery, zakładkę Tłumaczenia. Wyszukaj po parametrze „ID” LogisticsPartnersBannerTitle oraz PaymentOperatorsBannerTitle i zmodyfikuj pole „Tekst” według własnych preferencji. Zmiany zapisz i opublikuj. W przypadku chęci usunięcia któregoś z elementów, zaznacz go i naciśnij przycisk „Usuń”.
Wskazówka
Zalecane parametry grafik dla operatorów płatności i partnerów logistycznych: szerokość maksymalna 64 px, rozszerzenie PNG.
    • Element 10: dane dotyczące firmy pobierane są z zakładki Ustawienia/Ustawienia sklepu/Dane sprzedawcy/Dane identyfikacyjne, a także z obszaru: Ustawienia/ Ustawienia sklepu/ Informacja o działalności gospodarczej/ Numer KRS lub CEIDG, Organ rejestrujący oraz Ustawienia/ Ustawienia sklepu/ Adres pocztowy, gdzie uwzględnione zostaną wszystkie pola za wyjątkiem Szerokości i długości geograficznej.

Kreator wyglądu Szafir (B2B)

Wstęp

Jednym z kluczowych elementów, który przyczynia się do sukcesu w branży e-commerce jest oprawa wizualna sklepu. W dużym stopniu to właśnie ona wpływa na całościowe wrażenia użytkowników i ich proces zakupowy. Dzięki narzędziu - Kreator Szablonu Szafir (B2B), właściciele sklepów mają możliwość stworzyć swój własny, niepowtarzalny szablon, który będzie dostosowany do obsługi klientów detalicznych oraz typu firma - połączenie modeli B2B i B2C.

Zastosowanie

Kreator jest intuicyjnym narzędziem służącym do tworzenia szablonów. Jego obsługa nie wymaga umiejętności technicznych ani programowania. Wszystko odbywa się na poziomie strony internetowej, gdzie z gotowych elementów za pomocą metody "przeciągnij i upuść" możesz zaprojektować wygląd swojego sklepu. Dodatkowo, stworzony szablon jest dostosowany do wyświetlania na różnych urządzeniach (RWD).

W ramach kreatora zaprojektujesz wszystkie niezbędne obszary sklepu:
  • stronę główną,
  • listę towarów,
  • koszyk zakupowy.

Kto może używać tej opcji?

Aby móc używać tego narzędzia należy posiadać:

  • Comarch e-Sklep w wersji Enterprise lub B2B,
  • szerokość ekranu powyżej 1280 px, a zalecana to 1920 px,
  • oraz jedną z przeglądarek internetowych w aktualnej wersji.

Wskazówka
Kreator szablonu Szafir dostępny jedynie w wersji przeglądarkowej.

Zaczynamy!

Jak zaprojektować układ szablonu?

Aby rozpocząć tworzenie szablonu należy przejść na stronę Kreatora Wyglądu. Wyświetlony zostanie powitalny komunikat. Na początku należy określić, dla jakiego modelu sprzedaży projektujesz szablon dla swojego e-Sklepu. Do wyboru masz sprzedaż detaliczną lub hurtową. Sprzedaż hurtowa przeznaczona jest dla użytkowników, którzy chcą sprzedawać swoje produkty również klientom biznesowym w hurtowych ilościach. Wybierz odpowiedni model, a następnie naciśnij przycisk Rozpocznij pracę. Po jego kliknięciu będzie można stworzyć nowy szablon lub edytować jeden z kilku gotowych.

  W sytuacji gdy wcześniej tworzony był już projekt, widoczny będzie przycisk umożliwiający dokończenie szablonu lub rozpoczęcie nowego projektu. Opcja Nowy szablon umożliwia zbudowanie od początku nowego szablonu Szafir według Twojego indywidualnego pomysłu. Pozostałe trzy opcje do wyboru to gotowe wersje szablonu Szafir z możliwością ich edycji. Dzięki temu nie ma potrzeby tworzenia nowego szablonu od podstaw, ponieważ możesz wybrać jedną z gotowych propozycji, a następnie łatwo go edytować dostosowując do swoich potrzeb. Podwójne kliknięcie w wybrany kafelek pozwala przejść dalej. W trzech krótkich krokach zapoznasz się z podstawowymi funkcjami kreatora. Następnie możesz już przystąpić do dalszych modyfikacji szablonu lub od razu wygenerować przygotowaną wersję szablonu Szafir.

Od czego zacząć?

Wybierz wersję językową Kreatora i rozpocznij pracę nad swoim szablonem. Wersje do wyboru to: język polski, angielski, niemiecki oraz francuski. Język wybieramy klikając strzałkę obok flagi i nazwy języka w lewym dolnym rogu. Przy podglądzie prac na pełnym ekranie, wybrany język zostaje zachowany i szablon będzie wyświetlał się w wybranej wersji językowej.

Gdy już wybierzesz wersję językową dla swojego Kreatora warto zacząć od nazwania swojego przyszłego szablonu. Można to zrobić klikając Zmień i wpisując nazwę w lewym górnym rogu, zastępując nazwę "Szafir(2023)". Nazwa ta będzie widoczna po zaimportowaniu szablonu do panelu administracyjnego oraz po wyeksportowaniu szablonu do pliku XML wraz z datą i godziną jego wygenerowania.

Krok 1 - Strona główna

W tej sekcji należy zaprojektować wygląd strony głównej naszego Comarch e-Sklepu. Strona główna może składać się z następujących elementów:

  • Nagłówek,
  • Baner,
  • Widget,
  • Banner pop-up,
  • Polecane,
  • Newsletter,
  • Slider producentów,
  • Slider marek,
  • Aktualności
  • Banner infografika
  • Stopka.

Po rozwinięciu każdej z sekcji ukażą się dostępne elementy:

Metodą "Przeciągnij i upuść" przenosimy wybrane elementy na obszar po prawej stronie:

Postępuj analogicznie z pozostałymi elementami.

Nagłówek

Sekcja „Nagłówek” prezentuje jeden widok. Nagłówek dodatkowo można konfigurować w zakresie wielkości linków w Menu kategorii i prezentacji funkcji związanych ze składaniem Zapytań o wycenę.

Bannery

Sekcja "Bannery" pozwala wybrać jedną możliwości prezentacji banneru. Informacje dotyczące rekomendowanych rozmiarów obrazków w bannerach opisaliśmy w tym artykule.  

Widget

Sekcja "Widget" pozwala dodać jeden z dwóch dostępnych wariantów, które pozwolą zaprezentować następujące funkcje.
  • Widget-banner-1
    • Dodanie zdjęcia,
    • Dodanie tekstu nagłówka (tekst pionowy),
    • Dodanie tekstu przycisku (tooltip).
    • Dodanie linku do przycisku,
    • Dodanie tekstu..
  • Widget-banner-2
    • Dodanie zdjęcia,
    • Dodanie tekstu nagłówka (tekst pod zdjęciem),
    • Dodanie tekstu,
    • Dodanie linku do tekstu.

Banner pop-up

Sekcja "Banner pop-up" pozwala wybrać jedną z dwóch możliwości prezentacji banerów. Bannery będą możliwe do wyświetlenia jedynie na stronie głównej e-Sklepu.

Proponowane

Sekcja "Proponowane" posiada dodatkowe opcje do ustawienia. Z listy menu, dostępnej pod przyciskiem Zmień typ możesz wybrać jakiego rodzaju produkty mają się w tym obszarze wyświetlać (m.in. nowość, najczęściej oglądane, wyprzedaż, sugerowane). Po zmianie typu tej sekcji, będzie się ona odpowiednio nazywać po wgraniu szablonu do sklepu:

Dodatkowo po najechaniu kursorem na tę sekcję, wybierając Opcje, możemy ustawić liczbę towarów, która będzie się wyświetlać (maksymalnie 50).

    Podczas tworzenia szablonu w Kreatorze wyglądu Szafir po dodaniu sekcji towary polecane można określić typ wyświetlanych produktów. Nazwa sekcji jest zależna oraz adekwatna do określonego typu. Daną nazwę można modyfikować w tłumaczeniach szablonu. Dodatkowo każdy wybrany typ jest podlinkowany do wszystkich produktów wskazanego rodzaju. W zależności od wybranego typu, edycji parametrów wyświetlania dokonasz w panelu administracyjnym e-Sklepu. Z kolei informację o typie towaru ustawisz w systemie ERP. Typy towarów edytowane z poziomu panelu administracyjnego Comarch e-Sklep:
  • Promocja,
  • Nowość,
  • Najczęściej oglądane / najczęściej kupowane,
  • Cross-selling – oferowanie produktów uzupełniających wcześniejsze zakupy,
  • Producent,
  • Marka,
  • Ręcznie wybrane,
  • Kategoria,
  • Ostatnio oglądane.
Aby zdecydować o parametrach wyświetlania tych informacji należy przejść w panelu administracyjnym Comarch e-Sklep do zakładki Ustawienia/Ustawienia sklepu/sekcji Towary: Producent, marka, ręcznie wybrane, kategoria oraz ostatnio oglądane obsługiwane są w ramach obiektu lokalnego "Siatka towarów". Po wyborze jednego z wyżej wymienionych typów zmian ustawień należy dokonać z poziomu panelu administracyjnego przechodząc do obszaru zakładki Wygląd sklepu/Ustawienia/Ustawienia zaawansowane oraz zakładki Obiekty. Na szczegółach wybranego obiektu (Siatka towarów) określamy jakie dokładnie towary zostaną zaprezentowane w sekcji "Proponowane". W przypadku wyboru "Producenta" lub "Marki" należy samodzielnie określić producenta lub markę. Dodawanie informacji o typie produktu w systemie ERP dotyczy:
  • Nowości,
  • Produktu z gazetki,
  • Produktu polecanego,
  • Wyprzedaży,
  • Promocja,
  • Nowość,
  • Super jakości,
  • Super ceny,
  • Najlepszej oceny,
  • Rekomendacji sprzedawcy.
Informacja tego typu ustawiana jest bezpośrednio na karcie towaru w systemie ERP poprzez zaznaczenie odpowiedniej flagi w systemie ERP XL (zakładka aplikacje) lub atrybutu czasowego w ERP Optima (zakładka e-Sklep, sekcja atrybuty czasowe). Po wybraniu konkretnej opcji w systemie ERP na karcie danego produktu w Comarch e-Sklep zostanie dodana odpowiednia informacja:

Newsletter

Ustawienia parametrów newslettera można edytować w panelu administracyjnym, w zakładce Ustawienia/ Ustawienia sklepu/ Mailing.

Slider marek

Sekcja "Slider marek" umożliwia dodanie do szablonu jednego widoków slidera marek. Na sliderach wyświetlane są loga marek, które zostały zaimportowane z systemu ERP. Po kliknięciu w wybrane logo, pojawi się lista wszystkich towarów, dla których dodana jest konkretna marka. Sekcje mogą być dodane w szablonie w dowolnym miejscu na stronie głównej.

Slider producentów

Sekcja "Slider producentów " umożliwia dodanie do szablonu jednego widoków slidera producentów. Na sliderach wyświetlane są loga producentów, które zostały zaimportowane z systemu ERP. Po kliknięciu w wybrane logo, pojawi się lista wszystkich towarów, dla których dodany jest konkretny producent. Sekcje mogą być dodane w szablonie w dowolnym miejscu na stronie głównej.

Aktualności

Sekcja umożliwia zamieszczenie aktualności na stronie głównej w formie listy artykułów z bloga. Tekst wprowadza się w panelu administracyjnym przechodząc do zakładki  e-Marketing/Blog.

Banner infografika

Sekcja "Banner infografika" pozwala na zaprezentowanie korzyści z zakupów w Twoim sklepie. Dotyczą one obszarów: informacji o dostawie, płatnościach, rabatach czy programie lojalnościowym. Banner możesz dodać tylko do strony głównej. Dodatkowe bannery mieszczą się w katalogu homepage-small w panelu administracyjnym e-Sklepu, obszar: Wygląd sklepu/ Ustawienia/ Bannery.

Stopka

Sekcja "Stopka" zawiera jeden widok do wyboru. W widoku Stopki widnieją strony statyczne, którymi można zarządzać w sekcji Wygląd Sklepu/ Ustawienia/ Nagłówek i Stopka. Dla każdej z sekcji wyświetla się jej utworzona w panelu nazwa. W stopce znajdują się także informacje na temat rodzaju prezentowanych cen w e-Sklepie (brutto czy netto) oraz komunikat @Comarch SA 2022. All rights reserved Powered by Comarch e-Sklep. Dodatkowo istnieje możliwość umieszczenia w stopce odnośników do mediów społecznościowych oraz ich ikony. W stopce trzeciej możemy dodać ikony naszych dostawców oraz form płatności wykorzystywanych w sklepie.

Po wybraniu wszystkich niezbędnych sekcji nasza strona główna powinna być gotowa. Efekt naszej pracy możemy podejrzeć klikając Podgląd w prawym górnym rogu.

Dzięki tej opcji możesz zobaczyć, jak będzie prezentował się Twój szablon zarówno w wersji dekstop, jak i mobile.

Strona główna wymaga dwóch podstawowych elementów: nagłówka oraz stopki. Pozostałe elementy nie są obowiązkowe.

Krok 2 - Lista towarów

Kolejnym krokiem jest utworzenie listy towarów. Aby to zrobić, należy rozwinąć listę zgodnie z poniższym rysunkiem, a następnie przejść do wskazanej zakładki:

Bannery

Sekcja "Bannery" daje możliwość wyboru prezentacji bannerów na liście dostępnych towarów, dzięki którym masz możliwość prezentacji nowych grafik.

Panel filtra

Sekcja "Panel filtra" umożliwia dodanie do szablonu jednego z dwóch dostępnych wariantów. Dodatkowo możesz zdecydować o liczbie wyświetlanych wartości filtrów a także o widoku sekcji filtrów.

Podkategorie

Sekcja "Podkategorie" umożliwia dodanie jednego widoku podkategorii. Jeżeli główna kategoria ma swoje podkategorie, menu graficzne zostanie wyświetlone w następujący sposób:

Opis kategorii

Sekcja umożliwia dodanie jednego z dwóch dostępnych opisów kategorii. Wybierając jeden z nich możesz zdecydować czy forma graficzna prezentowania: nazwy, opisu i zdjęcia kategorii, ma być ustawiona jako zdjęcie lub zdjęcie po lewej stronie. Sekcja może być domyślnie zwinięta lub rozwinięta.

Lista towarów

Podobnie, jak w przypadku strony głównej konfigurujemy wygląd listy towarów. Dodatkowo możemy wskazać domyślny widok listy towarów, prezentację atrybutów a także zdecydować czy pozwolisz na zakup towarów wielowariantowych z listy towarów.

W Kreatorze Szablonu Szafir dostępny jest jeden widok listy towarów:  

Krok 3 - Koszyk

Po utworzeniu szczegółów towaru przechodzimy do wyboru wersji koszyka dostępnego w e-Sklepie. W Kreatorze Szablonu Szafir dostępne są dwie wersje koszyka. Dodatkowo na stronie koszyka możesz wskazać sposób prezentacji przeliczników jednostek miary i zdecydować o wyświetlaniu punktów lojalnościowych:

Następnie możemy przejść do modyfikacji wyglądu naszego szablonu. W tym celu należy przejść do zakładki Style.

Style

Jak zmienić kolory, czcionki oraz ikony?

Po dodaniu elementów strony możemy dodatkowo podejrzeć, jak będzie wyglądał nasz przyszły szablon. W tym celu należy przejść do zakładki Style.

Dodatkowo w zakładce Style możemy zmodyfikować wygląd naszego szablonu. Zmianie podlega motyw kolorystyczny.

Motyw kolorystyczny

Aby zmienić kolor naszego szablonu należy przejść do sekcji Motyw kolorystyczny, gdzie do wyboru przygotowaliśmy 3 gotowe motywy.

Każdy z motywów możemy edytować według indywidualnych preferencji. Możemy zmodyfikować kolor poszczególnych elementów (m.in.: tło strony, tło nagłówka, nazwę towaru). Zmiany należy zapisać klikając Zapisz. Jeśli wykonane zmiany nie są zadowalające, możemy przywrócić ustawienia domyśle dla danego motywu kolorystycznego, klikając przycisk Przywróć.

Możliwe jest również wprowadzenie szesnastkowego zapisu kolorów. Heksadecymalny zapis kolorów dla poszczególnych sekcji w szablonie dostępny jest podczas edycji wybranego motywu kolorystycznego.

Czcionki

W zależności od potrzeb istnieje możliwość wybrania czcionki. Dla naszych klientów udostępniliśmy jej 13 różnych typów. Pod nazwą każdej z nich znajduje się przykładowy wygląd w różnych formatach.

 

Ikony

Ostatnim elementem, który możemy modyfikować z poziomu zakładki Style jest wygląd ikon. Mamy do wyboru 3 różne warianty wyglądu ikon. Dodatkowo istnieje możliwość wyboru w jakiej postaci wyświetla się ikona koszyka (torba, wózek lub koszyk) oraz loader.

Wskazówka
Od teraz możesz zmienić rodzaj loadera, wybierając jedną z 5 propozycji widocznych powyżej.

 

Funkcja cofania zmian

Funkcja odpowiadająca za cofanie oraz powtórzenie wprowadzonych zmian oznaczona jest symbolem strzałek, zapamiętuje ona do 30 ostatnich modyfikacji szablonu. Nieaktywna strzałka oznacza, że aktualnie nie ma dostępnych kroków. Mamy możliwość przywracania zmian: dodawania/ usuwania elementów oraz edycji ich położenia, a także stylu w szablonie.
Wskazówka
Funkcję cofania obejmuje zmiany motywu kolorystycznego, natomiast edycja poszczególnych kolorów w motywie nie jest zapisywana.

Generowanie i wgrywanie szablonu

Po zaprojektowaniu wyglądu szablonu możemy go wygenerować i pobrać na dysk korzystając z przycisku Generuj widocznego w prawym górnym rogu:

Obok przycisku Generuj dostępna jest również opcja Importuj szablon, umożliwiająca wgranie wcześniej zapisanego szablonu z dysku i ponowną jego edycję.

W przypadku prawidłowego wygenerowania szablonu wyświetlony zostanie komunikat informujący o tym fakcie i pobrany plik.

Pobrany szablon należy zaimportować w Comarch e-Sklep w zakładce Wygląd sklepu/ Zaimportuj szablon z Kreatora Wyglądu.

W szablonie Szafir znajduje się informacja na temat godziny wygenerowania szablonu w Kreatorze. Taka informacja znajduje się w panelu administracyjnym w menu: Wygląd sklepu/ Ustawienia/ Więcej (trzy kropki), gdzie należy wybrać opcję Edytuj ustawienia zaawansowane, a potem ponownie Więcej/ Edytuj HTML. Następnie z listy plików należy wybrać _layout.html. Informacje na temat modyfikacji, w tym godzina ostatniej modyfikacji, znajdują się nad oknem edycji pliku. Jeżeli plik nie był modyfikowany, wówczas godzina odpowiada godzinie wygenerowania szablonu w kreatorze.

W przypadku braku obowiązkowych elementów szablonu nie będzie możliwe jego wygenerowanie. przycisk Generuj będzie wyszarzały, a w prawym dolnym rogu pojawi się komunikat „Uzupełnij elementy wymagane w szablonie”. Sekcje, gdzie element nie został wybrany będą się wyświetlać z odpowiednią ikoną.

 

Aktualizacja szablonu

W Kreatorze szablonu Szafir znajduje się opcja aktualizacji poprzednich wersji szablonu. W celu zaktualizowania całego szablonu należy wgrać plik z poprzednim szablonem do Kreatora szablonu Szafir według tej instrukcji:
  • po uruchomieniu strony kreatora wybierz opcję: Stwórz nowy projekt,
  • wybierz Nowy szablon,
  • w prawym górnym rogu wybierz opcję Importuj szablon,
  • następnie zaimportuj plik z szablonem, który ma być zaktualizowany. Po poprawnym zaimportowaniu szablonu otrzymasz informację zwrotną:
  • po wgraniu szablonu do aktualizacji użyj opcji Generuj. 
Dzięki temu w prosty sposób można starsze szablony Szafir podnieść do wersji aktualnej.

Więcej informacji

Więcej informacji można znaleźć w artykułach o wyglądzie sklepu oraz o dostosowaniu wyglądu.

Jak wykonać kopię bezpieczeństwa mojego szablonu?

Jak wykonać kopię bezpieczeństwa mojego szablonu?

Oprawa wizualna sklepu jest bardzo ważnym elementem podczas prowadzenia sprzedaży w sieci. Narzędzie Kreator Wyglądu Comarch e-Sklep umożliwia stworzenie własnych, niepowtarzalnych szablonów wedle preferencji i potrzeb użytkowników. W intuicyjnym narzędziu jakim jest Kreator, będziesz w stanie zaprojektować wszelkie niezbędne funkcje, takie jak stronę główną, listę towarów, szczegóły towaru oraz koszyk. Jeśli Twój projekt szablonu został zaimportowany do e-Sklepu oraz skonfigurowany wedle Twoich preferencji (dodanie grafik do bannerów, modyfikacje kolorystyczne) masz możliwość jego zapisania, co będzie stanowić kopię bezpieczeństwa. Kopia bezpieczeństwa to dane, które w każdej chwili można odtworzyć w przypadku ich utracenia (np. poprzez przypadkowe usunięcie) lub częstego wprowadzania zmian. Dane, jakie może zawierać kopia bezpieczeństwa to szablon, który wcześniej został przez nas wygenerowany wraz z bannerami. Zaleca się wykonywanie kopii zapasowych oraz zabezpieczenie ich hasłem. Każda wykonana kopia zapasowa powinna zostać zapisana w bezpiecznym i dogodnym dla Użytkownika miejscu.

Jak wykonać kopię bezpieczeństwa?

W Panelu Administracyjnym przejdź do sekcji Wygląd sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane, a następnie przejdź do zakładki Eksport szablonu. W pustych polach znajdujących się w zakładce Eksport szablonu, opcjonalnie przed eksportem możesz uzupełnić powyższe dane, tj. Autora szablonu, e-mail, telefon i stronę WWW sklepu. Aby wyeksportować szablon, kliknij Eksportuj szablon. Wyeksportowany plik jest w formacie XML, a jego nazwa zawiera szablon oraz wersję, co znacznie ułatwia zarządzanie kopiami bezpieczeństwa w przypadku wykonywania ich regularnie.

Jak wyeksportować bannery?

Bannery, które znajdują się w Twoim sklepie możesz również wyeksportować tworząc kopię bezpieczeństwa. W tym celu także musisz przejść do Wygląd sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane, a następnie do zakładki Eksport szablonu. Obok przycisku Eksportuj szablon, znajduje się przycisk Eksportuj bannery, który musisz kliknąć aby bannery, które posiadasz w e-Sklepie zostały weksportowane. Kopia bezpieczeństwa jest również zapisywana w formacie XML, a nazwa pliku wskazuje na szablon, wersję i zawartość bannerów.

Jak zabezpieczyć hasłem swój szablon?

Jeśli chcesz, aby Twój szablon został zabezpieczony hasłem, a znajomość hasła była niezbędna podczas zaimportowania tego szablonu do e-Sklepu, musisz w tym celu przejść w Panelu Administracyjnym do sekcji Wygląd sklepu/ Ustawienia/ Ustawienia zaawansowane, następnie do zakładki Szablon. W tym miejscu nadasz hasło dla swojego szablonu. Zgodnie z Polityką bezpieczeństwa haseł, hasło powinno:
  • Składać się z minimum 8 znaków,
  • Zawierać dużą literę,
  • Zawierać małą literę,
  • Zawierać cyfrę 0-9,
  • Zawierać znak specjalny – ‘!.+?;^]=-(&_)#=
Gotowe! Teraz Twój szablon został zabezpieczony hasłem. Jeśli wyeksportujesz szablon, który zabezpieczyłeś hasłem – podczas importu tego szablonu, będziesz musiał podać nadane wcześniej hasło. Jego brak uniemożliwi import szablonu, a podanie błędnego hasła spowoduje nieprawidłowe działanie szablonu po imporcie. Więcej informacji znajdziesz:

Banner pop-up w szablonie Szafir i Topaz

W niniejszym artykule dowiesz się, w jaki sposób dodać banner pop-up w swoim szablonie Topaz i Szafir. Banner wyświetla się w formie wyskakującego pop-upa, na którym możesz zaprezentować zdjęcie, treść a także przejść do wybranego towaru.

Konfiguracja nowego bannera

Krok 1. Dodaj jeden z dostępnych wariantów banneru pop-up w Kreatorze Wyglądu. Za pomocą funkcji przeciągnij i upuść dodaj banner do nowo utworzonego szablonu Szafir lub Topaz: Krok 2. W panelu administracyjnym przejdź do sekcji Wygląd sklepu/ Ustawienia/ Bannery. Z listy dostępnych bannerów wybierz banner popup_2: Krok 3. Po wpisaniu nazwy nowego banneru wyświetla się nowy formularz. W tym miejscu masz możliwość dodania opisu dla administratora oraz obrazków do katalogu. Jeżeli powyższe kroki zostały wykonane, to możesz przejść do dodania obrazku. Po dodaniu obrazków istnieje również możliwość uzupełnienia szczegółów dotyczących konkretnego zdjęcia. Aby dokonać modyfikacji w tym obszarze przejdź w Widok zaawansowany. Po kliknięciu w odnośnik pojawi się panel, w którym można zmienić np. tekst na bannerze, nagłówek, czas jego wyświetlania, link do którego kieruje dany obrazek, a także tooltip i tekst alternatywny. Tak wprowadzone zmiany należy zapisać i opublikować. Gotowe! Banner pop - up został dodany i tak prezentuje się w szablonie Topaz. Po kliknięciu w znacznik "Sprawdź" Twoi klienci zostaną przeniesieni na kartę towaru, gdzie będą mogli dokonać towar do koszyka.

Jak zaktualizować szablon do najnowszej wersji?

Jak zaktualizować szablon do najnowszej wersji?

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

Wstęp

W e-Sklepie możesz dowolnie zmieniać szablony. Możesz je także modyfikować oraz aktualizować. Wiąże się to z wgraniem zupełnie nowego szablonu na miejsce starego. Aktualizacja wyglądu powoduje zmianę dotychczasowych ustawień. Przed każdą aktualizacją polecamy utworzyć odpowiednią dla siebie instrukcję, która będzie zawierała Twoje ustawienia kolorów czy modyfikacje w kodzie szablonu. Możesz także wyeksportować dotychczasowy szablon, aby stanowił on kopię bezpieczeństwa.

Jak zaktualizować szablon?

Instrukcja aktualizacji szablonów: Rubin, Szafir, Topaz i One Page Shop (dostępnych w Kreatorze Wyglądu)

Aby zaktualizować szablon Rubin, Szafir, Topaz lub One Page Shop należy skorzystać z aktualnej wersji Kreatora Wyglądu, do którego odnośnik znajduje się w panelu administracyjnym e-Sklepu w sekcji Wygląd sklepu/ Kreator wyglądu. Istnieją dwie możliwości aktualizacji tych szablonów:

  • wygenerowanie nowego szablonu w Kreatorze Wyglądu oraz wgranie go do e-Sklepu,
  • import posiadanego szablonu do Kreatora Wyglądu oraz ponowne wygenerowanie go w najnowszej wersji.

Wyeksportowany z Kreatora Wyglądu szablon należy wgrać do e-Sklepu. W panelu administracyjnym e-Sklepu, w sekcji Wygląd sklepu znajduje się bezpośredni odnośnik do importu szablonu z Kreatora wyglądu. Szczegółowa instrukcja dostępna jest w artykule Jak wyeksportować i zaimportować swój szablon w e-Sklepie?

Podczas dokonywania modyfikacji w szablonach zachęcamy do skorzystania z naszego Centrum Pomocy.

Wskazówka
Pamiętaj o zapisaniu szablonu oraz opublikowaniu go w e-Sklepie. Zmiany wprowadzone w ustawieniach zostaną zsynchronizowane do sklepu po 10 minutach.

Instrukcja aktualizacji szablonów: Bursztyn, Agat i Opal.

Aby zaktualizować szablon Bursztyn, Agat lub Opal należy w panelu administracyjnym e-Sklepu przejść do sekcji Wygląd Sklepu/ Gotowe szablony Comarch, w której znajdują się najnowsze wersje szablonów dostępne do zainstalowania. Z wyświetlonej listy należy wybrać szablon, który ma zostać wgrany do e-Sklepu. W tym celu wybierz przycisk Chcę pobrać i zainstalować szablon:

Następnie wyświetli się nowe okno, w którym należy:

  • wybrać tzw. slot, który zostanie nadpisany nowym (aktualnym) szablonem. W każdym e-Sklepie dostępne są 4 miejsca na wgranie szablonu, spośród których jeden szablon oznacza się jako aktywny i domyślny,
  • określić, czy wgrywany szablon ma podmienić istniejące bannery. Gdy parametr zostanie zaznaczony, wówczas wszystkie bannery zapisane na danym slocie zostaną usunięte i zastąpione bannerami z importowanego szablonu. Jeżeli w nadpisywanym szablonie znajdują się bannery oraz lookbooki, które mają nadal wyświetlać się w e-Sklepie, należy wskazany parametr zostawić odznaczony. Gdy parametr nie zostanie zaznaczony, wówczas dotychczasowe bannery i lookbooki nie zostaną usunięte.
  • Zaimportować szablon do e-Sklepu.
    Wskazówka
    Import szablonu jest operacją nieodwracalną i spowoduje nadpisanie dotychczasowego szablonu. W przypadku, gdy szablon był modyfikowany (dokonywano zmian w kodzie HTML) jego aktualizacja spowoduje, iż zmiany nie zostaną przeniesione. Warto wykonać eksport posiadanego szablonu do pliku w celu zapisania oraz posiadania wglądu to wprowadzanych modyfikacji. Jeżeli istnieje taka konieczność należy ponownie dokonać samodzielnej edycji szablonu.

Aby nowy szablon pojawił się w e-Sklepie należy upewnić się, czy jest on aktywny oraz ustawiony jako domyślny. W sekcji Wygląd sklepu/Ustawienia/Edytuj ustawienia zaawansowane w zakładce Szablon znajdują się odpowiedzialne za to parametry, które powinny być zaznaczone.

Wszelkie zmiany należy zapisać, a następnie opublikować.

Uwaga
Jeżeli szablon nie zostanie opublikowany, wówczas nie pojawi się on w e-Sklepie.

Instrukcja aktualizacji innych szablonów (niż szablonów Comarch) oraz aktualizacji szablonów z własnymi modyfikacjami

Jeżeli w swoim Comarch e-Sklepie korzystasz z własnego szablonu, czyli innego niż gotowe szablony Comarch, to powinieneś jego aktualizację przeprowadzić we własnym zakresie lub zlecić ją firmie/ osobie, która dla Ciebie przygotowała ten szablon. W przypadku, gdy korzystasz z gotowego szablonu Comarch, ale wprowadziłeś do niego indywidualne zmiany (poza Kreatorem Wyglądu), to również we własnym zakresie (lub ze wsparciem autora zmian) musisz zadbać o aktualizację swojej wersji szablonu.

Szablon Szafir

      Szablon Szafir jest dedykowany dla sklepów w wersji B2B. Dostępny jest także dla sklepów w wersji Enterprise. Użytkownik może zainstalować szablon zarówno przy uruchomieniu nowego sklepu, jak i w obecnie używanym sklepie z poziomu panelu administracyjnego. W szablonie Szafir obsługiwana jest funkcja PWA, czyli Progressive Web App. W przypadku otworzenia na urządzeniu mobilnym (w trybie responsywnym) strony e-Sklep z szablonem Szafir, sklep wyświetl komunikat o możliwości pobrania skrótu na ekran główny urządzenia. W efekcie e-Sklep uruchomiony z takiego skrótu będzie wyglądał jak aplikacja natywna zainstalowana na urządzeniu mobilnym i dostosowana do wyświetlania na nim. W szablonie zaimplementowano także meta znaczniki Open Graph niezbędne do prawidłowej komunikacji z platformą Facebook oraz przesyłania towarów dla sklepu Facebook. Więcej na ten temat przeczytasz tutaj. Główne wyróżniki szablonu: 1. Funkcje B2B:
  • Obsługa klientów detalicznych oraz typu firma – połączenie modeli B2B oraz B2C,
  • Wyświetlanie zamówień, faktur i wydań zewnętrznych z systemu ERP w profilu klienta dzięki wykorzystaniu Comarch e-sklep Sync,
  • Inna prezentacja strony głównej przy wykorzystaniu parametru Dostęp tylko dla klientów zalogowanych,
  • Obsługa wielu koszyków (z możliwością edycji nazwy koszyka i usuwania całego koszyka jednym przyciskiem),
  • Zmiana firmy w nagłówku oraz możliwość dodawania pracowników w profilu klienta – obsługa wielu loginów,
  • Możliwość szybkich zakupów z list towarowych bez przechodzenia na szczegóły,
  • Szablon przystosowany do dużych zamówień z wieloma pozycjami,
  • Opiekun handlowy dla Kontrahenta – widoczny po zalogowaniu, zamiast danych kontaktowych sklepu w nagłówku,
  • Możliwość blokady zmiany Danych Firmy przez Kontrahenta. Więcej informacji na ten temat zostało przedstawione w artykule.
2. Nawigacja w szablonie:
  • Możliwość wyboru jednego z trzech widoków na listach towarowych,
  • Możliwość ustawienia krótkiego opisu towarów dla widoku o typie „Lista”,
  • Głębokie wielopoziomowe menu główne w orientacji pionowej,
  • Aktualności na stronie głównej w formie listy artykułów z bloga. Możliwość prezentacji artykułów na dwa sposoby: rozszerzony i kompaktowy (menu Wygląd sklepu > Ustawienia > Ustawienia szablonu),
  • Lista produktów na stronie głównej, która idealnie zaprezentuje nowości, promocje, towary rekomendowane itp.,
  • Duży przewijany banner na stronie głównej,
  • Małe banery nad stopką, po dodaniu powyżej pięciu obrazów – możliwe do przewijania,
  • Graficzne menu kategorii na stronie Produkty.
3. Towary:
  • Prezentacja stanów magazynowych w formie graficznej, tekstowej oraz liczbowej zgodnie z konfiguracją w panelu administracyjnym,
  • Prezentowanie i odtwarzanie plików w formacie MP4. Po przesłaniu filmu z systemu Comarch ERP Optima lub Comarch ERP XL do swojego e-Sklepu, zostanie on wyświetlony w sekcji z filmami lub w galerii w zależności od wariantu widoku na stronie ze szczegółami towaru.
  • Prezentacja towarów tylko w cenie netto (po włączeniu w menu Wygląd sklepu > Ustawienia > Ustawienia szablonu w sekcji Cena netto dla parametru Prezentacja tylko ceny netto na stronie prezentacji towaru opcji Tak).
  • Warianty towarów wyświetlane w formie tabelki z możliwością dodania do koszyka dowolnej ilości każdego wariantu,
  • Zestawy na towarze w formie slidera,
  • Sekcja prezentujące towary podobne (zamienniki). Wyświetlają się również inne typy (definiowane w systemie ERP) m.in. akcesoria, sugerowane, użytkownika.
  • W przypadku, gdy towar posiada jednostkę pomocniczą i zostanie ona wybrana przez kontrahenta, wówczas cena w jednostce podstawowej będzie wyświetlana nad ceną w jednostce pomocniczej.
  • Wyświetlanie daty od kiedy towar będzie dostępny w e-Sklepie, w przypadku jej określenia dla statusu Zapowiedź,
  • Wyświetlanie informacji o kosztach dostawy,
  • Po przejściu na stronę sklepu z końcówką /produkty,2 wyświetlane są grupy towarów. Użytkownik ma możliwość wybrania konkretnej kategorii, po jej wyborze zostanie wyświetlona lista towarów wybranej grupy.
  • Lista towarów dla widoku o typie „Lista” zawiera krótki opis towarów, który domyślnie jest zwinięty. Po rozwinięciu szczegółów, kontrahent ma możliwość uzyskania większej ilości informacji na temat produktu bez przechodzenia do karty towaru.
  • Dodawanie opinii do towaru. Dostępność tej funkcji zależy od ustawień w panelu administracyjnym: Ustawienia > Ustawienia sklepu > Towary > Opinie o towarze.
  • Możliwość prezentowania ceny poprzedniej jako sugerowanej ceny detalicznej (w menu Wygląd sklepu > Ustawienia > Ustawienia szablonu w sekcji Cena poprzednia dla parametru Prezentuj cenę poprzednią jako sugerowaną cenę detaliczną włączona opcja Tak (domyślnie zaznaczony jest parametr Nie). Zmiany w szablonie należy zapisać i opublikować.)
W panelu administracyjnym na zakładce Wygląd sklepu > Ustawienia > Ustawienia szablonu na zakładce Lista towarów znajdują się nowe parametry związane z wyświetlaniem listy produktów: do zmiany prezentowania kategorii, filtrów oraz graficznego menu. Aktualnie można zdecydować o ilości wyświetlanych filtrów, miejscu w którym mają się znajdować i tego, czy ta sekcja ma się rozwijać czy nie w e-Sklepie. Administrator sklepu może również zmienić formę graficzną prezentowania nazw, opisu i zdjęć kategorii oraz aktywować nowe graficzne menu nawigacji dla podgrup. Aby wprowadzone zmiany były widoczne w szablonie należy je zapisać i opublikować. 4. Zamówienie:
  • Zamówienie dla zarejestrowanych kontrahentów oraz niezarejestrowanych,
  • Możliwość wyboru skonfigurowanych adresów na zamówieniu,
  • Szybkie składanie zamówień w jednym kroku,
  • Macierz dostaw w formie list rozwijalnych (dostawa i płatność),
  • W profilu klienta możliwość pobierania kopii faktury elektronicznej w formacie PDF wystawionej do zamówienia w systemie ERP. Wyświetlane są także dokumenty ZS, FS i WZ,
  • Ponowienie nieudanej płatności dostępne zarówno dla klientów zarejestrowanych jak i jednorazowych,
  • Możliwość dodania załączników do zamówienia,
  • Widok szczegółów złożonego zamówienia dla niezalogowanych klientów,
  • Możliwość anulowania edytowalnego zamówienia, które nie zostało jeszcze wysłane do systemu ERP,
  • Anulowanie uprzednio edytowanego zamówienia usuwa również koszyk z towarami, które miały zostać dodane do danego zamówienia,
  • Obsługa zwrotów i reklamacji, wraz z załącznikami (jeżeli w panelu administracyjnym w menu Ustawienia > Ustawienia sklepu > Reklamacje / zwroty zostanie włączona opcja Załączniki do reklamacji i zwrotów) do zrealizowanych zamówień,
  • Klienci detaliczni podczas składania zamówienia z paragonem mają dostępne pole, w którym mogą podać numer NIP, na który w przyszłości może zostać wystawiona faktura do paragonu. Informacja o rodzaju dokumentu handlowego wybranego przez Klienta jest widoczna na szczegółach zamówienia w Strefie Klienta oraz w panelu administracyjnym, a także zostanie przeniesiona do systemu ERP,
  • Klienci firmowi podczas zakupów mogą zdecydować w koszyku, czy do danego zamówienia ma być wystawiony dokument handlowy w postaci faktury lub paragonu. Po wybraniu opcji Paragon widoczne jest pole z numerem NIP. Po jego uzupełnieniu możliwe jest wygenerowanie w systemie ERP w późniejszym terminie faktury sprzedaży do paragonu.
  • Formularz zamówienia zapamiętuje wprowadzony numer NIP. Zmiana z Faktury na Paragon przenosi wprowadzony numer NIP i nie wymaga ponownego wprowadzenia.
  • Dostępna kolumna na liście zamówień z adresem e-mail, która umożliwia rozpoznanie, czy zamówienie zostało złożone przez kontrahenta, czy przez któregoś z jego pracowników.
Wskazówka
Jeżeli w panelu e-Sklep w zakładce Ustawienia > Ustawienia sklepu > Zamówienia włączony jest parametr "Składanie zamówień tylko przez firmy" w e-Sklepie możliwe będzie wygenerowanie jedynie Faktury VAT. W przypadku, gdy klient wybierze opcję paragonu i nie poda nr NIP, a opcja ta będzie włączona, zostanie wystawiona faktura na podstawie nr NIP podanego podczas rejestracji.
5. Pobieranie danych:
6. Strefa Klienta:
  • dedykowane menu w profilu Klienta zalogowanego,
  • dostęp do wszystkich transakcji oraz dokumentów sprzedaży – zamówienia, zapytania o wycenę, oferty sprzedaży, faktury, wydania zewnętrzne,
  • wygodny proces reklamacji oraz zwrotów,
  • zarządzanie pracownikami oraz danymi firmy,
  • dostęp do programu lojalnościowego oraz dedykowanych promocji Klienta,
  • dodatkowe pliki do pobrania oraz zgody w e-Sklepie.
Każdą zakładkę w Strefie Klienta można odpowiednio obudować w link, w celu utworzenia bezpośredniego odnośnika. Poniżej znajduje się lista elementów w Strefie Klienta oraz ich nazwy, jakie można wykorzystać:
  • Zamówienia pochodzące z e-Sklepu – eshop-orders
  • Zamówienia pochodzące z systemu ERP (pobrane przez Comarch e-Sklep Sync) – erp-orders
  • Zapytania o Wycenę – inquiries
  • Oferty Sprzedaży – offers
  • Faktury – invoices
  • Wydania zewnętrzne – sor
  • Wydania magazynowe – wm
  • Reklamacje/Zwroty w trakcie realizacji – active-complaints
  • Reklamacje/Zwroty zrealizowane – executed-complaints
  • Dane firmy – customer-details
  • Pracownicy – employees-list
  • Twoje konto – your-account
  • Program lojalnościowy – loyalty
  • Zgody – consents
  • Do pobrania – to-download
  • Promocje – discounts.
Przyklad
Adres https://demob2b.comarchesklep.pl/profil-klienta/6?tab=discounts stanowi bezpośredni odnośnik do zakładki Promocje w Strefie Klienta.
Wskazówka
Jeżeli chcesz zaprezentować ceny netto na liście towarów, należy odpowiednio skonfigurować prezentację cen w e-Sklepie. Instrukcja dotycząca prezentacji cen netto znajduje się w artykule o Cenach i rabatach.
Konfiguracja paska nawigacji w szablonie Szafir oraz przykłady zastosowania zostały przedstawione w artykule Pasek nawigacji - Szablon Szafir. Dodatkowo w Strefie Klienta na liście zamówień z e-Sklepu (zakładka Sklep B2B) oraz na liście zamówień przesyłanych przez Comarch e-Sklep Sync (zakładka Pozostała sprzedaż) widnieją statusy płatności i dostaw dla poszczególnych zamówień. W szablonie możliwe jest wyświetlanie sugerowanej ceny detalicznej widocznej zarówno dla klientów zalogowanych jak i niezalogowanych. Sugerowana cena detaliczna wyświetlana jest na podstawie ceny poprzedniej z systemu ERP. Aby ją wyświetlić klientom niezalogowanym należy w panelu administracyjnym e-Sklepu w sekcji Ustawienia > Ustawienia sklepu > Ceny i rabaty włączyć parametr Ukrywanie cen dla klientów niezalogowanych. Następnie należy włączyć parametr  Wyświetlanie cen poprzednich dla klientów niezalogowanych. Po jego włączeniu w ustawieniach szablonu Szafir (Wygląd sklepu > Ustawienia) w sekcji Cena poprzednia - Prezentuj cenę poprzednią jako sugerowaną cenę detaliczną należy wybrać "Tak". W przypadku kiedy sklep jest dostępny dla klientów niezalogowanych i nie są ukrywane ceny, wystarczy aktywować tylko parametr w sekcji Wygląd sklepu. Po włączeniu powyższych ustawień, klient niezalogowany przeglądający ofertę e-Sklepu zobaczy towary w sugerowanych cenach detalicznych. Klient zalogowany lub każdy klient (jeśli ukrywanie cen klientom niezalogowanym jest wyłączone) także zobaczy sugerowaną cenę detaliczną. Sugerowana Cena detaliczna będzie widoczna również na liście towarów. W Strefie Klienta na zakładce Pracownicy istnieje możliwość blokowania pracowników. Domyślnie każdy nowo dodany pracownik jest oznaczany jako aktywny. Kontrahent ma możliwość blokowania pracowników, po kliknięciu w opcję Zablokuj. Wówczas taki pracownik nie może się zalogować do e-Sklepu. Po zablokowaniu istnieje możliwość odblokowana pracownika w efekcie czego zalogowanie ponownie jest możliwe. W Strefie Klienta na zakładce Promocje wyświetlane są rabaty przesyłane  z systemów Comarch ERP: Altum i XL. Promocje wyświetlane są wraz z opisami, jakie dodano do nich w systemie ERP. W Szablonie Szafir widnieją dodatkowe bannery, które wyświetlają się nad stopką strony. Na dodatkowych bannerach obsługa sklepu ma możliwość zaprezentowania informacji na temat sklepu, np. informacji o dostawie, płatnościach, rabatach czy programie lojalnościowym. Istnieje możliwość edycji bannerów udostępnionych przez e-Sklep lub dodania własnych obrazów. Powyżej pięciu zdjęć bannery są przewijalne. Dodatkowe bannery mieszczą się w katalogu homepage-small w panelu administracyjnym e-Sklepu, obszar: Wygląd sklepu > Ustawienia > Bannery. W szablonie znajduje się także graficzne menu producentów. Producenci wyświetlani są pod newsletterem na stronie głównej. Menu jest budowane na podstawie producentów i ich logotypów przesyłanych z systemu ERP. Producentów zdefiniowanych w systemie ERP należy przypisać do towarów zgodnie z instrukcją używanego systemu ERP. Dostępne w szablonie motywy kolorystyczne to: Granatowy (domyślny), Niebieski oraz Pomarańczowy. Zmiana wybranego motywu możliwa jest w panelu administracyjnym w sekcji Wygląd sklepu > Ustawienia zakładka Ustawienia szablonu. Po wyborze docelowego motywu zmiany należy zapisać i opublikować. Widok listy towarów o typie „Lista” zawiera krótki opis towaru, który domyślnie jest zwinięty. Istnieje możliwość rozwinięcia szczegółów w celu uzyskania większej ilości informacji na temat produktu, bez przechodzenia do strony produktu. Po rozwinięciu szczegółów na liście widoczny jest opis towaru oraz szczegóły towaru: producent, marka, waga, stan magazynowy, status dostępności, czas dostępności (dla statusu Dostępny) oraz data zapowiedzi (dla statusu Zapowiedź).  Krótki opis należy dodać w systemie ERP. W szablonie istnieje możliwość używania powszechnie stosowanych symboli walut: zł, €, £, $. Nowy widok symbolu waluty będzie dostępny:
  • na liście walut/języków do wyboru – każda waluta z odpowiednim symbolem;
  • na liście towarów;
  • na szczegółach towaru;
  • w koszyku: na pozycjach towarów, dla form płatności i dostaw;
  • w Strefie Klienta w Liście zakupów;
  • w Strefie Klienta w sekcjach: Zamówienia, Oferty sprzedaży, Reklamacje/Zwroty, Promocje;
  • w porównywarce towarów;
  • w wyszukiwarce prostej oraz zaawansowanej.
Aby uruchomić funkcję należy w systemie ERP udostępnić waluty obce do e-Sklepu oraz opcjonalnie w panelu administracyjnym e-Sklepu w menu Ustawienia > Ustawienia sklepu > Dane sklepu > Waluty wprowadzić swoje nazwy dla walut przesłanych z systemu ERP. Wybór oraz zmiana symbolu waluty będzie możliwa po kliknięciu w listę rozwijaną znajdująca się w prawym górnym rogu szablonu, z lewej strony przycisku "Zaloguj się": Aktualną czcionka szablonu Szafir jest czcionka Roboto – Google Font. Gotowa instrukcja dotycząca zmiany czcionki dostępna jest w artykule: Zmiana czcionki w szablonie.

Sprawdź historię zakupów

W e-Sklepie istnieje możliwość podglądu historii zakupów towaru dla klientów zalogowanych. Funkcja działa na podstawie wystawionych faktur do złożonego zamówienia na dany towar. Odnośnik "Sprawdź historię zakupów" widoczny jest na szczegółach towaru. Po kliknięciu przycisku widoczna będzie historia zakupów z ostatnich 6 miesięcy. Funkcję można aktywować, jeśli e-Sklep:
  • Jest w wersji B2B
  • Posiada zainstalowaną i aktywną usługę e-Sklep Sync
  • Jest powiązany z programem Comarch ERP XL.
Aby włączyć parametr, należy przejść do zakładki Wygląd sklepu > Ustawienia, a następnie w ustawieniach podglądu historii zakupów zaznaczyć Tak.
Widok ustawień w panelu administracyjnym
Efekt widoczny na szczegółach towaru w szablonie Szafir
Historia zakupów wyświetlana po naciśnięciu przycisku "Sprawdź historię zakupów"
 

Informacja o tym, że towar znajduje się w koszyku.

W szablonie Szafir Klient zostanie poinformowany o tym, że dany produkt znajduje się już w koszyku. Po wyborze towaru i kliknięciu "Kup teraz", przy ponownej próbie dodania do koszyka, na przycisku pojawi się ikona oraz odpowiedni tooltip: Informacja widnieje na szczegółach towaru.  W szablonie Szafir prezentacja tej informacji stanowi dodatek i domyślnie jest wyłączona. Żeby ją uruchomić, należy przejść do panelu administracyjnego, a następnie do sekcji Wygląd sklepu > Ustawienia zakładka Ogólne. Następnie po odnalezieniu sekcji "Informuj o tym, że towar znajduje się już w koszyku" należy zmienić opcję na "TAK". Po dokonaniu modyfikacji koniecznie zapisz i opublikuj zmiany. Więcej o darmowych szablonach przeczytasz w artykule Gotowe szablony Comarch.

Szablon Rubin - podstawowe informacje

Wstęp

Szablon Rubin jest dedykowany dla sklepów w wersji B2B. Wyróżnia się nowoczesnym wyglądem zgodnym z najnowszymi trendami oraz intuicyjną nawigacją, co pozwala na szybkie i komfortowe zakupy. Oferuje funkcje dedykowane dla modelu B2B, w tym umożliwia wykorzystanie Comarch e-Sklep Sync do wyświetlania zamówień, faktur i wydań zewnętrznych z systemu ERP. Przy pomocy Kreatora wyglądu, można dostosować układ elementów szablonu względem indywidualnych oczekiwań. Elastyczność konfiguracji szablonu sprawia, że jest on idealnym rozwiązaniem dla zróżnicowanych potrzeb biznesowych. Główne wyróżniki szablonu:
  • obsługa sprzedaży dla klientów biznesowych oraz indywidualnych,
  • intuicyjna nawigacja boczna pozwalająca na szybki przegląd towarów dodanych do koszyka bądź zapytania o wycenę,
  • trzy widoki listy towarów, w tym lista pozwalająca na jednoczesne dodawanie wielu towarów zarówno do koszyka, jak i do list zakupów,
  • szczegóły towaru z paskiem nawigacji przyklejonym do nagłówka, który podczas przeglądania szczegółów oferty umożliwia natychmiastowy dostęp do najważniejszych sekcji i funkcji – w tym możliwość szybkiego dodania towaru do koszyka,
  • koszyk z rekomendacjami produktów oraz jednostronną finalizacją, ułatwiającą zakup,
  • profil klienta pozwalający na łatwą identyfikację statusów zamówień oraz dostęp do faktur i wydań zewnętrznych z systemu ERP,
  • obsługa wielu list zakupów,
  • możliwość składania zapytań o wycenę produków.
Przejdź do naszego sklepu demonstracyjnego i zobacz, jak wygląda Szablon Rubin w Comarch e-Sklep! W tym artykule zawarliśmy podstawowe informacje na temat funkcji dostępnych w szablonie. Dzięki możliwości konfiguracji elementów szablonu możesz łatwo spersonalizować swój e-Sklep.

Obsługa sprzedaży dla klientów biznesowych

Jako że szablon Rubin został zaprojektowany, aby umożliwić sprzedaż dla klientów biznesowych, obsługuje on funkcje dostosowane do modelu B2B. W ramach przykładowych udogodnień oferowanych przez szablon należy wymienić możliwości, takie jak:
  • obsługa klientów detalicznych oraz typu firma – połączenie modeli B2B oraz B2C,
  • możliwość włączenia tylko cen netto,
  • obsługa wielu koszyków (z możliwością edycji nazwy koszyka i usuwania całego koszyka jednym przyciskiem),
  • obsługa wielu list zakupowych, ułatwiająca powtórne zakupy tych samych towarów.
  • wyświetlanie zamówień, faktur i wydań zewnętrznych z systemu ERP w profilu klienta dzięki wykorzystaniu Comarch e-sklep Sync,
  • możliwość włączenia limitów kredytowych,
  • opcja dostępu do sklepu tylko dla zalogowanych użytkowników,
  • możliwość dodawania pracowników w profilu klienta,
  • opiekun handlowy dla kontrahenta.

Konfiguracja szablonu Rubin w panelu administracyjnym

Z poziomu panelu administracyjnego możesz dokonywać konfiguracji opcji wyglądu szablonu. Po przejściu do sekcji Wygląd sklepu > Ustawienia dostępne są ustawienia dla czterech zakładek:
  • W zakładce Ogólne możesz dokonać zmian w motywie kolorystycznym Twojego e-Sklepu. Z tego poziomu również możliwe do konfiguracji są takie opcje jak: ustawienia ceny netto, prezentacja promocji, rabatów progowych czy jednostek pomocniczych.
  • W zakładce Strona główna znajdują się ustawienia, dzięki którym możesz ustalić kolejność poszczególnych elementów na stronie głównej. Dodatkowo możesz zarządzać animacjami na poszczególnych bannerach i sliderach.
  • W zakładce Lista towarów znajdują się ustawienia dotyczące filtrów czy wyświetlania opisu danej kategorii towarowej. Z tego miejsca można zarządzać prezentacją informacji na kaflach w ramach listy.
  • W zakładce Zarzadzanie strefą klienta znajdziesz ustawienia elementów, które mają być widoczne po zalogowaniu do strefy klienta.

Strona główna

Strona główna w sklepie internetowym pełni rolę wprowadzenia do oferty sklepu. Jej głównym celem jest przyciągnięcie uwagi odwiedzających, zaprezentowanie najważniejszych produktów czy aktualnych promocji. Z tego względu na stronie głównej do skonfigurowania możliwe są takie elementy jak:

  • Banner w formie slidera – ustawienia dla banneru można znaleźć w sekcji Wygląd sklepu > Ustawienia > Bannery po przejściu do sekcji mainBanner. Domyślny rozmiar dla obrazka we wskazanym bannerze wynosi: 1574px x 425px. Więcej o ustawieniach można przeczytać w artykule dotyczącym konfiguracji bannerów.
  • Banner z infografikami – pozwala na zaprezentowanie korzyści z zakupów w Twoim sklepie. Domyślny rozmiar obrazków wynosi: 48px x 48px. Edycja banneru jest możliwa z poziomu opcji Wygląd sklepu > Ustawienia > Bannery po przejściu do sekcji homepage-small.
  • Banner popup – pozwala na poinformowanie klientów o bieżącej ofercie czy rabatach. Domyślny rozmiar grafiki w bannerze wynosi: 330px x 418px. Edycja banneru jest możliwa z poziomu opcji Wygląd sklepu > Ustawienia > Bannery po przejściu do sekcji banner_popup1.
 
  • Zapis do newslettera – newsletter to jeden z kluczowych elementów każdej strony internetowej, który pozwala na utrzymywanie kontaktu z użytkownikami i budowanie bazy subskrybentów. W przypadku szablonu Rubin, sekcja z zapisem do newslettera jest możliwa do ustawienia w formie stałej sekcji na stronie głównej.
Możliwe jest także zaprezentowania zapisu do newslettera w formie banneru.
  • Towary polecane – slider z wybranymi towarami. Mogą to być na przykład towary z wybraną flagą, najczęściej kupowane na sklepie lub ustawione ręcznie z poziomu Panelu Administracyjnego. Elementy te możliwe są do edycji w zakładce Wygląd Sklepu > Ustawienia > Edytuj ustawienia zaawansowane > Obiekty po przejściu do obiektu new-product-mp-x. Więcej informacji można znaleźć w ramach artykułu dotyczącego wyświetlania towarów polecanych w szablonach.
  • Tekst SEO – wskazany element charakteryzuje się możliwością wprowadzenia statycznego opisu na stronie głównej w e-Sklepie. Aby ustawić treść, przejdź do zakładki Wygląd Sklepu > Ustawienia > Edytuj ustawienia zaawansowane > Obiekty. W tym miejscu należy odszukać obiekt text-element-1-mp-1 i edytować element tekstowy.
  • Aktualności – w tej sekcji znajdziesz najnowsze artykuły z bloga w formie slidera. Każdy wpis zawiera obrazek, tytuł, krótki fragment treści, a także tagi tematyczne oraz datę ostatniej aktualizacji.
  • Slider marek oraz slider producentów – w ramach wskazanych sliderów będą pokazywały się loga marek i producentów, uzupełnionych po stronie systemów Comarch ERP.

Lista towarów

1. Widoki list towarów

Lista towarów zawiera trzy różne widoki. W zakładce Wygląd sklepu > Ustawienia > Lista towarów jest możliwość wybrania domyślnego widoku: Każdy z nich ma inne zastosowanie i cechy charakterystyczne:
  • W ramach widoku kafli użytkownicy mają możliwość szybkiego dodania pojedynczej sztuki towaru:
  • W przypadku listy z rozbudowanym kaflem, możesz zaprezentować opis towaru lub jego atrybutów zgodnie z ustawieniem:

Z poziomu kafli dostępne są również dodatkowe akcje, takie jak dodanie do zapytania o wycenę, list zakupów czy do porównania. Co więcej, dla wskazanej listy, została dodana możliwość kopiowania kodu towaru.

  • Szybka lista charakteryzuje się możliwością dodania wielu towarów jednocześnie. Na wskazanej liście jest możliwość dodawania równocześnie kilku towarów zarówno do listy zakupów, jak i do koszyka:
W przypadku ustawień dla widoków szybkiej listy i rozbudowanych kafli, istnieje możliwość ustalenia ilości wyświetlanych atrybutów:

2. Graficzna prezentacja wariantów

W ramach kafli możesz ustawić graficzną prezentację wariantów – po najechaniu na kafel zostaną zaprezentowane atrybuty w postaci:
  • miniatur zdjęć,
  • wariantów kolorystycznych,
  • wartości tekstowej.
Wskazaną prezentację można włączyć po przejściu do opcji Wygląd sklepu > Ustawienia > Lista towarów. W tym miejscu można wybrać sposób prezentacji wariantów:

3. Opis kategorii

Na liście towarów możesz wyświetlić także opis danej kategorii dodany po stronie systemu Comarch ERP. Jest on zaprezentowany w szablonie w następującej formie: Jeżeli został on wypełniony, możesz zdecydować czy ma być on domyślnie zwinięty czy rozwinięty:

4. Panel filtra

W ramach ustawień listy towarów do dostosowania możliwe są też filtry. Z tego poziomu dostępne do skonfigurowania są następujące opcje:
  • Liczba wyświetlanych wartości, która wskazuje ile domyślnie będzie pokazanych elementów danego filtra przed przyciskiem „Pokaż więcej”:

W przypadku takiego ustawienia przed wskazanym przyciskiem będzie prezentowane pięć wartości filtra – reszta zostanie zaprezentowana po rozwinięciu:

  • Filtruj po użyciu przycisku „Zastosuj”:

Zgodnie z ustawieniem filtry będą działać dopiero po kliknięciu wskazanego przycisku. Jeżeli parametr jest ustawiony na „Nie”, lista będzie filtrować się dynamicznie po wybraniu filtra.

  • Domyślne ustawienie filtrów jako zwiniętych bądź rozwiniętych:
Wskazane ustawienie wpływa na to, czy po wejściu na listę towarów będą wskazane wartości filtrów czy zostaną one zaprezentowane dopiero po rozwinięciu:
  • Wskazanie elementów, które mają być prezentowane w panelu filtrów:
  • Graficzna prezentacja filtra typu kolor, którą należy skonfigurować zarówno w Panelu administracyjnym, jak i systemie Comarch ERP według instrukcji. Po wykonaniu odpowiednich kroków, kolory będą prezentować się następująco:

Szczegóły towaru

1. Sekcja z towarem

W ramach szczegółów towaru możemy wyróżnić sekcje z towarem. W jej ramach prezentowane są zdjęcia towarów oraz informacje towarze, takie jak: 
  • Ceny, w tym prezentację:
  • Jednostki miary oraz przeliczniki do jednostki podstawowej lub domyślnej.
  • Stan magazynowy.
  • Dostępność produktu.
  • Cechy towaru.
  • Informacja o wartości dostawy danego towaru.
  • Możliwość udostępnienia towaru w social mediach lub za pomocą linku.
  • Opcję „Zapytaj o towar” bądź „Zapytaj opiekuna” w zależności od konfiguracji.
W tym miejscu klienci mają także dostęp do dodatkowych opcji takich jak:
  • Tabela rozmiarów – możliwa do ustawienia z poziomu ustawień Wygląd sklepu > Ustawienia > Ogólne. Tabela rozmiarów jest możliwa do skonfigurowania w formie strony, pliku pdf lub popupu.
  • Sprawdź dostępność w salonie – dzięki wskazanemu elementowi, potencjalni klienci będą mieli okazję sprawdzić, czy dany towar znajduje się w sklepie stacjonarnym (salonie). Funkcja jest dostępna po spełnieniu odpowiednich wymagań konfiguracyjnych opisanych w artykule: Sprawdź dostępność towaru w salonie.
  • Historia zakupów – dla sklepów w wersji B2B, powiązanych z systemem Comarch ERP XL oraz aktywną usługą e-Sklep Sync, możliwe jest włączenie wskazanego ustawienia w opcjach Wygląd sklepu > Ustawienia > Ogólne:

Dzięki temu możliwe będzie wskazanie historii zakupów z ostatnich 6 miesięcy

  • Harmonogram dostaw – funkcja służy do sprawdzania, czy towar został zamówiony u dostawcy, jak również udostępnia informacje o zamówionej ilości oraz planowanej dostawie. Więcej informacji na jej temat można przeczytać w artykule udostępnionym w Centrum Pomocy.
Poniżej wskazanych informacji o towarze znajdują się dodatkowe sekcje. Podczas przewijania strony widoczna jest nawigacja przyklejona do nagłówka, która ułatwia szybkie dodanie towaru do koszyka.

2. Opis i specyfikacja

W pierwszej kolejności wskazane są opis i specyfikacja danego towaru. Wskazane elementy takie jak opis czy atrybuty towaru są możliwe do dodania po stronie systemów Comarch ERP.

3. Podmiot odpowiedzialny

Zgodnie z rozporządzeniem GPSR w szablonie możliwe jest zaprezentowanie podmiotów odpowiedzialnych. Konfiguracja w ramach wyświetlenia wskazanych informacji w szablonie została opisana w artykule: Jak dostosować e-Sklep do wymogów Rozporządzenia GPSR?

4. Opinie o towarze

Na szczegółach towaru możliwe do wyświetlenia są opinie o towarze. Sekcja jest wzbogacona o paski informujące o ilości poszczególnych ocen. Obsłużone zostało również zgłaszanie opinii zgodnie z Aktem o usługach cyfrowych DSA.

5. Pliki do pobrania

Sekcja z plikami do pobrania zwiera pliki załączone na karcie towaru po stronie systemu Comarch ERP:

6. Zestawy

W przypadku korzystania z systemu Comarch ERP Optima, do zaprezentowania na stronie szczegółów towaru możliwe są zestawy: Dzięki wskazanej prezentacji, klient może dowiedzieć się o promocyjnej ofercie zakupu kilku towarów jednocześnie w tańszej cenie.

7. Towary podobne i akcesoria

Dla towarów skonfigurowanych w systemie Comarch ERP XL istnieje możliwość zdefiniowania Towarów podobnych lub Akcesoriów. Aby wskazana sekcja była dostępna w e-Sklepie, należy ją skonfigurować po stronie Comarch ERP XL zgodnie z fragmentem instrukcji, w którym opisano obsługę towarów podobnych lub akcesoriów dla towaru. W przypadku zamienników, możliwe jest także ich skonfigurowanie w Comarch ERP Optima.

Koszyk

Po przejściu na stronę koszyka wyświetla się podsumowanie dodanych do niego towarów. Wskazana sekcja ma na celu prezentację towarów w ramach rekomendacji zakupowych, aby zachęcić klienta do dalszych zakupów. W szablonie Rubin składanie zamówienia zostało zaprojektowane tak, aby użytkownik mógł w jednym kroku wypełnić niezbędne dane: 
  • Formularz z danymi zamawiającego oraz danymi do faktury.
  • Sposób dostawy.
  • Sposób płatności.
Po uzupełnieniu powyższych informacji i zakupie towaru można przejść do podsumowania, w którym prezentowane są m.in. wcześniej wprowadzone dane klienta. W ramach koszyka istnieje możliwość włączenia prezentacji wartości rabatów dla danego zamówienia, zgodnie z ustawieniem:

Dzięki temu promocja zostanie zaprezentowana w koszyku w następujący sposób:   Dodatkowo, w przypadku dostaw, możliwe jest także włączenie edycji daty dostawy:

Wskazane ustawienie prezentuje się następująco:

Zapytanie o wycenę

W modelu sprzedaży B2B często spotyka się spersonalizowane wyceny dla różnych kontrahentów. Na wysokość cen wpływają takie czynniki jak zmieniające się ceny towarów, ilość zamówionych produktów, sytuacja rynkowa oraz szczególne warunki ustalone w umowach między sprzedawcą a klientem. Z tego względu w szablonie Rubin istnieje możliwość dodawania towarów do zapytania o wycenę zgodnie z ustawieniem: Do zapytania o wycenę możesz przejść z poziomu nagłówka, klikając ikonę "Zapytanie o wycenę". Po kliknięciu w szablonie prezentowany jest panel boczny z towarami dodanymi do zapytania: Po przejściu do szczegółów, dostępny jest formularz: Obsługa zapytań jest w dalszej kolejności procesowana po stronie panelu administracyjnego. W dalszej kolejności zarówno zapytanie o wycenę, jak i utworzona z niego oferta sprzedaży jest dostępna dla klienta z poziomu Profilu klienta.

Profil klienta

1. Ustawienia profilu klienta

W przypadku ustawień profilu klienta w ramach: Wygląd sklepu > Ustawienia >  Zarządzanie strefą klienta widoczna jest lista elementów zamieszczonych w e-Sklepie. Lista składa się z następujących ustawień:
  • Dostępne – ustawienie wyświetlania danego elementu na stronie. Jeżeli parametr jest zaznaczony (podświetla się na szaro) wówczas element będzie widoczny na stronie.
  • Kolejność – w tym polu za pomocą strzałek możemy zmienić kolejność przycisków.
  • Ikona – w tym miejscu należy wprowadzić nazwę ikony, która powinna się wyświetlać na dodanym elemencie.
  • Etykieta PL – nazwa elementu, która będzie się wyświetlała w polskiej wersji strony.
  • Id tłumaczenia – id z którego będą pobierane tłumaczenia elementu wyświetlane w obcojęzycznej wersji strony. Tłumaczenia dodawane są w panelu administracyjnym: Wygląd sklepu > Ustawienia > Tłumaczenia.

2. Dokumenty dostępne w profilu klienta

W ramach profilu klienta dostępne są dokumenty związane z procesem zamówienia w e-Sklepie. Z tego poziomu klient ma dostęp do zakładek prezentujących:
  • zamówienia,
  • faktury,
  • wydania zewnętrzne,
  • wydania magazynowe.
Aby móc obsługiwać dokumenty pochodzące z systemu Comarch ERP, należy skonfigurować usługę Comarch e-Sklep Sync. Dzięki temu dla klientów widoczne staną się dokumenty udostępniane przez to narzędzie. Dokumenty, dla których wymagana jest wskazana usługa zostały opisane w artykule Dokumenty udostępniane przez Comarch e-Sklep Sync. Dzięki odpowiednim oznaczeniom kolorystycznym klient ma możliwość w prosty sposób zapoznać się ze statusami wskazanych dokumentów:

3. Zapytania o wycenę i oferty sprzedaży

Z tego poziomu klient ma dostęp również do listy z wykonanymi zapytaniami o wycenę. Po stworzeniu wyceny na dane zapytanie, w zakładce Oferta sprzedaży pojawi się oferta do zaakceptowania przez klienta: Więcej informacji na temat zapytań i ofert sprzedaży można znaleźć w artykułach: Zapytaj o cenę oraz Jak stworzyć ofertę sprzedaży i zapytanie ofertowe?

4. Reklamacje/zwroty

Klient ma możliwość zareklamowania towaru po przejściu na szczegóły zamówienia. Z tego poziomu jest możliwość wybrania opcji reklamacji dla towaru: Informacje o reklamacjach znajdą się w zakładce Reklamacje/ Zwroty:

5. Moje dane

W zakładce Moje dane klient ma możliwość weryfikacji wprowadzonych danych jako firma bądź osoba fizyczna. W tym miejscu wyświetlone są także uzupełnione adresy dostawy – wskazany jest także adres domyślny.

6. Pracownicy

We wskazanej zakładce istnieje możliwość dodania pracownika, jak również jego zablokowania. Dodatkowo jeżeli pracownik jest przypisany do kilku firm istnieje możliwość zmiany firmy z poziomu nagłówka sklepu: Więcej na temat pracowników w e-Sklepie możesz dowiedzieć się w artykule: Wielu pracowników kontrahenta.

7. Twoje konto

We wskazanej zakładce znajdują się dane kontaktowe klienta, jak i dane do logowania – e-mail i hasło. Z tego poziomu dostępna jest również historia konta

8. Zgody

W tym miejscu klientowi prezentowana jest lista zaakceptowanych zgód:

9. Do pobrania

Poprzez dodanie załączników do karty kontrahenta w systemie Comarch ERP XL  w szablonie Rubin jest możliwe wyświetlanie listy plików do pobrania dla zalogowanych użytkowników. Są one widoczne i dostępne do pobrania w Profilu Klienta we wskazanej zakładce. Sposób konfiguracji wskazanych plików został opisany w artykule: Lista plików Klienta – Do pobrania

10. Promocje

Dzięki wskazanej zakładce klienci mogą sprawdzić, jakie rabaty aktualnie posiadają. Widoczne w tej zakładce rabaty są przesyłane z systemu ERP oraz ustalane w Panelu Administracyjnym Comarch e-Sklep. Obsługiwane rabaty:
  • rabaty dla nowego klienta
  • rabaty od wartości zamówienia
  • rabat dla stałego klienta
  • rabaty z Comarch ERP
  • stała cena z Comarch ERP
Aby wskazane promocje wyświetlały się w profilu klienta należy włączyć ustawienie w Wygląd sklepu > Ustawienia > Ogólne: Informacje o konfiguracji rabatów można znaleźć w ramach artykułu: Rabaty – rodzaje i zasady wyliczania.

Listy zakupów

W szablonie Rubin dla wersji sklepu B2B możliwe jest posiadanie wielu list zakupów. Funkcja dostępna jest tylko dla zalogowanych klientów. Umożliwia ona zaplanowanie zakupów z wyprzedzeniem w uporządkowany sposób poprzez tworzenie list na różne okazje i ustawianie dla nich daty przypomnienia: Po przejściu do list istnieje możliwość utworzenia nowej listy: W ramach listy jest możliwa do ustawienia data przypomnienia: Dodatkowo z tego poziomu klient ma możliwość nadania liście nazwy, przeniesienia jej do zapytania o wycenę, jak również dodania towarów z listy do koszyka.

Lookbook

Lookbook oferuje możliwość przedstawienia towarów bezpośrednio na zdjęciu w formie zaznaczonych pinezek. W szablonie Rubin możliwe jest stworzenie wielu lookbooków. Będą one w takim wypadku prezentowane w formie listy: Szczegóły lookbooka charakteryzują się precyzyjnym oznaczeniem towarów na zdjęciu. Dzięki znacznikom umieszczonym na grafice Twoi klienci będą mogli podejrzeć towar i dodać go bezpośrednio do koszyka lub listy zakupów. Po kliknięciu na przycisk z plusem wyświetli się popup ze szczegółami towaru oraz opcją zakupu.
Wskazówka
Rekomendowany rozmiar grafik do lookbooka to 578 x 578 px.
Aby poprawnie skonfigurować lookbook, skorzystaj z naszej instrukcji zawartej w artykule: Jak skonfigurować Lookbook w Comarch e-Sklep?

Blog

Blog jest ważnym elementem w strategii każdego sklepu internetowego. Umożliwia sprzedawcy dzielenie się wiedzą i doświadczeniami dotyczącymi oferowanych produktów. Poprzez bloga, sklep może podpowiedzieć klientom, jak najlepiej wykorzystać dostępne artykuły. Dodatkowo, regularne publikowanie wartościowych treści ma korzystny wpływ na pozycjonowanie strony, dzięki unikalnym materiałom. To sprawia, że Twój sklep może być częściej widoczny w wynikach wyszukiwania.

W sekcji z blogiem prezentowane są aktualnie dodane artykuły, które są możliwe do konfiguracji w Panelu administracyjnym. Dla każdego wpisu przedstawione są: zdjęcie, treść, tagi oraz przewidywany czas czytania. Szczegółowe informacje na temat konfiguracji bloga w e-Sklepie znajdują się w artykule: Jak skonfigurować blog?

Kreator sklepu detalicznego (B2C)

Dlaczego na szczegółach towaru w szablonie Topaz w wersji 2021 nie wyświetlają się zdjęcia ?

Od wersji 2021 w Comarch e-Sklep dostępy jest filtr img2, który standardowo został obsłużony w szablonie Topaz w wersji 2021. W przypadku najnowszej wersji szablonu wgranej do sklepu w wersji 2020.4 lub starszej mogą nieprawidłowo wyświetlać się zdjęcia na szczegółach towaru (z uwagi na zastosowany filtr img2, który nie jest obsługiwany we wcześniejszych wersjach e-Sklepu). Jeśli posiadasz Comarch e-Sklep w wersji 2020.4 lub starszej niezbędne jest wygenerowanie szablonu Topaz w wersji 2020. Na stronie Kreatora wyglądu , wybierz jedną z opcji:
  • stwórz nowy projekt,
  • edytuj gotowy szablon,
  • dokończ poprzedni szablon.
Na środku strony dostępne jest pole: Wybierz wersję, w którym należy wybrać z listy wersję: 2020 i kliknąć w przycisk – Rozpocznij. Zostaniesz wówczas przekierowany na stronę Kreatora wyglądu w wersji 2020.4, gdzie będziesz mógł wygenerować szablon w wersji (2020.4), zgodnej z wersją e-Sklepu. Po wygenerowaniu szablonu w wersji 2020.4, zaimportuj szablon do panelu administracyjnego e-Sklepu. Możesz to zrobić w menu Wygląd sklepu/ Ustawienia/ Więcej / Edytuj ustawienia zaawansowane/ Import szablonu.  

Jak wstawić dodatkową Wtyczkę (Widget) w szablonie Topaz?

Dodatkowy widget np. Ceneo Zaufane Opinie, Facebook Messenger lub inne można samodzielnie zaimplementować w kodzie szablonu. Wystarczy kilka prostych kroków, dzięki którym będzie można wyświetlić swoim Klientom dodatkowy widget na każdej stronie w e-Sklepie. Wszystkie wtyczki posiadają indywidualny skrypt, który należy wkleić w odpowiednim miejscu w kodzie szablonu. Obsługa w szablonie Topaz: Krok 1. W panelu administracyjnym e-Sklepu należy przejść do sekcji Wygląd sklepu/Ustawienia/(opcja trzy kropki w górnym prawym rogu) Edytuj ustawienia zaawansowane/ (ponownie opcja trzy kropki w górnym prawym rogu) Edytuj HTML. Krok 2. Odnaleźć plik base_layout.html i przejść do jego edycji. Krok 3. Skopiować skrypt danego widgetu, a następnie wkleić go w odpowiedniej sekcji pod koniec pliku. Poniżej wklejonego skryptu mają zostać tylko linijki zawierające zamknięcie tagu html, zamknięcie tagu body oraz zamknięcie( {% endif -%} ) jednego warunku. Powyżej wklejonego kodu powinno być zamknięcie ( {% endif -%} ) warunku {% if config.External.SalesManago -%}. Krok 4. Zapisać i opublikować zmiany.
Uwaga
Powyższa instrukcja dotyczy szablonu Topaz. Należy także pamiętać, iż różnego rodzaju wtyczki mogą wymagać odrębnej implementacji w różnych plikach szablonu. Zawsze należy zapoznać się z dokumentacją oraz wymaganiami dostawcy wtyczki. Jeżeli powyższa instrukcja nie jest wystarczająca dla wyświetlenia dodatkowej wtyczki w szablonie należy skontaktować się z Partnerem Comarch, w celu uzyskania dodatkowej pomocy.
Wskazówka
Chcesz dodać do e-Sklepu wtyczkę Facebook Messenger Chat? Skorzystaj z odrębnie przygotowanej instrukcji dostępnej w artykule Obsługa wtyczki Czatu Facebooka w szablonach.

Jak wyeksportować i zaimportować swój szablon w e-Sklepie?

Comarch e-Sklep daje możliwość dostosowania wyglądu do preferencji sprzedawcy oraz potrzeb Klientów. Jeśli utworzyłeś już swój autorski projekt, to masz możliwość jego zapisania. Plik będzie potrzebny przy chęci modyfikacji wyglądu. Zapisana wersja szablonu może również stanowić kopię bezpieczeństwa. Warto jest więc wyeksportować szablon do pliku.

Jak wyeksportować swój szablon z Comarch e-Sklep?

Krok 1. W panelu administracyjnym przejdź do sekcji Wygląd Sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane/ zakładka Eksport szablonu.

Krok 2. W tym miejscu możesz opcjonalnie (przed eksportem) określić autora szablonu, podać adres e-mail, telefon oraz adres WWW swojego e-Sklepu.

Krok 3. Jeżeli chcesz wyeksportować szablon do pliku użyj przycisku Eksportuj szablon.

Gotowe! Szablon został wyeksportowany do pliku na Twoim urządzeniu.

Wskazówka
Z tego miejsca możesz także wyeksportować posiadane w e-Sklepie bannery, korzystając z przycisku Eksportuj bannery.

Jak wgrać własny szablon do Comarch e-Sklep?

Własny szablon. Jak go wgrać?

Po skomponowaniu swojego własnego szablonu możesz wgrać go do e-Sklepu. Postępuj zgodnie z poniższymi krokami.

Krok 1. W panelu administracyjnym przejdź do sekcji Wygląd Sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane/ zakładka Import szablonu.

Krok 2. Określ, czy wgrywany szablon ma podmienić istniejące bannery. Gdy parametr zostanie zaznaczony, wówczas wszystkie bannery zapisane na danym slocie zostaną usunięte i zastąpione bannerami z importowanego szablonu.

Krok 3. Wybierz plik XML swojego szablonu i naciśnij Importuj szablon.

Uwaga
Import szablonu jest operacją nieodwracalną i spowoduje nadpisanie dotychczasowego szablonu. W przypadku, gdy szablon był modyfikowany (dokonywano zmian w kodzie HTML) jego aktualizacja spowoduje, iż zmiany nie zostaną przeniesione. Warto wykonać eksport posiadanego szablonu do pliku w celu zapisania oraz posiadania wglądu to wprowadzanych modyfikacji. Jeżeli istnieje taka konieczność należy ponownie dokonać samodzielnej edycji szablonu

Wskazówka
W zakładce Szablony możesz określić, czy wgrywany szablon ma być domyślny i aktywny w e-Sklepie.

Krok 4. Teraz możesz podejrzeć zmiany, jakie zaszły w wyglądzie Twojego e-Sklepu. W tym celu możesz podejrzeć zmiany w czasie rzeczywistym lub przejść w tryb incognito. Pamiętaj, że wszelkie zmiany zostaną opublikowane po pełnej synchronizacji, która wciągu 10 minut zgodnie z wyświetlanym komunikatem.

Gotowe! Twój szablon został zaimportowany do e-Sklepu.

Element tekstowy w szablonie Topaz

Wstęp

Szablon Topaz możesz samodzielnie zbudować w Kreatorze. Dzięki unikalnej kombinacji różnych elementów będzie on dostosowany do Twoich potrzeb. Jednym z nich jest element tekstowy, dostępny w wersji bez obrazka i z obrazkiem. Charakteryzuje się on możliwością wprowadzenia statycznego opisu na stronie głównej w e-Sklepie. Możesz zawrzeć w nim np. podstawowe informacje na temat Twojej firmy, asortymentu sklepu lub inne wartościowe dla Ciebie treści.
Wskazówka
Zobacz, jak wygląda element tekstowy z obrazkiem bezpośrednio w naszym sklepie demonstracyjnym pod adresem: demo.comarchesklep.pl.

Element tekstowy w Kreatorze Wyglądu Topaz

W Kreatorze Wyglądu masz do wyboru dwa rodzaje elementu tekstowego:
  • bez obrazka (sam tekst) (textElement-1),
  • z obrazkiem (textElement-2).
Dodaj element tekstowy do kompozycji Twojego projektu i dowiedz się, jak skonfigurować go pod swój e-Sklep. Element ten możesz dodać do strony głównej szablonu.
Element tekstowy w Kreatorze Wyglądu

Konfiguracja elementu tekstowego w panelu administracyjnym

Po wygenerowaniu szablonu wgraj go na zakładce Wygląd sklepu/ Zaimportuj szablon z Kreatora wyglądu, zgodnie z instrukcją.

Element bez obrazka

Jeżeli w Kreatorze wybrałeś element tekstowy bez obrazka (o nazwie textElement-1), przejdź do zakładki Wygląd Sklepu/ Ustawienia/ "Więcej" Edytuj ustawienia zaawansowane/ Obiekty. Znajdź na liście obiekt text-el-no-photo-mp-2 (typ tekstowy), a następnie przejdź do jego szczegółów klikając w nazwę obiektu. Domyślny element zawiera nagłówek pierwszego poziomu oraz drugiego poziomu, a także tekst podzielony na trzy kolumny. Masz możliwość edycji treści za pomocą znaczników języka HTML. Przed rozpoczęciem modyfikacji upewnij się, że masz wybrany odpowiedni język.
Wskazówka
Dla każdej wersji językowej należy osobno zmienić treść.
Po zakończonej edycji pamiętaj o zapisaniu oraz opublikowaniu zmian. Element textElement-1 na stronie sklepu prezentuje się domyślnie:

Element z obrazkiem

Jeżeli w Kreatorze wybrałeś element z obrazkiem (nazwa:textElement-2) konfigurację elementu rozpocznij od dodania zdjęcia dla elementu w plikach użytkownika. Aby to zrobić przejdź do zakładki Ustawienia/ Pliki użytkownika i ikoną plusa wgraj zdjęcie, które chcesz dodać do elementu tekstowego. Następnie przejdź do zakładki Wygląd Sklepu/ Ustawienia/ "Więcej" Edytuj ustawienia zaawansowane/ Obiekty. Znajdź na liście obiekt text-el-photo-mp-1(typ tekstowy) i przejdź do jego szczegółów.  Domyślny element zawiera nagłówek pierwszego poziomu oraz drugiego poziomu, miejsce na zdjęcie oraz tekst podzielony na dwie kolumny. Masz możliwość edycji treści oraz zmiany położenia obrazka za pomocą znaczników języka HTML. Przed rozpoczęciem modyfikacji upewnij się, że masz wybrany odpowiedni język.
Wskazówka
Dla każdej wersji językowej należy osobno zmienić treść.
Aby obrazek został wgrany do elementu tekstowego, pomiędzy znacznikami <image></image> musisz poprawnie wpisać ścieżkę dla wgranego wcześniej obrazka. Dla plików użytkownika jest to user/nazwa obrazka. Po zakończonej edycji pamiętaj o zapisaniu oraz opublikowaniu zmian. Element textElement-2 z wgranym obrazkiem na stronie sklepu prezentuje się następująco: W wersji mobilnej e-Sklepu masz możliwość widoku elementu tekstowego w wersji zwiniętej lub rozwiniętej. Część treści jest początkowo ukryta, ale odwiedzający może wyświetlić pełny tekst, klikając przycisk Więcej, który następnie może zwinąć za pomocą przycisku Mniej.
Wskazówka
Zobacz element tekstowy z obrazkiem bezpośrednio w naszym sklepie demonstracyjnym pod adresem: demo.comarchesklep.pl. 

Rozbudowana stopka w szablonach Topaz i Szafir - jak ją skonfigurować?

Wstęp

Stopka to jeden z podstawowych elementów każdego sklepu internetowego. Oprócz wymaganych informacji, które muszą się w niej znaleźć, może zawierać zbiór innych odniesień do konkretnych sekcji w Twoim e-Sklepie, do Twojego bloga lub profili w social mediach. Odnośniki mogą pozytywnie wpływać na wizerunek Twojego sklepu, przyczyniając się do wsparcia sprzedaży i generując większy ruch na stronie. W Kreatorze wyglądu obok standardowych widoków znajduje się dodatkowy, który jest bardziej rozbudowany. W przypadku szablonu Topaz jest to trzeci widok (footer-3), zaś w przypadku Szafira - drugi widok (footer-2). Dzięki modyfikacji obszaru możesz jeszcze bardziej spersonalizować swój sklep poprzez uzupełnienie stopki w więcej przydatnych informacji.

Konfiguracja rozbudowanej stopki

Jak przystąpić do edycji stopki?

Po zaimportowaniu z Kreatora wyglądu stopka będzie wyświetlać się w ograniczonym zakresie. Niezmiennie jej edycji dokonasz z perspektywy zakładek: Wygląd Sklepu/Ustawienia a następnie sekcji Nagłówek/Stopka. To tutaj zdecydujesz o ilości grup stron, konkretnych elementach w ich obrębie a następnie o kolejności w jakiej będą prezentować się w e-Sklepie. Również z tego poziomu dodasz odwołania do Twoich profili na portalach społecznościowych oraz ustawisz favicon dla swojego sklepu internetowego.

Więcej możliwości edycji stopki

Rozbudowana stopka w szablonie Topaz oraz Szafir umożliwia dodanie większej ilości grup stron niż dotychczas. Dzięki temu z łatwością zamieścisz w niej wszystko czego potrzebujesz. Dodatkowo sekcję uzupełniono o grafiki partnerów logistycznych oraz obsługiwanych operatorów płatności.

Przykładowy wygląd rozbudowanej stopki w szablonie Topaz

Przykładowy wygląd rozbudowanej stopki w szablonie Szafir

Jak skonfigurować poszczególne elementy?

    • Elementy 1-5: dodawanie kolejnych grup stron oraz zmiana ich kolejności dokonywana jest poprzez sekcję Nagłówek/Stopka w Ustawieniach w obrębie zakładki Wygląd Sklepu. W obrębie danej grupy możesz dodawać konkretne strony poprzez kliknięcie przycisku Dodaj stronę ze sklepu.
Wskazówka
Zmiany kolejności poszczególnych grup odnośników lub zmiany danych odnośników w obrębie danej grupy dokonuje się metodą Przeciągnij i upuść.
    • Element 6: odpowiada za wyświetlanie następujących informacji: e-mail, numer telefonu, telefon2 (jeśli nie istnieje, to zastępowany jest przez telefon komórkowy) fax lub skype. W celu edycji danych kontaktowych należy przejść w panelu e-Sklepu do zakładki Ustawienia/Ustawienia sklepu. Informacje o adresie e-mail pobierane są automatycznie z zakładki Ogólne z sekcji Konto e-mail sklepu. Aby dodać lub zmodyfikować numer telefonu konieczne jest wybranie zakładki Dane sprzedawcy, następnie Infolinia i zweryfikowanie pola Telefon.
      Wskazówka
      W elemencie wyświetlone zostaną maksymalnie 3 informacje (e-mail, telefon i jedno z wybranych pól np. telefon2, telefon komórkowy lub fax.
    • Element 7: odwołania do portali społecznościowych dodajemy bez zmian. Więcej o tym znajdziesz tutaj.
    • Elementy 8-9: aby dodać informację o operatorach płatności oraz partnerach logistycznych należy wybrać zakładkę Wygląd Sklepu/Ustawienia/Bannery. Edycji dokonasz z perspektywy kafelków: Logistics Partners oraz Payment Operators poprzez dodanie właściwych grafik operatorów i partnerów. Aby zmienić nazwę „Operator płatności” i/lub „Partnerzy logistyczni” wybierz zamiast zakładki Bannery, zakładkę Tłumaczenia. Wyszukaj po parametrze „ID” LogisticsPartnersBannerTitle oraz PaymentOperatorsBannerTitle i zmodyfikuj pole „Tekst” według własnych preferencji. Zmiany zapisz i opublikuj. W przypadku chęci usunięcia któregoś z elementów, zaznacz go i naciśnij przycisk „Usuń”.
Wskazówka
Zalecane parametry grafik dla operatorów płatności i partnerów logistycznych: szerokość maksymalna 64 px, rozszerzenie PNG.
    • Element 10: dane dotyczące firmy pobierane są z zakładki Ustawienia/Ustawienia sklepu/Dane sprzedawcy/Dane identyfikacyjne, a także z obszaru: Ustawienia/ Ustawienia sklepu/ Informacja o działalności gospodarczej/ Numer KRS lub CEIDG, Organ rejestrujący oraz Ustawienia/ Ustawienia sklepu/ Adres pocztowy, gdzie uwzględnione zostaną wszystkie pola za wyjątkiem Szerokości i długości geograficznej.

Szablon Topaz - informacje

Autor: Comarch                                                                            Kontakt: e-sklep@comarch.pl Cena: bezpłatny                                                                           Kreator wyglądu: https://kreator.comarchesklep.pl/ Demo online:  https://demo-topaz2.comarchesklep.pl/             https://demo-topaz.comarchesklep.pl/ 

Kreator wyglądu Comarch e-Sklep umożliwia stworzenie oraz modyfikację nowego szablonu graficznego Topaz opartego na silniku DotLiquid.

Wygenerowany szablon jest również w technologii Responsive Web Design (RWD), dzięki czemu strona sklepu dostosowuje się automatycznie do rozdzielczości urządzenia, na którym jest wyświetlana i nie ma potrzeby tworzenia osobnych szablonów dla wersji mobilnej. Dodatkowo szablon jest dostosowany do wyświetlania w rozdzielczości 4K.

Od wersji 2019.6 szablon posiada obsługę funkcji PWA, czyli Progressive Web App. Gdy otworzysz e-Sklep z szablonem Topaz na urządzeniu mobilnym (w trybie responsywnym), sklep wyświetli komunikat o możliwości pobrania skrótu na ekran główny urządzenia. W rezultacie e-Sklep uruchomiony z takiego skrótu będzie wyświetlał się jak aplikacja natywna zainstalowana na urządzeniu mobilnym i dostosowana do wyświetlania na nim.

Szablon Topaz możesz samodzielnie zbudować w kreatorze, dzięki unikalnej kombinacji różnych elementów (dostępnych dla stron: strona główna, lista towarów oraz szczegóły towaru), a także motywów kolorystycznych, czcionki i wyglądu ikonofontów.

Wygenerowany szablon można dodatkowo poddać edycji w panelu administracyjnym. Proste ustawienia pozwalają spersonalizować wygląd sklepu poprzez zmianę następujących parametrów:

  1. Motyw kolorystyczny – możliwość skorzystania z predefiniowanych motywów i ich edycji. Możliwe jest wybieranie indywidualnych kolorów szablonu z wykazu bądź wprowadzanie kolorów przy użyciu zapisu szesnastkowego (heksadecymalnego),
  2. Ustawienia wstążek – zmiana kolorystyki flag promocyjnych na towarach,
  3. Bannery – możliwość edycji bannerów (zdjęcia, opis, linki),
  4. Logo i favicon – możliwość wgrania własnego logo i favicon (ikony widocznej na zakładce przeglądarki),
  5. Obiekty – konfigurowalne obiekty pozwalające zmienić np. ilość i sortowanie towarów wyświetlanych w kategoriach.
Wskazówka
Od wersji 2021.2 po uzupełnieniu pola Link (w widoku zaawansowanym) – cały baner staje się „klikalny”, to znaczy, że w przypadku kliknięcia na baner zostanie wykonane przekierowanie do określonego wcześniej linku (zarówno wewnętrznego - z danego e-Sklepu, jak i zewnętrznego - spoza danego e-Sklepu). W przypadku uzupełnienia obu pól: link oraz tekst – na banerze zostanie wyświetlony guzik: „Sprawdź”.
Wskazówka
Od wersji 2022 w szablonie zaimplementowano meta znaczniki Open Graph niezbędne do prawidłowej komunikacji z platformą Facebook oraz przesyłania towarów dla sklepu Facebook. Więcej na ten temat przeczytasz tutaj.
Możesz także skorzystać z Gotowych szablonów Comarch, dostępnych w panelu administracyjnym Wygląd sklepu/Gotowe szablony Comarch.Z tego poziomu możesz pobrać i zainstalować przygotowany przez nas szablon Topaz. Zalecane rozmiary zdjęć/banerów:
  • Podczas modyfikacji wyglądu szablonu Topaz w kreatorze istnieją trzy rodzaje nagłówków. Dla trzeciego rodzaju nagłówka (Header-3) wymiary dostępnego tam banneru wynoszą: 1118×534 px.
Wskazówka
W wersji 2021.2. w szablonie Topaz umożliwiono dodanie więcej niż jednego zdjęcia do banneru w nagłówku nr 3. Po dodaniu minimum dwóch obrazków na bannerze pojawi się slajder pozwalający na ich przewijanie (za pomocą strzałek).
  • Podczas modyfikacji wyglądu szablonu Topaz w kreatorze, mamy możliwość wyboru sześciu prezentacji banerów. Wymiary podane w jednostce px.
Banner-1: Banner-2: Banner-3: Banner-4: Banner-5: Banner-6:
Wskazówka
Możliwość edytowania wyżej opisanego banneru z poziomu panelu administracyjnego Comarch e-Sklepu: Wygląd Sklepu/Ustawienia/Bannery/kafelki homepage. Nazwa znajdująca się pod zalecanym rozmiarem grafiki wskazuje poprzez który kafelek ma zostać dodany obraz. O kolejności dodanych w obrębie jednego kafelka obrazków możesz zdecydować indywidualnie, przeciągając i upuszczając grafikę.
  • Rozmiar dla baneru, który pokazuje się po rozwinięciu kategorii wynosi 220px x 295px:

Wskazówka
Możliwość edytowania wyżej opisanego banneru z poziomu panelu administracyjnego Comarch e-Sklepu: Wygląd Sklepu/Ustawienia/Bannery/menuBanner

  • Rozmiar dla zdjęcia na stronie Kontakt wynosi 610px x 605px:

Wskazówka
Możliwość edytowania wyżej opisanego banneru z poziomu panelu administracyjnego Comarch e-Sklepu: Wygląd Sklepu/Ustawienia/Bannery/contactBanner

  • Rozmiary dla zdjęć na stronie Lookbook wynosi: 560px x 630px, 700px x 850px, 1260px x 540px, 630px x 950px, 560px x 630 px.

Wskazówka
Możliwość edytowania wyżej opisanego banneru z poziomu panelu administracyjnego Comarch e-Sklepu: Wygląd Sklepu/Ustawienia/Bannery/lookbook

 
  • Rozmiar dla baneru, który pokazuje się na zakładce Promocje, po otworzeniu sekcji Profil klienta wynosi 1920px x 680px.

Wskazówka
Możliwość edytowania wyżej opisanego banneru z poziomu panelu administracyjnego Comarch e-Sklepu: Wygląd Sklepu/Ustawienia/Bannery/CustomerProfileBanner

 
  • Rozmiary dla zdjęć kategorii na liście wynoszą 885×400 dla dużego obrazka i 430×400 dla małego obrazka. Zdjęcia w wersji mobilnej przycinane są centralnie do rozmiarów 380×360. Widok listy kategorii zależy od wybranej listy towarów.
    Lista kategorii w szablonie dla widoku 1 i 2 listy towarów (obiekty o nazwach: products-1 i products-2)
Lista kategorii w szablonie dla widoku 3 i 4 listy towarów (obiekty o nazwach: products-3 i products-4)
  • Rozmiar dla obrazu produktu wynosi 660px x 630px.

Dla bardziej zaawansowanych użytkowników znających technologie takie jak HTML, CSS, JS, DotLiquid udostępniony jest obszar z plikami szablonu, gdzie można dokonywać zmian na poziomie kodu szablonu, co daje dalsze, praktycznie nieograniczone możliwości edycji i personalizacji wyglądu sklepu.

Od wersji 2019.6 została dodana możliwość kopiowania wcześniej złożonego zamówienia do koszyka, a także możliwość sprawdzenia historii konta przez zalogowanych użytkowników. Niezarejestrowani użytkownicy mogą sprawdzić szczegóły złożonego zamówienia w Comarch e-Sklep. W tym celu kontrahent powinien przejść do szczegółów zamówienia za pomocą linku, który otrzymuje w wiadomości e-mail. Dodatkowo wprowadzona została możliwość włączenia w Szablonie Topaz sprzedaży w jednostkach niecałkowitych, a także sprawdzania poprawności wprowadzanego numeru NIP dla Polski. Więcej na ten temat opisane zostało w ulotce do wersji 2019.6.

Od wersji 2020 na liście towarów został rozszerzony obszar klikalny dla wybranego towaru poprzez który można przejść do jego szczegółów. Klient może przejść do szczegółów towaru klikając nie tylko w zdjęcie towaru, ale również w jego nazwę oraz cenę lub odpowiedni napis, na przykład Zapytaj o cenę. Również w tej wersji została dodana możliwość wprowadzenia przez Klientów podczas składania zamówienia daty dostawy zakupionego towaru. Dodatkowo od tej wersji w momencie, gdy zalogowany klient będzie chciał przejść do strony logowania lub rejestracji (na przykład klikając w odpowiednią sekcję stopki) zostanie on przeniesiony na stronę profilu klienta. Więcej na temat zmian opisano w ulotce do wersji 2020. Od wersji 2020.3 w szablonie Topaz została wprowadzona możliwość dodania do szablonu slajdera marek oraz producentów. Na sliderach wyświetlane są loga marek lub producentów, które zostały zaimportowane z systemu ERP. Również w tej wersji została dodana możliwość szesnastkowego zapisu kolorów wyświetlanych w e-Sklepie. Zapis heksadecymalny dla poszczególnych sekcji w szablonie dostępny jest w panelu administracyjnym na ustawieniach wyglądu sklepu. Więcej na ten temat zostało opisane w ulotce do wersji 2020.3. Również w wersji 2020.3 została udostępniona strona wyszukiwarki zaawansowanej. Umożliwia ona bardziej precyzyjne określenie poszukiwanych w sklepie towarów, poprzez:
  • określenie kategorii produktowej,
  • wybranie sposobu wyszukiwania (z wyrażeniem, z
  • określenie pól, które mają być sprawdzone podczas wyszukiwania (opis towaru, cechy towaru, symbol, kod towaru, kod EAN, kod producenta),
  • zawężenie cech wyszukiwanego towaru (ceny, produktów ze zdjęciem, czy flag dodanych do towaru, jak nowość czy wyprzedaż),
  • wybranie producentów,
  • określenie marek.
  Od wersji 2020.4 dodano możliwość prezentacji drugiego zdjęcia na liście towarów dla szablonu Topaz. Po najechaniu kursorem na zdjęcie główne pojawi się drugie zdjęcie. Opcję można włączyć w Ustawieniach szablonu w panelu administracyjnym e-Sklepu Wygląd sklepu/ Ustawienia w sekcji Prezentowanie drugiego zdjęcia towaru na liście. W wersji 2020.4 poprawiono również skalowanie bannerów na ekranach o niestandardowych rozdzielczościach dla szablonu Topaz. Co więcej, w wersji 2020.4 szablonu Topaz zmieniono sposób wyświetlania sekcji Blog na stronie głównej. Jeżeli w e-Sklepie nie opublikowano żadnych wpisów do bloga, to pomimo dodania tej sekcji w Kreatorze Wyglądu, nie będzie ona widoczna na stronie głównej. Publikacja minimum jednego wpisu spowoduje pojawienie się bloga w e-Sklepie. Od wersji 2020.4 dla szablonu Topaz dodano w Profilu Klienta na liście zamówień informacje o statusach dostawy i płatności poszczególnych dokumentów. Od wersji 2021.2. dla szablonu Topaz wprowadzono nowy sposób filtrowania towarów. Usprawniono sposób wyświetlania ilości wyników w danym filtrze. Jeżeli wyszukiwanie odbywa się na podstawie jednego filtra, wówczas liczba towarów w danym filtrze wyświetla łączną ilość dla poszczególnych pozycji, zaś dla pozostałych filtrów określa, ile z nich spełnia dane kryteria. Gdy filtrowanie odbywa się w kilku sekcjach, wówczas będą wyświetlane odpowiednie ilości towarów spełniające wskazane kryteria. Jeżeli ilość towarów w danej sekcji wyniesie 0 to zostanie ona wyłączona, bez możliwości zaznaczenia. W szablonie Topaz, na stronie szczegółów towaru dodano w wersji 2021.2. mechanizm pozwalający na powiększenie zdjęcia towaru. Po kliknięciu w miniaturkę zdjęcia pokazuje się jego powiększenie. Od wersji 2021.2 w szablonie Topaz w nagłówku 1 i 2 z poziomym menu, wprowadzono rozszerzanie menu, kiedy do e-Sklepu udostępnionych jest bardzo dużo kategorii oraz podkategorii. W ustawieniach szablonu Topaz (które dostępne są w panelu administracyjnym w menu Wygląd sklepu/ Ustawienia/ Ustawienia szablonu) dodano parametry umożliwiające zarządzanie edycją terminu dostawy podczas składania zamówienia. W wersji 2021.2. można pozwolić klientom na planowanie terminu dostawy poprzez określenie jej oczekiwanej daty lub daty dostawy oraz jej godziny. Dla włączonego parametru domyślnie ustawiono edycję daty dostawy.
Od wersji 2021.2. w ustawieniach szablonu Topaz dodano także parametr, który pozwala określenie, w jakiej kolejności mają zostać wyświetlone kategorie w e-Sklepie. Parametr znajduje się w panelu administracyjnym w sekcji Wygląd Sklepu/Ustawienia. Istnieją dwie możliwości: kolejność zgodna z ustawieniami w systemie ERP lub domyślna – zgodna z zaleceniami optymalizacyjnymi szablonu. Uwaga, aby wyświetlać kategorie zgodnie z ustawieniami w systemie ERP, należy odpowiednio w posiadanym systemie ERP ustalić kolejność kategorii, a następnie wykonać synchronizację danych. Podczas ustawienia minimalnej wartości zamówienia dla darmowej dostawy od wersji szablonu Topaz  2022, klient po wyborze dostawy, widzi komunikat określający, jaka jest minimalna wartość zamówienia by, dostawa była darmowa. Komunikat zostanie wyświetlony, gdy dla wybranej dostawy określono próg wartości zamówienia (większy od 0zł), po przekroczeniu, którego koszt dostawy będzie darmowy, a wartość samego koszyka nie spełnia jeszcze określonych warunków. Przykładowa konfiguracja darmowej dostawy o minimalnej wartości zamówienia. Od wersji 2022 dla nowo przygotowanych widoków listy towarów w szablonie Topaz zostały dodane i obsłużone następujące ustawienia w panelu administracyjnym w zakładce Wygląd sklepu/ Ustawienia: Dla powyższych punktów domyślnymi ustawieniami są opcje zaznaczone powyżej. Ustawienia te można zmienić według własnego uznania, a następnie należy użyć opcji Zapisz i Publikuj. Od wersji 2022.2 został dodany nowy widok szczegółów towaru. Obiekt o nazwie product-details-3 dostępny jest do wyboru podczas tworzenia nowego szablonu w Kreatorze Wyglądu Comarch. W nowym widoku została dodana nowoczesna galeria zdjęć, w której oprócz zdjęć można zaprezentować także film dodany dla towaru w systemie ERP. Widok charakteryzuje się przejrzystym układem, zawiera dodatkowe sekcje z towarami polecanymi, ostatnio oglądanymi, a także zestawami towarów dostępnych do kupienia. Od wersji 2022.4 dodany został nowy widok szczegółów towaru. Obiekt products-details-4 zawiera wszystkie dotychczasowe funkcje, obsługuje również wszystkie mechanizmy znane z poprzednich widoków szczegółów towaru. Najnowszy widok charakteryzuje się nowoczesną galerią zdjęć, w której dostępne są także filmy. Pod galerią w formie zakładek prezentowany jest opis towaru, cechy, opinie klientów oraz załączniki. Widoczne są również dodatkowe sekcje z zestawami towarów do kupienia, towarami polecanymi, a także ostatnio oglądanymi. Obiekt products-details-4 widoczny jest w Kreatorze Wyglądu Comarch. podczas tworzenia lub edycji szablonu. W najnowszej wersji szablonu Topaz możliwe jest prezentowanie i odtwarzanie plików w formacie MP4. Po przesłaniu filmu z systemu Comarch ERP Optima lub Comarch ERP XL do swojego e-Sklepu, zostanie on wyświetlony w sekcji z filmami lub w galerii w zależności od wariantu widoku na stronie ze szczegółami towaru. Również w wersji 2020.4 został udostępniony parametry do zarządzania prezentacją atrybutów, który znajduje się w Panelu Administracyjnym w sekcji: Wygląd sklepu/ Ustawienia/ Ustawienia szablonu/ Dodatkowe. Klient ma możliwość graficznej prezentacji atrybutów dla towarów:
  • zgrupowanych z atrybutami,
  • z cechami,
  • z atrybutami wielowartościowymi
W wersji 2022.5 dodano nowy motyw kolorystyczny dla szablonu Topaz. Dzięki motywowi ciemnemu interfejs graficzny przybiera ciemniejsze barwy, zastępując jasne tony. W kontraście do tła wszystkie ikony, przyciski oraz napisy przybierają barwę jasną. Domyślnie elementy szablonu składają się z granatowego, fioletowego oraz czerwonego koloru, jednak można je zmienić i dostosować do swoich indywidualnych potrzeb. Motyw ciemny w szablonie Topaz można zaprojektować samodzielnie, korzystając przy tym z Kreatora Wyglądu Comarch.

Obsługa wyświetlania kolorów w filtrze na liście towarów

Od wersji szablonu 2023.1.1 dodaliśmy obsługę filtru typu kolor w formie graficznej. Funkcję można uruchomić z poziomu panelu administracyjnego e-Sklepu, w zakładce Wygląd sklepu/Ustawienia/Ustawienia szablonu/Dodatkowe. Dodatkowo, jest ona dostępna jest ona także z poziomu Kreatora Wyglądu, w sekcji Lista towarów/Ustawienia. Po jej zaznaczeniu wyświetli się odpowiednia sekcja, pozwalająca na przypisanie odpowiednich wartości atrybutu odpowiadającego za kolor do konkretnych wartości heksadecymalnej. Aby poprawnie skonfigurować funkcję w systemie Comarch ERP potrzebny będzie atrybut o nazwie Kolor, którego typem będzie Lista, a za wartości listy obierzemy odpowiednie dla nas nazwy kolorów.
Wskazówka
Opcja ta posiada także funkcję automatycznego mapowania kolorów po ich nazwie. Dostępna będzie ona dla atrybutów, których struktura kolorów jest standardowa np. Nazwa atrybutu to Kolor, a jego wartości to czerwony, zielony, niebieski, itd. Mapowanie to nie zadziała dla atrybutów, których wartości będą takie jak np. wielokolorowy, zgniły zielony, etc. W tym wypadku konieczne będzie korzystanie z wyżej wspomnianego, mapowania ręcznego. [/indicator.] Poprawnie utworzone filtry graficznie, będą prezentować się na stronie następująco:

Ilość kupionych i kupujących towar

Od wersji 2023.1.1 w szablonie Topaz dodano możliwość liczenia ilości osób, która zakupiła dany towar. Funkcja ta możliwa jest do uruchomienia z poziomu Kreatora wyglądu w sekcji Szczegóły towaru/Towar/Ustawienia:   Możesz ją także skonfigurować z poziomu panelu administracyjnego, przechodząc do sekcji Wygląd sklepu/Ustawienia/Ustawienia szablonu/Ogólne w zakładce Informacja o ilości zakupionego towaru. Podczas konfiguracji możesz zaznaczyć jedną z dostępnych opcji:
  • Tak, zawsze pokazuj wartość zakupionych sztuk i klientów – po zaznaczeniu tego parametru klient będzie miał zawsze możliwość podejrzenia ilości kupionego towaru oraz liczby osób, które dokonały zakupu,
  • Tak, powyżej ilości sprzedanych sztuk – w tym przypadku po zaznaczeniu opcji klient będzie miał możliwość podejrzenia ilości dotychczas zakupionego towaru oraz liczby osób, które dokonały zakupu. Będzie to możliwe jednak tylko wtedy, gdy towar został sprzedany w ilości większej niż X sztuk,
  • Nie – informacja na temat ilości zakupionego towaru oraz kupujących nie będzie widoczna.
Dane dotyczące ilości sprzedanych sztuk nie są przetwarzane natychmiastowo. Informacje te aktualizują się po około 24 godzinach.  Po tym czasie są widoczne w e-Sklepie. Wspomniana funkcja prezentuje się następująco:

Przywracanie koszyka dla klientów niezalogowanych

W szablonie Topaz przywracany jest koszyk  dla niezalogowanych klientów. Po opuszczeniu strony lub wyłączeniu przeglądarki klient niezalogowany powracający do sklepu będzie widział towary dodane do koszyka wcześniej. Proces ten działa dzięki zapisywaniu informacji w ciasteczkach. Szczegóły dotyczące generowania szablonu Topaz znajdziesz w artykule o kreatorze szablonu.

Wymagania szablonu Topaz:

  • Comarch e-Sklep w wersji minimum 2019.2,
  • e-Sklep obsługujący procesy B2C,
  • przeglądarki internetowe:

Informacja o tym, że towar znajduje się w koszyku.

W szablonie Topaz Klient zostanie poinformowany o tym, że dany produkt znajduje się już w koszyku. Po wyborze towaru i kliknięciu "Kup teraz", przy ponownej próbie dodania do koszyka, na przycisku pojawi się ikona oraz odpowiedni tooltip: Informacja widnieje na szczegółach towaru oraz pop upie podczas kupowania z listy. W szablonie Topaz prezentacja tej informacji stanowi dodatek i domyślnie jest wyłączona. Żeby ją uruchomić, należy przejść do panelu administracyjnego, a następnie do sekcji Wygląd sklepu/ Ustawienia/ zakładka "dodatkowe". Następnie po odnalezieniu sekcji "Informuj o tym, że towar znajduje się już w koszyku" należy zmienić opcję na "TAK". Po dokonaniu modyfikacji koniecznie zapisz i opublikuj zmiany.
Wskazówka
Od nowej wersji 2024 w koszykach szablonów Topaz oraz One Page Shop jest możliwość wyświetlania ceny za sztukę. Pojawi się ona po dodaniu do koszyka kilku sztuk produktu. Przy jednej sztuce towaru wyświetlana będzie tylko cena.
Przeglądarki
  •   Mozilla Firefox – aktualna wersja przeglądarki, nie starsza niż trzy miesiące,
  •   Google Chrome – aktualna wersja przeglądarki, nie starsza niż trzy miesiące,
  •   Microsoft Edge – nie wspierana dla szablonu Topaz,
  •   Internet Explorer – nie wspierana dla szablonu Topaz.
Od wersji 2024.1.1 w szablonie Topaz dodano możliwość wyświetlania w koszyku informacji jakiej kwoty brakuje do darmowej dostawy.  Funkcja ta możliwa jest do uruchomienia z poziomu Panelu Administracyjnego w sekcji Wygląd sklepu/ Ustawienia/ Ustawienia szablonu/ Ogólne: Ustawienia te można zmienić według własnego uznania, a następnie należy użyć opcji Zapisz i Publikuj.

Graficzna prezentacja atrybutów na karcie produktu oraz na liście towarów w szablonie Topaz

Wstęp

Funkcja umożliwia prezentację atrybutów w formie kolorów oraz miniatur. Dotyczy ona towarów zgrupowanych (fantomów). W tym artykule dowiesz się jak poprawnie zmodyfikować ustawienia, aby Twój e-Sklep obsługiwał graficzną prezentację atrybutów.

Konfiguracja atrybutów graficznych

Aby skonfigurować atrybuty graficzne należy przejść w Panelu administracyjnym do zakładki Wygląd sklepu/ Ustawienia/Dodatkowe. W tym miejscu możesz dokonać wyboru w jaki sposób powinny być prezentowane atrybuty: jako kolory lub miniatury zdjęć. Po najechaniu kursorem na zdjęcie produktu, który znajduje się na liście towarów, zostanie wyświetlona odpowiednia wersja graficzna atrybutu.
Wskazówka
Pamiętaj, aby wprowadzone zmiany były widoczne w e-Sklepie należy je Zapisać i Opublikować.
Po przejściu do zakładki Dodatkowe domyślnie parametr odnoszący się do graficznej prezentacji wariantów towarów ustawiony jest na Nie. Funkcjonalność opisywanych wariantów zależy od wybranej wersji listy towarów oraz szczegółów towarów, które możemy edytować w Kreatorze Wyglądu Comarch e-Sklep. Aby sprawdzić, który wariant posiada nasz szablon, podczas jego tworzenia musimy najechać na ikonkę informacyjną i, znajdującą się na kafelkach danego szczegółu towaru, listy towarowej, etc. Products-4 oznacza 4 wariant listy towarów, a więc nazwa danego kafelku, a następnie przypisana jej cyfra oznacza dany wariant odpowiedniej sekcji. Kreator wyglądu Comarch e-Sklep

Wariant - Kolory

Po wybraniu wariantu Kolory, automatycznie w panelu administracyjnym pojawi się nowe okno z nazwami kolorów i ich odpowiednikami graficznymi w notacji heksadecymalnej. Związane jest to z samą konfiguracją wspomnianej funkcji i mapowaniem kolorów. Funkcja ta działa na podstawie atrybutów ustawianych na towarach w systemie ERP. Domyślnie wartości kolorów takie jak np. czerwony, zielony, etc. mapowane są automatycznie i wypełnianie poniższego okienka nie jest konieczne. Natomiast, jeżeli nasz atrybut zawiera niestandardowe nazwy kolorów np. brzoskwiniowy, wielokolorowy - wtedy musimy skorzystać z poniższego pola i przypisać odpowiedniej wartości atrybutu interesujący nas kolor.

Przykładowa konfiguracja wariantu - Kolory

W systemie ERP utwórz atrybut o nazwie Kolor i formacie lista, a następnie udostępnij go do Comarch e-Sklep. Wypełnij pozycje listy wpisując kolory, np. czerwony, zielony, niebieski itd. Następnie przypisz wspomniany atrybut do odpowiedniego towaru, który zostanie przesłany do e-Sklepu. Przy przypisywaniu tego atrybutu do danego towaru, jego Wartość pozostaw pustą, tak aby umożliwić wybór wariantów kolorystycznych. Po wykonaniu powyższych czynności wykonaj synchronizację z e-Sklepem.

Prezentacja wariantu Kolory na stronie e-Sklepu

Na liście towarów - dla wariantów 3 i 4 (products-3 oraz products-4) Na szczegółach towarów - dla wszystkich wariantów Ponadto jeżeli atrybut, który został użyty do utworzenia powyższych wariantów towarów, przypiszesz do swojej grupy towarowej w systemie Comarch ERP i utworzysz z niego filtr, pojawi się on także w formie graficznej.

Wariant - Miniatury (tylko dla towarów zgrupowanych - "fantomów")

Wybranie wariantu miniatury pozwoli na prezentację wariantu towarów w sposób graficzny przy użyciu pierwszego zdjęcia danego towaru zgrupowanego (fantoma). W związku z jej charakterystyką (do obsłużenia każdy z towarów potrzebuje swojego zdjęcia) funkcja ta dostępna jest tylko dla towarów zgrupowanych.

Przykładowa konfiguracja wariantu - Miniatury

W systemie Comarch ERP stwórz towar zgrupowany zgodnie z dokumentacją Comarch e-Sklep. Przykładowa konfiguracja w tym przykładzie została utworzona na podstawie atrybutu Kolor.

Prezentacja wariantu Miniatury na stronie e-Sklepu

Na liście towarów - dla wariantów 3 i 4 (products-3 oraz products-4) Na szczegółach towarów - dla wariantów 3 i 4 (product-details-3 oraz product-details-4)

 

Ilość kupujących i ilość zakupionego towaru w szablonie Topaz

Wstęp

Funkcja prezentuje liczbę osób, które kupiły dany towar. Prezentowana jest także ilość zakupionego asortymentu w określonym czasie. Informacja ta widoczna będzie na szczegółach towaru w szablonie Topaz. Po najechaniu kursorem na ilość osób wyświetli się tooltip informujący dodatkowo o tym, ile sztuk danego towaru zostało sprzedanych.
Wskazówka
Funkcja jest dostępna w szablonie Topaz od wersji 2023.1
Przykład wyświetlania informacji na szczegółach towaru

Konfiguracja - panel administracyjny

Z poziomu panelu administracyjnego przejdź do zakładki Wygląd sklepu/ Ustawienia/ Ogólne. Odnajdź sekcje Informacja o ilości zakupionego towaru. Do wyboru masz trzy opcje:

  • Tak, zawsze pokazuj wartość zakupionych sztuk i klientów – po zaznaczeniu tego parametru klient będzie miał zawsze możliwość podejrzenia ilości kupionego towaru oraz liczby osób, które dokonały zakupu,
  • Tak, powyżej ilości sprzedanych sztuk – w tym przypadku po zaznaczeniu opcji klient będzie miał możliwość podejrzenia ilości kupionego towaru oraz liczby osób, które dokonały zakupu, ale tylko wtedy, gdy towar został sprzedany w ilości większej niż X sztuk,
  • Nie – informacja na temat ilości zakupionego towaru oraz kupujących nie będzie widoczna.
Po dokonaniu modyfikacji zmiany należy zapisać i opublikować.

Konfiguracja - Kreator wyglądu B2C

Z poziomu Kreatora wyglądu B2C również możesz ustawić wspomniany parametr. Podczas projektowania szablonu przejdź na widok dotyczący Szczegółów towaru. Następnie przejdź do ustawień sekcji Towar. Znajdź Informacje o ilości zakupionego towaru. Zaznacz odpowiedni parametr, po czym zapisz zmiany.   Po dokonaniu modyfikacji wygeneruj szablon, a następnie zaimportuj go w swoim e-Sklepie.

Jak wykonać kopię bezpieczeństwa mojego szablonu?

Jak wykonać kopię bezpieczeństwa mojego szablonu?

Oprawa wizualna sklepu jest bardzo ważnym elementem podczas prowadzenia sprzedaży w sieci. Narzędzie Kreator Wyglądu Comarch e-Sklep umożliwia stworzenie własnych, niepowtarzalnych szablonów wedle preferencji i potrzeb użytkowników. W intuicyjnym narzędziu jakim jest Kreator, będziesz w stanie zaprojektować wszelkie niezbędne funkcje, takie jak stronę główną, listę towarów, szczegóły towaru oraz koszyk. Jeśli Twój projekt szablonu został zaimportowany do e-Sklepu oraz skonfigurowany wedle Twoich preferencji (dodanie grafik do bannerów, modyfikacje kolorystyczne) masz możliwość jego zapisania, co będzie stanowić kopię bezpieczeństwa. Kopia bezpieczeństwa to dane, które w każdej chwili można odtworzyć w przypadku ich utracenia (np. poprzez przypadkowe usunięcie) lub częstego wprowadzania zmian. Dane, jakie może zawierać kopia bezpieczeństwa to szablon, który wcześniej został przez nas wygenerowany wraz z bannerami. Zaleca się wykonywanie kopii zapasowych oraz zabezpieczenie ich hasłem. Każda wykonana kopia zapasowa powinna zostać zapisana w bezpiecznym i dogodnym dla Użytkownika miejscu.

Jak wykonać kopię bezpieczeństwa?

W Panelu Administracyjnym przejdź do sekcji Wygląd sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane, a następnie przejdź do zakładki Eksport szablonu. W pustych polach znajdujących się w zakładce Eksport szablonu, opcjonalnie przed eksportem możesz uzupełnić powyższe dane, tj. Autora szablonu, e-mail, telefon i stronę WWW sklepu. Aby wyeksportować szablon, kliknij Eksportuj szablon. Wyeksportowany plik jest w formacie XML, a jego nazwa zawiera szablon oraz wersję, co znacznie ułatwia zarządzanie kopiami bezpieczeństwa w przypadku wykonywania ich regularnie.

Jak wyeksportować bannery?

Bannery, które znajdują się w Twoim sklepie możesz również wyeksportować tworząc kopię bezpieczeństwa. W tym celu także musisz przejść do Wygląd sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane, a następnie do zakładki Eksport szablonu. Obok przycisku Eksportuj szablon, znajduje się przycisk Eksportuj bannery, który musisz kliknąć aby bannery, które posiadasz w e-Sklepie zostały weksportowane. Kopia bezpieczeństwa jest również zapisywana w formacie XML, a nazwa pliku wskazuje na szablon, wersję i zawartość bannerów.

Jak zabezpieczyć hasłem swój szablon?

Jeśli chcesz, aby Twój szablon został zabezpieczony hasłem, a znajomość hasła była niezbędna podczas zaimportowania tego szablonu do e-Sklepu, musisz w tym celu przejść w Panelu Administracyjnym do sekcji Wygląd sklepu/ Ustawienia/ Ustawienia zaawansowane, następnie do zakładki Szablon. W tym miejscu nadasz hasło dla swojego szablonu. Zgodnie z Polityką bezpieczeństwa haseł, hasło powinno:
  • Składać się z minimum 8 znaków,
  • Zawierać dużą literę,
  • Zawierać małą literę,
  • Zawierać cyfrę 0-9,
  • Zawierać znak specjalny – ‘!.+?;^]=-(&_)#=
Gotowe! Teraz Twój szablon został zabezpieczony hasłem. Jeśli wyeksportujesz szablon, który zabezpieczyłeś hasłem – podczas importu tego szablonu, będziesz musiał podać nadane wcześniej hasło. Jego brak uniemożliwi import szablonu, a podanie błędnego hasła spowoduje nieprawidłowe działanie szablonu po imporcie. Więcej informacji znajdziesz:

Banner pop-up w szablonie Szafir i Topaz

W niniejszym artykule dowiesz się, w jaki sposób dodać banner pop-up w swoim szablonie Topaz i Szafir. Banner wyświetla się w formie wyskakującego pop-upa, na którym możesz zaprezentować zdjęcie, treść a także przejść do wybranego towaru.

Konfiguracja nowego bannera

Krok 1. Dodaj jeden z dostępnych wariantów banneru pop-up w Kreatorze Wyglądu. Za pomocą funkcji przeciągnij i upuść dodaj banner do nowo utworzonego szablonu Szafir lub Topaz: Krok 2. W panelu administracyjnym przejdź do sekcji Wygląd sklepu/ Ustawienia/ Bannery. Z listy dostępnych bannerów wybierz banner popup_2: Krok 3. Po wpisaniu nazwy nowego banneru wyświetla się nowy formularz. W tym miejscu masz możliwość dodania opisu dla administratora oraz obrazków do katalogu. Jeżeli powyższe kroki zostały wykonane, to możesz przejść do dodania obrazku. Po dodaniu obrazków istnieje również możliwość uzupełnienia szczegółów dotyczących konkretnego zdjęcia. Aby dokonać modyfikacji w tym obszarze przejdź w Widok zaawansowany. Po kliknięciu w odnośnik pojawi się panel, w którym można zmienić np. tekst na bannerze, nagłówek, czas jego wyświetlania, link do którego kieruje dany obrazek, a także tooltip i tekst alternatywny. Tak wprowadzone zmiany należy zapisać i opublikować. Gotowe! Banner pop - up został dodany i tak prezentuje się w szablonie Topaz. Po kliknięciu w znacznik "Sprawdź" Twoi klienci zostaną przeniesieni na kartę towaru, gdzie będą mogli dokonać towar do koszyka.

Poznaj nasz produkt - konfiguracja banneru informacyjnego w szablonie

Wstęp

W Kreatorze Wyglądu (B2C) dla szablonu Topaz oraz One Page Shop jest możliwość dodania banneru informacyjnego, który zaprezentuje jeden z Twoich produktów w sklepie. Dzięki zastosowaniu infografik wraz z opisem klienci Twojego sklepu będą mogli zapoznać się z zaletami wyróżnionego towaru.

Konfiguracja

Aby skonfigurować dodany przez Ciebie banner należy przejść w Panelu Administracyjnym do zakładki: Wygląd sklepu/ Ustawienia / Bannery do konfiguracji banneru info-banner-0-A:
  • Zdjęcie na pierwszej pozycji będzie zdjęciem znajdującym się na środku.
  • Pozostałe zdjęcia to miniaturki do których można dodać opis (tekst).
  • Maksymalnie wyświetlać będzie się 7 zdjęć.
  • Minimalnie należy umieścić 2 zdjęcia.
Jeśli chcesz wyświetlić na środku zdjęcie swojego produktu wraz z przyciskiem kup teraz, należy przejść do konfiguracji ustawień zaawansowanych banneru wstawić pełny link z https do pierwszego zdjęcia, czyli URL/PHOTO.
Wskazówka
Pamiętaj, aby link do towaru zawierał pełny url wraz z zabezpieczeniem SSL - przykład adresu: https://demo.comarchesklep.pl/my-boo-pomadka-do-ust-w-plynie-01/3-140-5
Dodając następne zdjęcie będą one wyświetlały się jako miniatury. Można do nich dodać tekst, który wyświetli się pod zdjęciem.
Wskazówka
Maksymalnie można dodać 7 zdjęć. 
 

Polecane produkty, kategorie oraz bannery w wyszukiwarce

Wstęp

Parametry wyszukiwania stanowią istotny element w funkcjonowaniu sklepu internetowego. Wygodne oraz efektywne przeszukiwanie asortymentu zachęca klientów do kontynuacji zakupów. Aktualnie, po kliknięciu w pole wyszukiwania, klienci natychmiast uzyskują dostęp do polecanych produktów, kategorii i wybranych marek. Nowa funkcja nie tylko ułatwia skuteczne przeglądanie oferty, ale również pełni rolę skutecznego narzędzia do promowania asortymentu. Dzięki łatwemu dostępowi do rekomendacji, zwiększasz atrakcyjność swojego e-Sklepu, umożliwiając klientom bardziej intuicyjne odkrywanie interesujących produktów. Wyżej opisaną funkcjonalność możesz włączyć w dwóch miejscach:
  • Na ustawieniach nagłówka w Kreatorze wyglądu:
  • W panelu administracyjnym w zakładce Wygląd sklepu/ Ustawienia/ Ustawienia sklepu/ Dodatkowe. W tym miejscu wybierz w Widoku wyszukiwania towarów w nagłówku opcję ’Z rekomendacjami”.
Pojawiający się popup z rekomendacjami składa się z trzech osobnych elementów, jakimi są:
  • Polecane produkty
  • Polecane kategorie
  • Polecane marki
Produkty polecane skonfiguruj przechodząc do panelu administracyjnego do zakładki  Wygląd sklepu/ Ustawienia/ Więcej(trzy kropki)/ Edytuj ustawienia zaawansowane/ Obiekty. Odnajdź obiekt header-recomm-products, po czym wybierz jeden typ z listy. Do wyboru masz:
  • Ostatnio oglądane,
  • Ręczny,
  • Grupa towarowa,
  • Producent,
  • Marka.
Wskazówka
W popupie z rekomendacjami wyświetlonych zostanie maksymalnie 6 polecanych towarów
Kategorie polecane skonfiguruj przechodząc do panelu administracyjnego do zakładki Wygląd sklepu/ Ustawienia/ Więcej(trzy kropki)/ Edytuj ustawienia zaawansowane/ Obiekty. Odnajdź na obiekt header-recomm-categories, po czym wybierz jeden typ z listy:
  • Grupy najwyższego poziomu,
  • Podgrupy począwszy od,
  • Wybrane,
  • Zawężaj menu do wybranej grupy.
Przyklad
Jeśli kategoria ma więcej niż trzy podkategorie, to widoczna będzie jedynie ta, która jest ostatnia
Polecane marki skonfiguruj przechodząc do panelu administracyjnego do zakładki  Wygląd sklepu/ Ustawienia/ Bannery w obiekcie headerRecommLogos. Dodaj odpowiednie zdjęcia. Możesz także dodać link. Dzięki temu po kliknięciu w banner ostaną przekierowany na podany adres URL.
Wskazówka
Jeśli obiekt header-recomm-categories,  header-recomm-products lub banner headerRecommLogos zostanie usunięty, to popup z rekomendacjami nie będzie widoczny na stronie

Modyfikacja informacji wyświetlanych na kaflu towaru

W Kreatorze Wyglądu Topaz powstała funkcja pozwalająca na modyfikację informacji wyświetlanych na kaflu towaru. Po wybraniu widoku listy towarów i stylu kafli, przechodząc do ustawień tej sekcji, masz możliwość edycji informacji o towarze, które będą widoczne na kaflu towaru. Dostępne są dwa widoki zdjęć kategorii: lista oraz mozaika. Domyślnie zaznaczona jest lista. Aby dokonać modyfikacji informacji na kaflu, musisz przejść do zakładki „Kafle”.  Jeśli korzystasz z list towarów 3 lub 4, masz możliwość edycji następujących informacji:
  • Kupowanie z listy towarów
  • Dodawanie do ulubionych z listy towarów
  • Prezentowanie drugiego zdjęcia towaru
  • Graficzna prezentacja wariantów towaru
  • Dodatkowe informacje na kaflu
  • Dodatkowe funkcje na kaflu
W przypadku list towarów 1 i 2, modyfikacja informacji jest uproszczona, ogranicza się jedynie do:
  • Kupowanie z listy towarów
  • Dodawanie do ulubionych z listy towarów
  • Prezentowanie drugiego zdjęcia towaru

Jak zaktualizować szablon do najnowszej wersji?

Jak zaktualizować szablon do najnowszej wersji?

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

Wstęp

W e-Sklepie możesz dowolnie zmieniać szablony. Możesz je także modyfikować oraz aktualizować. Wiąże się to z wgraniem zupełnie nowego szablonu na miejsce starego. Aktualizacja wyglądu powoduje zmianę dotychczasowych ustawień. Przed każdą aktualizacją polecamy utworzyć odpowiednią dla siebie instrukcję, która będzie zawierała Twoje ustawienia kolorów czy modyfikacje w kodzie szablonu. Możesz także wyeksportować dotychczasowy szablon, aby stanowił on kopię bezpieczeństwa.

Jak zaktualizować szablon?

Instrukcja aktualizacji szablonów: Rubin, Szafir, Topaz i One Page Shop (dostępnych w Kreatorze Wyglądu)

Aby zaktualizować szablon Rubin, Szafir, Topaz lub One Page Shop należy skorzystać z aktualnej wersji Kreatora Wyglądu, do którego odnośnik znajduje się w panelu administracyjnym e-Sklepu w sekcji Wygląd sklepu/ Kreator wyglądu. Istnieją dwie możliwości aktualizacji tych szablonów:

  • wygenerowanie nowego szablonu w Kreatorze Wyglądu oraz wgranie go do e-Sklepu,
  • import posiadanego szablonu do Kreatora Wyglądu oraz ponowne wygenerowanie go w najnowszej wersji.

Wyeksportowany z Kreatora Wyglądu szablon należy wgrać do e-Sklepu. W panelu administracyjnym e-Sklepu, w sekcji Wygląd sklepu znajduje się bezpośredni odnośnik do importu szablonu z Kreatora wyglądu. Szczegółowa instrukcja dostępna jest w artykule Jak wyeksportować i zaimportować swój szablon w e-Sklepie?

Podczas dokonywania modyfikacji w szablonach zachęcamy do skorzystania z naszego Centrum Pomocy.

Wskazówka
Pamiętaj o zapisaniu szablonu oraz opublikowaniu go w e-Sklepie. Zmiany wprowadzone w ustawieniach zostaną zsynchronizowane do sklepu po 10 minutach.

Instrukcja aktualizacji szablonów: Bursztyn, Agat i Opal.

Aby zaktualizować szablon Bursztyn, Agat lub Opal należy w panelu administracyjnym e-Sklepu przejść do sekcji Wygląd Sklepu/ Gotowe szablony Comarch, w której znajdują się najnowsze wersje szablonów dostępne do zainstalowania. Z wyświetlonej listy należy wybrać szablon, który ma zostać wgrany do e-Sklepu. W tym celu wybierz przycisk Chcę pobrać i zainstalować szablon:

Następnie wyświetli się nowe okno, w którym należy:

  • wybrać tzw. slot, który zostanie nadpisany nowym (aktualnym) szablonem. W każdym e-Sklepie dostępne są 4 miejsca na wgranie szablonu, spośród których jeden szablon oznacza się jako aktywny i domyślny,
  • określić, czy wgrywany szablon ma podmienić istniejące bannery. Gdy parametr zostanie zaznaczony, wówczas wszystkie bannery zapisane na danym slocie zostaną usunięte i zastąpione bannerami z importowanego szablonu. Jeżeli w nadpisywanym szablonie znajdują się bannery oraz lookbooki, które mają nadal wyświetlać się w e-Sklepie, należy wskazany parametr zostawić odznaczony. Gdy parametr nie zostanie zaznaczony, wówczas dotychczasowe bannery i lookbooki nie zostaną usunięte.
  • Zaimportować szablon do e-Sklepu.
    Wskazówka
    Import szablonu jest operacją nieodwracalną i spowoduje nadpisanie dotychczasowego szablonu. W przypadku, gdy szablon był modyfikowany (dokonywano zmian w kodzie HTML) jego aktualizacja spowoduje, iż zmiany nie zostaną przeniesione. Warto wykonać eksport posiadanego szablonu do pliku w celu zapisania oraz posiadania wglądu to wprowadzanych modyfikacji. Jeżeli istnieje taka konieczność należy ponownie dokonać samodzielnej edycji szablonu.

Aby nowy szablon pojawił się w e-Sklepie należy upewnić się, czy jest on aktywny oraz ustawiony jako domyślny. W sekcji Wygląd sklepu/Ustawienia/Edytuj ustawienia zaawansowane w zakładce Szablon znajdują się odpowiedzialne za to parametry, które powinny być zaznaczone.

Wszelkie zmiany należy zapisać, a następnie opublikować.

Uwaga
Jeżeli szablon nie zostanie opublikowany, wówczas nie pojawi się on w e-Sklepie.

Instrukcja aktualizacji innych szablonów (niż szablonów Comarch) oraz aktualizacji szablonów z własnymi modyfikacjami

Jeżeli w swoim Comarch e-Sklepie korzystasz z własnego szablonu, czyli innego niż gotowe szablony Comarch, to powinieneś jego aktualizację przeprowadzić we własnym zakresie lub zlecić ją firmie/ osobie, która dla Ciebie przygotowała ten szablon. W przypadku, gdy korzystasz z gotowego szablonu Comarch, ale wprowadziłeś do niego indywidualne zmiany (poza Kreatorem Wyglądu), to również we własnym zakresie (lub ze wsparciem autora zmian) musisz zadbać o aktualizację swojej wersji szablonu.

Kreator wyglądu Topaz (B2C)

Wstęp

Jednym z kluczowych elementów, który przyczynia się do sukcesu w branży e-commerce jest oprawa wizualna sklepu. W dużym stopniu to właśnie ona wpływa na całościowe wrażenia użytkowników i ich proces zakupowy. Dzięki narzędziu - Kreator Wyglądu Comarch e-Sklep, właściciele sklepów mają możliwość stworzyć swój własny, niepowtarzalny szablon, który będzie dostosowany do ich preferencji oraz do potrzeb użytkowników.

Kreator jest dostępny pod linkiem: Kreator szablonu Comarch e-Sklep. Odnośnik znajduje się w panelu administracyjnym e-Sklepu Wygląd sklepu/ Kreator wyglądu.

Zastosowanie

Kreator jest intuicyjnym narzędziem służącym do tworzenia szablonów. Jego obsługa nie wymaga umiejętności technicznych ani programowania. Wszystko odbywa się na poziomie strony internetowej, gdzie z gotowych elementów za pomocą metody "przeciągnij i upuść" możesz zaprojektować wygląd swojego sklepu. Dodatkowo, stworzony szablon jest dostosowany do wyświetlania na różnych urządzeniach (RWD).

W ramach kreatora zaprojektujesz wszystkie niezbędne obszary sklepu:
  • stronę główną,
  • listę towarów,
  • szczegóły towaru,
  • koszyk zakupowy.
Po utworzeniu szkieletu e-Sklepu, przychodzi czas na modyfikację oprawy wizualnej szablonu. Możesz dowolnie zmieniać kolory elementów znajdujących się na stronie, ikony, a także czcionkę.

Kto może używać tej opcji?

Aby móc używać tego narzędzia należy posiadać:

  • Comarch e-Sklep obsługujący procesy B2C,
  • szerokość ekranu powyżej 1280 px, a zalecana to 1920 px,
  • oraz jedną z przeglądarek internetowych w aktualnej wersji.

Wskazówka
Kreator wyglądu Comarch e-Sklep dostępny jedynie w wersji przeglądarkowej.

Zaczynamy!

Jak zaprojektować układ szablonu?

Aby rozpocząć tworzenie szablonu należy przejść na stronę Kreatora Wyglądu. Wyświetlony zostanie powitalny komunikat. Na początku należy określić, dla jakiego modelu sprzedaży projektujesz szablon dla swojego e-Sklepu. Do wyboru masz sprzedaż detaliczną lub hurtową. Sprzedaż detaliczna przeznaczona jest dla użytkowników, którzy chcą sprzedawać swoje produkty głównie klientom indywidualnym. Wybierz odpowiedni model, a następnie naciśnij przycisk Rozpocznij pracę. Po jego kliknięciu będzie można stworzyć nowy szablon lub edytować jeden z kilku gotowych.

W sytuacji gdy wcześniej tworzony był już projekt, widoczny będzie przycisk umożliwiający dokończenie szablonu lub rozpoczęcie nowego projektu. Opcja Nowy szablon umożliwia zbudowanie od początku nowego szablonu Topazu według Twojego indywidualnego pomysłu.
Wskazówka
Szablon Topaz - Demo jest gotowym szablonem, który możesz zainstalować bezpośrednio z obszaru Wygląd sklepu/Gotowe szablony Comarch.
Pozostałe sześć opcji do wyboru to gotowe wersje szablonu Topaz z możliwością ich edycji. Dzięki temu nie ma potrzeby tworzenia nowego szablonu od podstaw, ponieważ możesz wybrać jedną z gotowych propozycji, a następnie łatwo go edytować dostosowując do swoich potrzeb. Podwójne kliknięcie w wybrany kafelek pozwala przejść dalej. W trzech krótkich krokach zapoznasz się z podstawowymi funkcjami kreatora. Następnie możesz już przystąpić do dalszych modyfikacji szablonu lub od razu wygenerować przygotowaną wersję szablonu Topaz.

Od czego zacząć?

Wybierz wersję językową Kreatora i rozpocznij pracę nad swoim szablonem. Wersje do wyboru to: język polski, angielski, niemiecki oraz francuski. Język wybieramy klikając strzałkę obok flagi i nazwy języka w lewym dolnym rogu. Przy podglądzie prac na pełnym ekranie, wybrany język zostaje zachowany i szablon będzie wyświetlał się w wybranej wersji językowej.

Gdy już wybierzesz wersję językową dla swojego Kreatora warto zacząć od nazwania swojego przyszłego szablonu. Można to zrobić klikając Zmień i wpisując nazwę w lewym górnym rogu, zastępując nazwę "Topaz (2022.5)". Nazwa ta będzie widoczna po zaimportowaniu szablonu do panelu administracyjnego oraz po wyeksportowaniu szablonu do pliku XML wraz z datą i godziną jego wygenerowania.

Krok 1 - Strona główna

W tej sekcji należy zaprojektować wygląd strony głównej naszego Comarch e-Sklepu. Strona główna może składać się z następujących elementów:

  • Nagłówek,
  • Banner,
  • Banner pop-up,
  • Widget
  • Proponowane,
  • Newsletter,
  • Sekcja z filmami,
  • Blog,
  • Slider producentów,
  • Slider marek,
  • Element tekstowy,
  • Banner informacyjny,
  • Lookbook.
  • Stopka.

Po rozwinięciu każdej z sekcji ukażą się dostepne elementy:

Metodą "Przeciągnij i upuść" przenosimy wybrane elementy na obszar po prawej stronie:

Postępuj analogicznie z pozostałymi elementami.

Nagłówek

Sekcja "Nagłówek" prezentuje pięć widoków. Trzeci z nich zawiera pionowe menu, które pozwala wyświetlić standardowo trzy poziomy kategorii produktowych. Pierwszy poziom można dodatkowo konfigurować w zakresie ilości pokazywanych kategorii. W tym celu w menu Wygląd sklepu/ Ustawienia/ Ustawienia szablonu dodano nowy parametr: widok pierwszego poziomu menu głównego (dla trzeciego typu nagłówka) z następującymi opcjami:
  • wygodny (ustawiony domyślnie i pozwalający wyświetlić maksymalnie 10 kategorii w pierwszym poziomie menu)
  • oraz kompaktowy (wyświetla do 16 kategorii w pierwszym poziomie menu). Ten typ nagłówka połączony jest z bannerem (o zalecanych wymiarach 1118px x 534px), widocznym tylko na stronie głównej.
W piątym możesz zaprezentować zdjęcia kategorii w formie miniatur w nagłówku. Zdjęcia kategorii dodane w systemie ERP są pomniejszone i są wyświetlane przy nazwie kategorii. Wszystkie rodzaje nagłówków dostępnych w Kreatorze mają funkcję tzw. przyklejonego nagłówka. Przy przewijaniu strony sklepu w dół, u góry ekranu zawsze widoczny jest pasek z częścią elementów nagłówka (m.in. menu kategorii oraz wyszukiwarka). Dzięki temu przeglądający ofertę e-Sklepu, w każdym miejscu strony ma dostęp do skróconej wersji nagłówka strony. Sekcja "Nagłówek" posiada dodatkowe opcje do ustawienia. Z listy menu, można decydować o:
  • Widoku wyszukiwanych towarów w nagłówku,
  • Wyświetlanie top bannera,
  • Ukrywanie ikon w nagłówku,
  • Pokazywanie rozwijanej listy towarów znajdujących się w koszyku.

Banner

Sekcja "Banner" pozwala wybrać jedną z sześciu możliwości prezentacji banerów. Informacje dotyczące rekomendowanych rozmiarów obrazków w bannerach opisaliśmy w tym artykule. Jest on widoczna tylko dla strony głównej i listy towarowej.

Banner popup

Sekcja "Banner popup" pozwala wybrać jedną z dwóch możliwości prezentacji banerów. Bannery będą możliwe do wyświetlenia jedynie na stronie głównej e-Sklepu.

Banner promocyjny

Banner promocyjny to banner, który wyświetli się na stronie głównej Twojego e-Sklepu. Będzie prezentował typ towaru, który wskażesz. Taki rodzaj banneru pomoże Ci w prezentacji towarów, które zostały objęte na przykład promocją.

Widget

Sekcja "Widget" pozwala dodać jeden z dwóch dostępnych wariantów, które pozwolą zaprezentować następujące funkcje.
  • Widget-banner-1
    • Dodanie zdjęcia,
    • Dodanie tekstu nagłówka (tekst pionowy),
    • Dodanie tekstu przycisku (tooltip).
    • Dodanie linku do przycisku,
    • Dodanie tekstu..
  • Widget-banner-1
    • Dodanie zdjęcia,
    • Dodanie tekstu nagłówka (tekst pod zdjęciem),
    • Dodanie tekstu,
    • Dodanie linku do tekstu.

Proponowane

Sekcja "Proponowane" posiada dodatkowe opcje do ustawienia. Z listy menu, dostępnej pod przyciskiem Zmień typ możesz wybrać jakiego rodzaju produkty mają się w tym obszarze wyświetlać (m.in. nowość, najczęściej oglądane, wyprzedaż, sugerowane). Po zmianie typu tej sekcji, będzie się ona odpowiednio nazywać po wgraniu szablonu do sklepu:

Dodatkowo po najechaniu kursorem na tę sekcję, wybierając Opcje, możemy ustawić liczbę towarów, która będzie się wyświetlać (maksymalnie 50).

    Podczas tworzenia szablonu Topaz w Kreatorze wyglądu Comarch po dodaniu sekcji towary proponowane można określić typ wyświetlanych produktów. Nazwa sekcji jest zależna oraz adekwatna do określonego typu. Daną nazwę można modyfikować w tłumaczeniach szablonu. Dodatkowo każdy wybrany typ jest podlinkowany do wszystkich produktów wskazanego rodzaju. W zależności od wybranego typu, edycji parametrów wyświetlania dokonasz w panelu administracyjnym e-Sklepu. Z kolei informację o typie towaru ustawisz w systemie ERP. Typy towarów edytowane z poziomu panelu administracyjnego Comarch e-Sklep:
  • Promocja,
  • Nowość,
  • Najczęściej oglądane / najczęściej kupowane,
  • Cross-selling – oferowanie produktów uzupełniających wcześniejsze zakupy,
  • Producent,
  • Marka,
  • Ręcznie wybrane,
  • Kategoria,
  • Ostatnio oglądane.
Aby zdecydować o parametrach wyświetlania tych informacji należy przejść w panelu administracyjnym Comarch e-Sklep do zakładki Ustawienia/Ustawienia sklepu/sekcji Towary: Producent, marka, ręcznie wybrane, kategoria oraz ostatnio oglądane obsługiwane są w ramach obiektu lokalnego "Siatka towarów". Po wyborze jednego z wyżej wymienionych typów zmian ustawień należy dokonać z poziomu panelu administracyjnego przechodząc do obszaru zakładki Wygląd sklepu/Ustawienia/Ustawienia zaawansowane oraz zakładki Obiekty. Na szczegółach wybranego obiektu (Siatka towarów) określamy jakie dokładnie towary zostaną zaprezentowane w sekcji "Proponowane". W przypadku wyboru "Producenta" lub "Marki" należy samodzielnie określić producenta lub markę. Dodawanie informacji o typie produktu w systemie ERP dotyczy:
  • Nowości,
  • Produktu z gazetki,
  • Produktu polecanego,
  • Wyprzedaży,
  • Promocja,
  • Nowość,
  • Super jakości,
  • Super ceny,
  • Najlepszej oceny,
  • Rekomendacji sprzedawcy.
Informacja tego typu ustawiana jest bezpośrednio na karcie towaru w systemie ERP poprzez zaznaczenie odpowiedniej flagi w systemie ERP XL (zakładka aplikacje) lub atrybutu czasowego w ERP Optima (zakładka e-Sklep, sekcja atrybuty czasowe). Po wybraniu konkretnej opcji w systemie ERP na karcie danego produktu w Comarch e-Sklep zostanie dodana odpowiednia informacja:

Newsletter

Sekcja "Newsletter" pozwala dodać wybrany wariant zapisu klientów do subskrypcji. Dwa z nich są w formie wyskakującego okienka (pop-up), które prezentowane są wyłącznie na stronie głównej e-Sklepu (newsletter-3, newsletter-4). Dodatkowo, w wersji przeglądarkowej szablonu, w newsletterze w formie popup (newsletter-3) widoczny jest banner (niedostępny w wersji mobilnej) o wymiarach 275px x 475px. Wszystkie teksty dostępne w nowym newsletterze są edytowalne w ustawieniach szablonu w menu Wygląd sklepu/ Ustawienia/ Bannery/ Newsletter banner. Te typy newslettera mogą być używane jednocześnie z pozostałymi wersjami newslettera dostępnymi w szablonie Topaz.

Sekcja z filmami

Sekcja z filmami daje możliwość dodania filmów promujących nie tylko produkty, ale również Twoją firmę lub producentów czy marki. Filmy dodasz z poziomu panelu administracyjnego przechodząc do Wygląd sklepu/ Ustawienia/ Ustawienia szablonu/ Strona główna. W tej sekcji możesz zaprezentować filmy: udostępnione w sekcji Ustawienia/Pliki użytkownika, opublikowane w portalu Youtube, dodane na zewnętrznym hostingu.

Slider marek

Sekcja "Slider marek" umożliwia dodanie do szablonu dwóch widoków slidera marek. Pod przyciskiem Opcje możliwe jest wybranie jednego z trzech sposobów jego prezentacji: brak wyszarzenia (dodane logo mają zachowane oryginalne kolory), wyszarzenie (dodane logo jest szare, kolor pojawia się po najechaniu kursorem myszki na logo), błysk (po najechaniu myszką, na logo pojawia się animacja świetlna). Na sliderach wyświetlane są loga marek, które zostały zaimportowane z systemu ERP. Po kliknięciu w wybrane logo, pojawi się lista wszystkich towarów, dla których dodana jest konkretna marka. Sekcje mogą być dodane w szablonie w dowolnym miejscu na stronach: głównej, liście towarów i szczegółach towaru.

Slider producentów

Sekcja "Slider producentów " umożliwia dodanie do szablonu dwóch widoków slidera producentów. Pod przyciskiem Opcje możliwe jest wybranie jednego z trzech sposobów jego prezentacji: brak wyszarzenia (dodane logo mają zachowane oryginalne kolory), wyszarzenie (dodane logo jest szare, kolor pojawia się po najechaniu kursorem myszki na logo), błysk (po najechaniu myszką, na logo pojawia się animacja świetlna). Na sliderach wyświetlane są loga producentów, które zostały zaimportowane z systemu ERP. Po kliknięciu w wybrane logo, pojawi się lista wszystkich towarów, dla których dodany jest konkretny producent. Sekcje mogą być dodane w szablonie w dowolnym miejscu na stronach: głównej, liście towarów i szczegółach towaru.

Element tekstowy

Element tekstowy pozwala na zamieszczenie dłuższego opisu, który będzie wyświetlany na stronie głównej Comarch e-Sklep. W kreatorze wyglądu Comarch są do wyboru dwa warianty:
  • element tekstowy z samym tekstem,
  • element tekstowy z możliwością dodania zdjęcia.
Tekst wprowadza się edytując obiekt tekstowy w ustawieniach szablonu: Wygląd sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane/ Obiekty:
  • text-el-no-photo-mp-1 – element bez obrazka,
  • text-el-photo-mp-2 – element z obrazkiem.

Po wybraniu wszystkich niezbędnych sekcji nasza strona główna powinna być gotowa. Efekt naszej pracy możemy podejrzeć klikając Podgląd w prawym górnym rogu. Dostępny jest podgląd w wersji mobilnej i desktopowej.

Strona główna wymaga dwóch podstawowych elementów: nagłówka oraz stopki. Pozostałe elementy nie są obowiązkowe.

Banner informacyjny

Banner informacyjny pozwala na zaprezentowanie w przejrzysty sposób korzyści z zakupach w Twoim sklepie. Dotyczą one obszarów: dostawy, jakości i kontaktu z klientem. Banner możesz dodać tylko do strony głównej lub do wszystkich stron. Sekcja Odkryj Comarch e-Sklep różni się prezentacją oraz elementami między bannerami i zawiera:
  • info-banner-1 – element z ikonkami i podpisem
    • Szybka dostawa,
    • Gwarancja jakości,
    • Odbiór osobisty,
    • Reklamacje,
    • Zwroty towarów,
  • info-banner-2 – element z ikonkami i krótką informacją
    • Ekspresowa wysyłka,
    • Darmowa dostawa,
    • Obsługa klienta,
  • info-banner-2 – element z ikonkami i krótkim opisem
    • Ekspresowa dostawa,
    • Darmowa dostawa,
    • Strefa kontaktu.

Stopka

Sekcja "Stopka" zawiera trzy widoki do wyboru. W każdym widoku widnieją strony statyczne, którymi można zarządzać w sekcji Wygląd Sklepu/ Ustawienia/ Nagłówek i Stopka. Dla każdej z sekcji wyświetla się jej utworzona w panelu nazwa. W stopce znajdują się także informacje na temat rodzaju prezentowanych cen w e-Sklepie (brutto czy netto) oraz komunikat @Comarch SA 2022. All rights reserved Powered by Comarch e-Sklep. Dodatkowo istnieje możliwość umieszczenia w stopce odnośników do mediów społecznościowych oraz ich ikony. W stopce trzeciej możemy dodać ikony naszych dostawców oraz form płatności wykorzystywanych w sklepie.

Krok 2 - Lista towarów

Kolejnym krokiem jest utworzenie listy towarów. Aby to zrobić, należy rozwinąć listę zgodnie z poniższym rysunkiem, a następnie przejść do wskazanej zakładki:

 

Podobnie, jak w przypadku strony głównej konfigurujemy wygląd listy towarów. Dodatkowo możemy wskazać liczbę towarów, jaka ma się wyświetlać na liście (maksymalnie 50):

W zakładce Kafle, możemy dopasować wygląd kafli do swoich preferencji: W Kreatorze dostępnych jest 5 widoków listy towarów:   Dodatkowo poziomu listy towarów możliwe jest także dostosowanie wyglądu kafla. Dostępne są trzy warianty: Trzeci z wariantów kafli jest ustawiony jako domyślny. Posiada on ikonę koszyka, dzięki czemu można dodać produkty do koszyka z poziomu listy towarów. Po najechaniu myszką na dany produkt na liście towarów została obsłużona możliwość zmiany zdjęcia na drugie. Stanie się tak wówczas, gdy danemu produktowi zostały przypisane min. dwa zdjęcia w systemie ERP.
Wskazówka
Zalecamy dodawanie zdjęć produktów z białym tłem.
W niektórych widokach listy towarów przycisk dodawania do porównania oraz oceny jest widoczny bez konieczności logowania się do e-Sklepu. Na liście towarów przy nazwie produktu dodany jest także tooltip, który po najechaniu kursorem na nazwę towaru wyświetli pełną treść (w przypadku długich nazw).

Krok 3 - Szczegóły towaru

Po utworzeniu listy towarów przechodzimy do tworzenia szczegółów towaru.

Wskazówka
Warto zwrócić uwagę, że na każdej stronie sklepu możemy ustawić różne sekcje towarów polecanych o różnych typach (przykładowo na szczegółach towaru polecane towary mogą się inaczej wyświetlać niż na liście towarów).

Krok 4 - Koszyk

Po utworzeniu szczegółów towaru przechodzimy do wyboru wersji koszyka dostępnego w e-Sklepie. W Kreatorze Wyglądu dostępne są dwie wersje koszyka:
  • Koszyk 4 krokowy,
  • Koszyk 3 krokowy,
  • Koszyk 1 krokowy.

Następnie możemy przejść do modyfikacji wyglądu naszego szablonu. W tym celu należy przejść do zakładki Style.

Style

Jak zmienić kolory, czcionki oraz ikony?

Po dodaniu elementów strony możemy dodatkowo podejrzeć, jak będzie wyglądał nasz przyszły szablon. W tym celu należy przejść do zakładki Style.

Dodatkowo w zakładce Style możemy zmodyfikować wygląd naszego szablonu. Zmianie podlegają:

  • motyw kolorystyczny,
  • czcionka,
  • ikony,
  • styl okien i przycisków.

Motyw kolorystyczny

Aby zmienić kolor naszego szablonu należy przejść do sekcji Motyw kolorystyczny, gdzie do wyboru przygotowaliśmy 6 gotowych motywów.

Wskazówka
W aktualnej wersji Kreatora dodaliśmy nowy, ciemny motyw kolorystyczny.

Każdy z motywów możemy edytować według indywidualnych preferencji. Możemy zmodyfikować kolor poszczególnych elementów (m.in.: tło strony, tło nagłówka, nazwę towaru, czy nawet drugorzędny kolor tekstu w newsletterze). Zmiany należy zapisać klikając Zapisz. Jeśli wykonane zmiany nie są zadowalające, możemy przywrócić ustawienia domyśle dla danego motywu kolorystycznego, klikając przycisk Przywróć.

Możliwe jest również wprowadzenie szesnastkowego zapisu kolorów. Heksadecymalny zapis kolorów dla poszczególnych sekcji w szablonie dostępny jest podczas edycji wybranego motywu kolorystycznego.

Czcionki

W zależności od potrzeb istnieje możliwość wybrania czcionki. Dla naszych klientów udostępniliśmy jej 13 różnych typów. Pod nazwą każdej z nich znajduje się przykładowy wygląd w różnych formatach.

Ikony

Mamy do wyboru 3 różne warianty wyglądu ikon. Dodatkowo istnieje możliwość wyboru w jakiej postaci wyświetla się ikona koszyka (torba, wózek lub koszyk) oraz loader.

Wskazówka
Od teraz możesz zmienić rodzaj loadera, wybierając jedną z 5 propozycji widocznych powyżej.

Styl okien i przycisków

Ostatnim elementem, który możemy modyfikować z poziomu zakładki Style jest styl okien i przycisków. Mamy do wyboru 3 różne warianty zaokrągleń.  

Generowanie i wgrywanie szablonu

Po zaprojektowaniu wyglądu szablonu możemy go wygenerować i pobrać na dysk korzystając z przycisku Generuj widocznego w prawym górnym rogu:

Obok przycisku Generuj dostępna jest również opcja Importuj szablon, umożliwiająca wgranie wcześniej zapisanego szablonu z dysku i ponowną jego edycję.

W przypadku prawidłowego wygenerowania szablonu wyświetlony zostanie komunikat informujący o tym fakcie i pobrany plik.

Pobrany szablon należy zaimportować w Comarch e-Sklep w zakładce Wygląd sklepu/ Zaimportuj szablon z Kreatora Wyglądu.

W szablonie Topaz znajduje się informacja na temat godziny wygenerowania szablonu w Kreatorze. Taka informacja znajduje się w panelu administracyjnym w menu: Wygląd sklepu/ Ustawienia/ Więcej (trzy kropki), gdzie należy wybrać opcję Edytuj ustawienia zaawansowane, a potem ponownie Więcej/ Edytuj HTML. Następnie z listy plików należy wybrać _layout.html. Informacje na temat modyfikacji, w tym godzina ostatniej modyfikacji, znajdują się nad oknem edycji pliku. Jeżeli plik nie był modyfikowany, wówczas godzina odpowiada godzinie wygenerowania szablonu w kreatorze.

W przypadku braku obowiązkowych elementów szablonu nie będzie możliwe jego wygenerowanie. przycisk Generuj będzie wyszarzały, a w prawym dolnym rogu pojawi się komunikat „Uzupełnij elementy wymagane w szablonie”. Sekcje, gdzie element nie został wybrany będą się wyświetlać z odpowiednią ikoną.

  Kreatorze wyglądu istnieje również możliwość cofania się podczas tworzenia szablonu, w ramach której obsługujemy do 30 kroków w wstecz. Dodatkowo możemy także wykonywać krok do przodu. Zapisywane są wszystkie zmiany na elementach, informacje odnośnie styli, czcionek, ikonach oraz nazwie szablonu.

Aktualizacja szablonu

W Kreatorze Wyglądu znajduje się opcja aktualizacji poprzednich wersji szablonu. W celu zaktualizowania całego szablonu należy wgrać plik z poprzednim szablonem do Kreatora Wyglądu, według tej instrukcji:
  • po uruchomieniu strony kreatora wybierz opcję: Stwórz nowy projekt,
  • wybierz Nowy szablon,
  • w prawym górnym rogu wybierz opcję Importuj szablon,
  • następnie zaimportuj plik z szablonem, który ma być zaktualizowany. Po poprawnym zaimportowaniu szablonu otrzymasz informację zwrotną:
  • po wgraniu szablonu do aktualizacji użyj opcji Generuj. 
Dzięki temu w prosty sposób można starsze szablony Topaz podnieść do wersji aktualnej.

Przywracanie koszyka dla klientów niezalogowanych

W szablonie Topaz przywracany jest koszyk  dla niezalogowanych klientów. Po opuszczeniu strony lub wyłączeniu przeglądarki klient niezalogowany powracający do sklepu będzie widział towary dodane do koszyka wcześniej. Proces ten działa dzięki zapisywaniu informacji w ciasteczkach.

Więcej informacji

Więcej informacji można znaleźć w artykułach o wyglądzie sklepu oraz o dostosowaniu wyglądu.

Dla Gastronomii - przewodnik konfiguracji

1. Wstęp

Szablon jest dedykowany do sprzedaży jedzenia online, możliwy do swobodnej konfiguracji. Jest responsywny, dzięki czemu idealnie nadaje się do prezentacji przepisów, menu lub promocji produktów żywnościowych. Może zostać zastosowany zarówno do niewielkiej, lokalnej pizzerii, jak i do restauracji, piekarni czy cukierni. Wszystkie elementy są zaprojektowane tak, aby jak najlepiej zaprezentować ofertę oraz ułatwić użytkownikowi nawigację i szybkie złożenie zamówienia. Główne wyróżniki szablonu to:
  • dostosowana lista produktów w formie MENU,
  • popup z możliwością personalizacji zamówienia (dodanie kolejnych składników i dodatków),
  • wyświetlenie orientacyjnego czasu realizacji zamówienia,
  • komunikat o braku możliwości składania zamówienia w określonych dniach i godzinach,
  • możliwość ustawienia rejonu dostawy,
  • wyświetlanie alergenów.
Szablon współpracuje z Comarch e-Sklep w każdej wersji (Light, Standard, Enterprice oraz B2B) oraz Comarch ERP XT, ERP XL oraz ERP Optima. Przejdź do naszego sklepu demonstracyjnego i zobacz, jak prezentuje się szablon dla gastronomii w Comarch e-Sklep. W tym artykule skupiliśmy się na prezentacji dedykowanych funkcji dla tego szablonu. Znajdziesz tu krótkie instrukcje konfiguracji. Podstawowe informacje na temat szablonu dla gastonomii znajdziesz w artykule: Dla gastronomii - podstawowe informacje.

2. Dedykowane konfiguracje

Szablon Dla Gastronomii posiada dedykowane funkcje, które są możliwe do swobodnej modyfikacji. Funkcje te nie są dostępne w innych, standardowych szablonach. W szablonie dla Gastronomii kupowanie jest możliwe bezpośrednio z listy. Menu, bo tak została nazwana sekcja z listą towarów, dostępne jest do prezentacji w dwóch wariantach: kafli oraz listy. Zmiana układu listy możliwa jest z poziomu panelu administracyjnego (Wygląd sklepu/ Ustawienia/ zakładka Zarządzanie kaflem produktu). Podczas kupowania bezpośrednio z menu wyświetla się popup, który posiada następujące informacje:
  • zdjęcie produktu,
  • opis,
  • możliwe do wyboru warianty,
  • dodatkowe produkty, ktore można umiejscowić pod nazwą „Składniki” czy „Dodatki”.
Dzięki temu możliwa jest personalizacja danego towaru, a Klient w szybki sposób może wybrać ekstra składniki czy dodatki w postaci np. sosów do dania głównego. Może również wybrać rodzaj pieczywa czy rozmiar burgera. Nad przyciskiem "dodaj do koszyka" znajduje się tzw. przycisk drugorzędny. Służy on do wpisania liczby, przez którą wartości wybrane w popupie oraz towar nadrzędny (jakim w tym przypadku jest burger) zostaną pomnożone.

2.1. Wybór wariantów - konfiguracja "rozmiar burgera" oraz "rodzaj pieczywa"

Burger został skonfigurowany jako fantom. Informacje takie jak "rozmiar burgera" czy "rodzaj pieczywa" to jego warianty. Instrukcję dotyczącą konfiguracji fantomów znajdziesz w artykule: Fantom (towar zgrupowany) – konfiguracja
Wskazówka
Na zrzucie ekranu w popupie widnieje fantom dwupoziomowy (rozmiar burgera i rodzaj pieczywa), co oznacza, że należy dodać dwa atrybuty grupujące na karcie towaru w systemie ERP.

2.2. Składniki i dodatki

"Składniki" oraz "dodatki" to towary proste, które klienci mogą dodać do dania głównego. Poprawnie skonfigurowane wyświetlą się na popupie podczas kupowania z listy. W systemach ERP definiowane są jako zamienniki lub towary podobne. Jest kilka rzeczy, o których musisz pamiętać podczas konfiguracji dodatków i składników:
  • towar nie może posiadać atrybutów grupujących,
  • produkty muszą mieć zdefiniowane przynajmniej jedno zdjęcie,
  • towar musi być zamiennikiem jednostronnym,
  • łączna ilość zamienników nie może przekraczać 20 towarów prostych. Ograniczenie to dotyczy każdego z niżej wskazanych systemów ERP.
Poniżej zamieściliśmy instrukcję konfiguracji dla poszczególnych systemów ERP.

2.3. Składniki

2.3.1. W jaki sposób zostały skonfigurowane "Składniki" w ERP Optima?

Towary znajdujące się w popupie jako "składniki" to zamienniki utworzone w systemie Comarch ERP Optima. Aby towar wyświetlił się poprawnie, należy: Krok 1. Utworzyć w systemie Comarch ERP Optima kategorię o nazwie i kodzie "INNE",
Wskazówka
Grupa musi być domyślną dla składników, które się w niej znajdują. Dodatkowo musi ona zostać dodana jako podgrupa grupy głównej, która została wybrana na definicji oddziału.
Krok 2. Utworzyć towar prosty (czyli np. dodatkowy ser), przyporządkować go do grupy INNE, Krok 3. Do towaru nadrzędnego (w tym przypadku burgera) dodać zamiennik jednostronny, Krok 4. Po wykonaniu synchronizacji produkty będą widoczne na popupie. Dodatkowo, produkty, które są w kategorii  "INNE" nie wyświetlą się w menu. Grupa ta nie jest także widoczna w menu kategorii.  

2.3.2 W jaki sposób zostały skonfigurowane "Składniki" w ERP XT?

Towary znajdujące się w popupie jako "składniki" to produkty podobne utworzone w systemie Comarch ERP XT. Aby towar wyświetlił się poprawnie, należy: Krok 1. Utworzyć w systemie Comarch ERP XT grupę produktów o nazwie "INNE", Krok 2. Utworzyć towar (np. dodatkowa szynka), przyporządkować go do grupy "INNE". Krok 3. Na karcie towaru nadrzędnego (w tym przypadku burgera) dodać produkt podobny (jednostronny), Krok 4. Po wykonaniu synchronizacji produkty będą widoczne na popupie. Dodatkowo, produkty, które są w kategorii  "INNE" nie wyświetlą się w menu. Grupa ta nie jest także widoczna w menu kategorii.  

2.3.3 W jaki sposób zostały skonfigurowane "Składniki" w ERP XL?

Towary znajdujące się w popupie jako "składniki", to produkty podobne utworzone w systemie Comarch ERP XL. Aby towar wyświetlił się poprawnie, należy: Krok 1. Utworzyć w systemie Comarch ERP XL grupę produktów o nazwie "INNE". Grupa musi zostać dodana jako podgrupa grupy głównej, która została wybrana na definicji oddziału,
Przyklad
Jeśli na definicji oddziału w zakładce Eksport/ Cennik wybierzesz grupę Szablon gastronomiczny: To należy w niej dodać podgrupę o nazwie "INNE".
Krok 2. Utworzyć towar prosty(np. szynka), przyporządkować go do grupy "INNE". Krok 3. Na karcie towaru nadrzędnego (w tym przypadku pizza hawajska) dodać zamiennik(jednostronny) w zakładce Zamienniki/ Zamienniki. Dodatkowo w edycji zamienników w zakładce "Miejsca w strukturze firmy" trzeba dodać oddział e-Sklepu, Krok 4. Po wykonaniu synchronizacji produkty z grupy "INNE" będą widoczne na popupie jako składniki, ale nie wyświetlą się jako osobna grupa "INNE" w menu kategorii.

2.4 Dodatki

2.4.1 W jaki sposób zostały skonfigurowane "Dodatki" w Comarch ERP Optima?

Towary znajdujące się w popupie jako "dodatki" to zamienniki utworzone w systemie Comarch ERP Optima. Aby towar wyświetlił się poprawnie, należy: Krok 1. Utworzyć towar prosty (czyli np. oliwa z oliwek), przyporządkować go do grupy, która jest udostępniona do e-Sklepu, najwygodniej jeśli posiada ona nazwę "DODATKI". Krok 2. Do towaru nadrzędnego (w tym przypadku burgera) dodać zamiennik jednostronny, Efekt: Po wykonaniu synchronizacji produkty będą widoczne na popupie. Dodatkowo, produkty z kategorii "DODATKI" wyświetlą się w menu, a grupa będzie widoczna w menu kategorii.

2.4.2 W jaki sposób zostały skonfigurowane "Dodatki" w Comarch ERP XT?

Towary znajdujące się w popupie jako "dodatki" to produkty podobne utworzone w systemie Comarch ERP XT. Aby towar wyświetlił się poprawnie, należy: Krok 1. Utworzyć towar (np. sos czosnkowy), przyporządkować go do grupy, która jest udostępniona do e-Sklepu, najwygodniej o nazwie "DODATKI" lub innej. Krok 2. Do towaru nadrzędnego (w tym przypadku burgera) dodać produkt podobny (jednostronny), Efekt: Po wykonaniu synchronizacji produkty będą widoczne na popupie jako dodatki. Kategoria "DODATKI" wyświetli się w Menu, obok innych kategorii stworzonych w systemie ERP XT.

2.4.3 W jaki sposób zostały skonfigurowane "Dodatki" w Comarch ERP XL?

Towary znajdujące się w popupie jako "dodatki" to zamienniki utworzone w systemie Comarch ERP XL. Aby towar wyświetlił się poprawnie, należy: Krok 1. Utworzyć towar prosty (czyli np. cola), przyporządkować go do grupy, która jest udostępniona do e-Sklepu, najwygodniej o nazwie "DODATKI". Krok 2. Na karcie towaru nadrzędnego (w tym przypadku pizza hawajska) dodać zamiennik(jednostronny) w zakładce Zamienniki/ Zamienniki. Dodatkowo w edycji zamienników w zakładce "Miejsca w strukturze firmy" trzeba dodać oddział e-Sklepu, Efekt: Po wykonaniu synchronizacji produkty będą widoczne na popupie. Dodatkowo, produkty z kategorii "DODATKI" wyświetlą się w menu kategorii, które widoczne jest nad menu  

3. Alergeny

Szablon dla Gastronomii został dostosowany do wyświetlania tabel z alergenami, które mogą znaleźć się w produktach. Alergeny możesz wyświetlić zatem za pomocą:
  • konfiguracji banneru „Tabela”,
  • dodania dowolnej treści na stronie użytkownika,
  • oznaczeniu ich jako atrybuty. 

3.1. Alergeny jako atrybuty - widoczność na szczegółach towaru - Konfiguracja ERP Optima

Aby dodać spis produktów lub substancji uczulających, który zostanie wyświetlony w zakładce "Alergeny" widocznej na szczegółach towaru, należy: Krok 1. Utworzyć w ERP Optima atrybut tekstowy o nazwie ALERGENY Krok 2. Atrybut należy dodać do towaru, na którym na być widoczny. Aby to zrobić, należy przejść z pozycji cennika do zakładki Atrybuty Krok 3. W polu "wartość" należy wpisać alergeny, które mogą się znaleźć w produkcie. Pole to posiada ograniczenie ilości znaków . W tym wypadku, jeśli zabraknie miejsca, to możliwe jest utworzenie kolejnego atrybutu, tym razem o nazwie ALERGENY_DWA. Kolejno można tworzyć atrybuty ALERGENY_TRZY itd. Efekt: Po synchronizacji alergeny zostaną wyświetlone na szczegółach towaru w zakładce "Alergeny"      

3.2. Alergeny jako atrybuty - widoczność na szczegółach towaru - Konfiguracja ERP XT

Aby dodać spis produktów lub substancji uczulających, który zostanie wyświetlony w zakładce "Alergeny" dostępnej na szczegółach towaru, należy: Krok 1. Utworzyć w systemie ERP XT atrybut o nazwie ALERGENY Krok 2. Atrybut należy dodać do towaru, na którym ma być widoczny. Aby to zrobić, należy przejść na kartę towaru w zakładkę e-Sklep: Krok 3. W polu "wartość PL" należy wpisać alergeny, które mogą się znaleźć w produkcie. Pole to posiada ograniczenie. W tym wypadku, jeśli zabraknie miejsca, to możliwe jest utworzenie kolejnego atrybutu, tym razem o nazwie Alergeny_dwa. Kolejno można tworzyć atrybuty Alergeny_trzy itd. Efekt: Po synchronizacji alergeny zostaną wyświetlone na szczegółach towaru w zakładce "Alergeny"  

3.3. Alergeny jako atrybuty - widoczność na szczegółach towaru - Konfiguracja ERP XL

Krok 1. Utworzyć w systemie ERP XL atrybut tekstowy o nazwie ALERGENY Krok 2. Atrybut należy dodać do towaru, na którym na być widoczny. Aby to zrobić, należy przejść z pozycji cennika do zakładki Atrybuty: Krok 3. W polu "wartość" należy wpisać alergeny, które mogą się znaleźć w produkcie. Pole to posiada ograniczenie ilości znaków . W tym wypadku, jeśli zabraknie miejsca, to możliwe jest utworzenie kolejnego atrybutu, tym razem o nazwie ALERGENY_DWA. Kolejno można tworzyć atrybuty ALERGENY_TRZY itd. Efekt: Po synchronizacji alergeny zostaną wyświetlone na szczegółach towaru w zakładce "Alergeny"  

4. Określenie i walidacja obszaru dostawy

W szablonie dla Gastronomii możesz określić obszar dostawy. Możesz to zrobić na dwa sposoby: określenie za pomocą kodu pocztowego oraz mapy. Aby użyć funkcji w swoim e-Sklepie należy: Krok 1. Przejść do panelu administracyjnego, a następnie do zakładki Wygląd Sklepu/ Ustawienia/ zakładka Ogólne Krok 2. Następnie odnajdź "obszar dostaw" i określ obszar dostawy za pomocą mapy lub kodów pocztowych. Możesz zrezygnować z określania obszaru dostawy, wybierając opcję "nie określaj obszaru".

4.1. Określenie obszaru za pomocą mapy

Krok 1. Aby określić obszar za pomocą mapy wybierz odpowiednią opcję z listy. Po zaznaczeniu "Mapy" ukaże się mała mapa. Kliknij niebieski przycisk "wybierz obszar", po czym ustaw odpowiednio pinezki. Krok 2. Następnie, po określeniu obszaru, zapisz obszar, wybierając przycisk znajdujący się poniżej mapki. Efekt: Po zapisaniu obszaru na mapie zaznaczony będzie odpowiedni, określony przez Ciebie rejon. Aby zmienić lub usunąć obszar, wystarczy wybrać przycisk "wyczyść obszar", który pojawi się w lewym, dolnym rogu poniżej mapy. Zmiany należy zapisać i opublikować.

4.2. Określenie obszaru za pomocą kodu pocztowego

Krok 1. Aby określić obszar za pomocą kodu pocztowego wybierz odpowiednią opcję z listy. Krok 2. Po zaznaczeniu "Kodów pocztowych" ukaże się obszar, w którym należy wpisać obsługiwane kody. Po wpisaniu kodu, aby dodać kolejny, kliknij "Dodaj kod pocztowy". Zmiany należy zapisać i opublikować. Efekt: Wprowadzone przez Ciebie kody pocztowe będą widoczne w panelu administracyjnym. Możesz je usunąć poprzez kliknięcie krzyżyka. Nie ma ograniczeń ilości dodawanych kodów. Efekt w e-Sklepie: Klient po uzupełnieniu danych zamawiającego otrzyma od razu informację, czy jego adres znajduje się w obszarze dostawy.  

5. Realizacja zamówień

W szablonie dla Gastronomii możesz określić orientacyjny czas realizacji zamówienia, a także określić, kiedy jest ono możliwe do złożenia.

5.1. Orientacyjny czas realizacji zamówienia

Krok 1. Aby włączyć funkcję wystarczy przejść z poziomu panelu administracyjnego do obszaru Wygląd sklepu/ Ustawienia/ zakładka Ogólne po czym odnaleźć sekcję "Realizacja zamówień". Krok 2. Następnie w "Orientacyjny czas realizacji zamówienia" należy wpisać czas, w jakim zazwyczaj dostarczasz zamówienie:   Efekt: Po złożeniu zamówienia Twoi Klienci zobaczą thank you page z odliczaniem czasu do realizacji:

5.2. Zezwól na składanie zamówień tylko w wybranym zakresie godzin

We wspomnianym obszarze "Realizacja zamówień" istnieje także funkcja, która pozwala na składanie zamówień tylko w wybranym zakresie godzin oraz blokowaniu składania zamówień w wybrane dni (np. święta). Krok 1. Aby ją uruchomić, wystarczy zaznaczyć checbox " Zezwój na składanie zamówień tylko w wybranym zakresie czasu" Krok 2. W tym miejscu możesz ustawić godziny oraz dni, w których klienci mogą składać zamówienia. Zapisz wprowadzone godziny. Jeśli chcesz usunąć "aktualnie zablokowane daty dostaw" , naciśnij krzyżyk znajdujący się po prawej stronie określonej daty. Efekt: Klient przeglądający menu przy próbie złożenia zamówienia w czasie, którego nie obejmuje zakres realizacji zamówień, zobaczy wówczas następujący komunikat:    

Jak edytować informacje o towarze z sekcji proponowane?

W Kreatorze Wyglądu B2C dla szablonu Topaz dostępne są parametry stylu wyświetlanych kafli towaru w sekcji proponowane. Dzięki temu możesz zwiększyć konwersję sprzedaży rekomendowanych swoim klientom produktów. Wybierz sekcję proponowane, następnie jej widok (pojedynczy lub podwójny), a potem przejdź do ustawień sekcji, gdzie masz możliwość edycji informacji o towarze, które będą widoczne na kaflu towaru. Aby dokonać modyfikacji sekcji proponowane, przejdź do zakładki „Kafle”. Tam masz możliwość wybrania następujących opcji:
  • Pozwalaj na kupowanie z sekcji towarów proponowanych,
  • Pozwalaj na dodawanie do ulubionych z sekcji towarów proponowanych,
  • Prezentuj drugie zdjęcie towaru w sekcji towarów proponowanych,
  • Powiększ kafel po najechaniu na niego kursorem.
Na podglądzie kafla możesz na bieżąco sprawdzać, jak prezentuje się towar z włączonymi parametrami.  

Jak dodać obrazek do nazwy kategorii i podkategorii w Comarch e-Sklep?

Wstęp

W Comarch e-Sklep możesz dodawać obrazki zarówno dla kategorii jak i dla podkategorii towarów. Odpowiednio dobrane grafiki zwiększają atrakcyjność wizualną sklepu, przyciągają wzrok klientów i zachęcają do dalszego przeglądania ofert w Twoim sklepie. Dodatkowo ułatwiają one nawigację i skracają czas poszukiwań Twoich klientów. W tym artykule dowiesz się, w jaki sposób skonfigurować funkcję dodawania zdjęć do kategorii i podkategorii w Twoim sklepie.

Jak dodać zdjęcie do nazwy kategorii w Comarch e-Sklep?

Comarch ERP Optima

Krok 1. Aby dodać zdjęcia kategorii w Comarch ERP Optima przejdź do zakładki Ogólne > Grupy towarowe i wybierz grupę do której ma zostać dodane zdjęcie.

Krok 2. Następnie na zakładce Atrybuty za pomocą symbolu Plusa dodaj atrybut binarny.

Wskazówka
Jeśli nie posiadasz atrybutu binarnego to aby go utworzyć przejdź do zakładki Ogólne > Atrybuty i w pierwszej zakładce symbolem Plusa dodaj atrybut w formacie binaria.

Krok 3. Po dodaniu zdjęć kategorii zmiany zapisz ikoną dyskietki oraz wykonaj synchronizację.

Comarch ERP XL

Wyświetlanie zdjęć kategorii w Comarch ERP XL możesz uzyskać poprzez dodanie odpowiedniego Załącznika. Krok 1. Aby wprowadzić zdjęcie w formie załącznika przejdź w module Sprzedaż do zakładki Ogólne > Towary i wejdź w edycję wybranej grupy. Krok 2. W zakładce Załączniki dodaj nowy załącznik ikoną Plusa. W polu Typ wskaż typ załącznika Obraz oraz zaznacz przy parametrze "Dostępność w aplikacji" e-Sklep. Następnie zaimportuj obraz ikoną z czerwoną strzałką. 3. Zmiany zapisz ikoną dyskietki oraz wykonaj synchronizację.

Comarch ERP XT

Krok 1. Zdjęcia kategorii w Comarch ERP XT możesz dodać po wybraniu Więcej funkcji > Comarch e-Sklep > Grupy w Comarch e-Sklep. Krok 2. Aby wprowadzić obrazek dla kategorii wybierz grupę do której chcesz dodać zdjęcie. Następnie wczytaj je wybierając jedną z 2 opcji: Z dysku lub Z internetu. Krok 3. Zapisz wprowadzone zmiany i wykonaj synchronizację.

Jak ustawić dodane zdjęcie jako ikonkę w nagłówku szablonu Topaz?

W szablonie Topaz istnieje możliwość ustawienia dodanych zdjęć kategorii jako ikonek przy nazwach kategorii w Twoim sklepie. Ta funkcja obsługuje nagłówki: header-1, header-2, header-3 oraz header-5, które są dostępne w Kreatorze Wyglądu. Zdjęcia w postaci ikon wyświetlają się w następujący sposób:
Widok nagłówka header-2 ze sklepu demonstracyjnego - https://demo.comarchesklep.pl/
Krok 1. Skonfiguruj funkcję wyświetlania się ikon nagłówka. Istnieją dwie możliwości konfiguracji tej funkcji:
  • Z poziomu Kreatora Wyglądu – Podczas tworzenia szablonu Topaz w Kreatorze Wyglądu dodaj nagłówek header-1,2,3 lub 5. Następnie przejdź do jego edycji i oznacz parametr „Ukryj ikony w nagłówku” na „tak”:
Zapisz zmiany, a następnie wygeneruj szablon.
  • Z poziomu panelu administracyjnego – W sytuacji gdy wgrałeś już wygenerowany szablon do Twojego sklepu i chcesz wprowadzić zmiany w zakresie wyświetlania się obrazków przy nazwach kategorii, przejdź do sekcji Wygląd sklepu > Ustawienia > Dodatkowe i wprowadź zmiany przy parametrze „Ukryj ikony w nagłówku”:
Wprowadzone zmiany zapisz i opublikuj.
Krok 2. Wgraj zdjęcia kategorii do Twojego systemu ERP. Informacje na temat jak wgrać zdjęcia kategorii do poszczególnych systemów ERP znajdziesz pod pierwszym punktem tego artykułu.
Wskazówka
Na stronie „Produkty” wyświetlają się zdjęcia kategorii. Należy pamiętać, iż jeśli w systemie ERP zostanie dodany obrazek kategorii w formie ikony, to taki sam obrazek wyświetli się na stronie „produkty”. Nie istnieje możliwość dodania dwóch osobnych zdjęć do nagłówka i do strony „Produkty”.

Jak mogę dodać zdjęcie do nazwy podkategorii?

W takich szablonach jak Topaz i dla Gastronomii istnieje możliwość dodania obrazków, które będą wyświetlały się przy nazwach podkategorii w Twoim sklepie. Ta funkcja obsługuje wszystkie układy list towarów: products-1, products-2, products-3, products-4, które są dostępne w Kreatorze Wyglądu. Obrazki do nazw podkategorii wyświetlają się w następujący sposób:
Widok zdjęć podkategorii na liście towarów ze sklepu demonstracyjnego - https://demo.comarchesklep.pl/
Aby dodać zdjęcia do podkategorii postępuj według poniższych kroków: Krok 1. Skonfiguruj funkcję wyświetlania podkategorii. Istnieją dwie możliwości konfiguracji tej funkcji:
  • Z poziomu Kreatora Wyglądu - Tworząc szablon Topaz lub dla Gastronomii przejdź do edycji Listy towarów w Kreatorze Wyglądu. Następnie dodaj układ listy towarów: products-1,2,3 lub 4 i edytując go oznacz parametr "Udostępnij zdjęcia podkategorii".
Zapisz zmiany, a następnie wygeneruj szablon.
  • Z poziomu panelu administracyjnego - W sytuacji gdy wgrałeś już wygenerowany szablon do Twojego sklepu i chcesz wprowadzić zmiany w zakresie wyświetlania się obrazków przy nazwach podkategorii, przejdź do sekcji Wygląd sklepu > Ustawienia > Ogólne i oznacz parametr "Udostępnij zdjęcia podkategorii":
Zapisz i opublikuj wprowadzone zmiany. Krok 2. Dodaj obrazki do podkategorii w systemie ERP. Skonfigurujesz je w podobny sposób jak obrazki dla kategorii, które zostały opisane w pierwszej części artykułu.

Więcej informacji

Więcej na temat dodawania obrazków w e-Sklepie można przeczytać w artykułach:

Banner promocyjny w szablonie Topaz i One Page Shop

Banner promocyjny - jak to działa?

Banner promocyjny wyświetli się na stronie głównej Twojego e-Sklepu i będzie prezentował typ towaru, który wskażesz. Taki rodzaj banneru pomoże Ci w zwróceniu uwagi Klientów na towary, które zostały objęte na przykład ofertą specjalną.

Dodanie banneru

Banner możesz dodać z poziomu Kreatora Wyglądu B2C  (zamiennie: panel administracyjny e-Sklepu: Wygląd sklepu/ Kreator wyglądu). Aby dodać banner promocyjny do swojego szablonu, przejdź na stronę "Strona główna", po czym wybierz Banner promocyjny i przeciągnij go w wybrane przez Ciebie miejsce. W podglądzie układu szablonu, po najechaniu kursorem na obszar z bannerem promocyjnym, zobaczysz możliwość jego edycji. Wybierz ikonę "zębatki", aby móc edytować i określić liczbę wyświetlanych towarów oraz typ promowanych towarów. Zapisz wprowadzone zmiany. Jeśli pozostałe strony szablonu są gotowe i skonfigurowane, to możesz wygenerować szablon. Więcej informacji na temat Kreatora Wyglądu oraz poszczególnych sekcji znajdziesz w artykule: Kreator wyglądu Topaz (B2C) Po zaimportowaniu szablonu do panelu administracyjnego możesz przejść do edycji banneru. Postępuj zgodnie z poniższą instrukcją.

Edycja banneru

Modyfikacja wszystkich bannerów dostępnych w szablonach Comarch możliwa jest w panelu administracyjnym w obszarze Wygląd sklepu> Ustawienia> Bannery. Informacje odnośnie domyślnej, tradycyjnej modyfikacji bannerów znajdują się w artykule: Bannery

Odnajdź banner na liście nazwany "promotionalBanner", a następnie wybierz go, aby edytować i dodać zdjęcie

Po dokonaniu modyfikacji należy zapisać i opublikować zmiany. Gotowe! Teraz Twój banner promocyjny wyświetli się na stronie głównej.
Banner promocyjny w szablonie Topaz
Banner promocyjny w szablonie Topaz.

Indywidualny banner dla kategorii towarowej w szablonie Topaz

Indywidualny banner dla kategorii towarowej - jak to działa?

Od wersji 2024.5 w Twoim e-Sklepie masz możliwość dodania banneru do wybranej przez Ciebie grupy towarowej. Pomoże Ci to lepiej wyeksponować i dopasować zdjęcia czy komunikaty, które chcesz przedstawić przeglądającym ofertę Twojego sklepu. Możesz ustalić na przykład, który konkretny obrazek powinien wyświetlić się w kategorii z artykułami kosmetycznymi do twarzy, a który przy towarach związanych z pielęgnacją włosów.

Dodanie banneru

Banner możesz dodać z poziomu Kreatora wyglądu. Aby to zrobić, przejdź na stronę "Lista towarów", po czym wybierz dowolny banner i przeciągnij go w wybrane przez Ciebie miejsce. Jeśli pozostałe strony szablonu są gotowe i skonfigurowane, to możesz go w całości wygenerować. Więcej informacji na temat Kreatora Wyglądu oraz poszczególnych sekcji znajdziesz w artykule: Kreator wyglądu Topaz (B2C) Teraz możesz zaimportować szablon do panelu administracyjnego, w którym nastąpi reszta konfiguracji. Postępuj zgodnie z poniższą instrukcją.

Edycja banneru

Modyfikacja wszystkich bannerów dostępnych w szablonach Comarch możliwa jest w panelu administracyjnym w obszarze Wygląd sklepu> Ustawienia> Bannery. Informacje odnośnie domyślnej, tradycyjnej modyfikacji bannerów znajdują się w artykule: Bannery

Odnajdź odpowiedni banner na liście, a następnie wybierz go, aby edytować. Podczas edycji możesz wybrać jeden typ banneru spośród trzech: Standardowy, Lookbook oraz Dla kategorii. Dodaj obrazek ikoną plusa, a następnie zaznacz typ "Dla kategorii".

Aby wybrać kategorię, kliknij na dodany wcześniej obrazek, a następnie naciśnij "Zmień", aby zmienić kategorię.   Po naciśnięciu przycisku wyświetli się lista kategorii dostępnych w Twoim e-Sklepie. Wybierz tę, przy której chcesz wyświetlić banner. Po zmianie kategorii naciśnij "Wybierz", aby zatwierdzić. Dodana kategoria pojawiła się na liście. Możesz ją zmienić, usunąć, lub dodać kolejną. Po modyfikacjach wybierz przycisk "Zmień". Po modyfikacjach należy zapisać i opublikować zmiany. Gotowe! Teraz Twój banner dla kategorii wyświetli się na liście towarów przy wybranej przez Ciebie grupie towarowej.

Jak edytować nagłówek w szablonie B2C?

Wstęp

Nagłówek w e-Sklepie to stały element, umieszczony na górze ekranu lub na dole w wersji mobilnej. Jego głównym celem jest umożliwienie użytkownikom szybkiego dostępu do różnych sekcji witryny, takich jak: “Strona główna”, “O nas” czy “Kontakt”. Dzięki opcji edycji nagłówka możesz prosto i szybko:
  • dodawać, edytować, wyróżniać i usuwać strony lub grupy stron,
  • dodać, edytować lub usuwać odnośniki do mediów społecznościowych,
  • w jednym miejscu zmienić logotyp i favicon.
Możliwość edycji nagłówka dostępna jest dla szablonów B2C: Topaz, One Page Shop oraz Dla Gastronomii. Aby edytować zawartość nagłówka sklepu, należy przejść w panelu administracyjnym do obszaru: Wygląd sklepu  > Ustawienia > Nagłówek: W tym miejscu masz możliwość:
  • ustawienia logotypu i faviconu,
  • ustalenia, które media społecznościowe powinny wyświetlać się w nagłówku,
  • dodania stron lub grupy stron,
  • przejścia do konfiguracji menu kategorii.

Jak dodać logotyp i favicon?

Aby dodać logotyp i favicon, wybierz przycisk „Wyślij plik”, a następnie wybierz plik z odpowiedniego miejsca na Twoim komputerze.
Wskazówka
Pamiętaj, że w przypadku logotypu, maksymalny rozmiar obrazka wynosi 30 KB, a wymiary to 200 x 200px. Rekomendowane formaty: PNG, JPG, JPEG, SVG. W przypadku faviconu maksymalny rozmiar obrazka wynosi 10 KB, a rekomendowane formaty to: PNG, JPG, JPEG, SVG.

 

Jak edytować odnośniki do mediów społecznościowych?

Wskazówka
Miniatury z odnośnikami do mediów społecznościowych są widoczne w drugim i trzecim typie nagłówka (header-2 oraz header-3) w szablonie Topaz.
Aby edytować istniejący odnośnik do mediów społecznościowych, przejdź do szczegółów logotypu wybranego serwisu, który chcesz podłączyć do e-Sklepu. W miejscu "# " w kodzie wklej link do swojego portalu. Dzięki temu możliwe będzie przekierowanie użytkownika do konkretnego medium społecznościowego. Następnie zapisz zmiany. Aby dodać nowy odnośnik do mediów społecznościowych wystarczy, że naciśniesz ikonę plusa. Wyświetli się wówczas edytor, do którego należy wkleić analogiczny kod, jak w przykładzie prezentowanym powyżej. Fragment kodu należy skopiować z poziomu panelu administracyjnego. W miejscu "#"w kodzie wklej link do swojego portalu. Jeśli chcesz zmienić obrazek, to we fragmencie kodu w miejscu linku wklej swój odnośnik do wybranego zdjęcia. Może to być odnośnik skopiowany z pliku, który znajduje się w Plikach użytkownika.
Wskazówka
W nagłówku wyświetli się pięć pierwszych ikon mediów społecznościowych, które zostały dodane w panelu administracyjnym.
 

Jak dodać strony lub grupy stron?

Z poziomu obszaru Wygląd sklepu > Ustawienia > Nagłówek możesz dodać Stronę lub Grupę stron. Aby to zrobić, należy wybrać sekcję "Dodaj stronę lub grupę stron". Po wybraniu tej opcji wyświetli się następujący popup: Z poziomu popupu należy zaznaczyć parametr: Stronę lub Grupę stron i uzupełnić obowiązkowe pole "Nazwa". Następnie, aby dodać odnośnik do strony, należy edytować dodaną stronę lub grupę.  Podczas edycji w panelu administracyjnym wyświetli się obszar, w którym możliwe jest dokonanie zmian. Możesz zdecydować, czy do strony lub grupy stron dodasz już istniejącą stronę ze sklepu, czy stronę zewnętrzną: Po wyborze opcji "Dodaj stronę ze sklepu" pokaże się popup z listą stron, które można wybrać i dodać do sekcji. Możesz także dodać stronę zewnętrzną, uzupełniając pola na formularzu: Przy dodanym odnośniku możesz zdecydować, czy chcesz go wyróżnić, otworzyć w nowej karcie, czy usunąć.   Wprowadzone zmiany należy zapisać i opublikować. Poniżej prezentujemy efekt wprowadzonych konfiguracji (dodanie mediów społecznościowych, grupy stron oraz wyróżnienia):
Topaz header-2
Topaz header-2
 
Topaz header-3
Topaz header-3
   

Jak zaprezentować banner z odliczaniem czasu w szablonach B2C?

Wstęp

Banner promocyjny z odliczaniem czasu będzie prezentowany na stronie głównej Twojego e-Sklepu i będzie wskazywał czas do końca opisanej oferty. Taki rodzaj banneru pomoże Ci w zwróceniu uwagi Klientów na okazje ograniczone czasowo, które są dostępne w obrębie Twojego sklepu.

Jak na stronie głównej zaprezentować banner z odliczaniem czasu?

Krok 1. Banner możesz dodać z poziomu Kreatora Wyglądu B2C  (zamiennie: panel administracyjny e-Sklepu: Wygląd sklepu/ Kreator wyglądu).W Kreatorze banner znajduje się w sekcji Banner promocyjny. Stąd przeciągnij go w wybrane przez Ciebie miejsce w szablonie: Krok 2. Szablon z tak przygotowanym bannerem należy wygenerować. Po zaimportowaniu szablonu do panelu administracyjnego możesz przejść do dalszej konfiguracji odliczania czasu. Krok 3. Przejdź do ustawień Wygląd sklepu/ Ustawienia/ Bannery. W tej sekcji znajdź banner o nazwie promotionalBanner, a następnie przejdź do jego edycji. Krok 4. Za pomocą ikony plusa dodaj obrazek w rozmiarze 1920px na 680px do banneru. Po przesłaniu właściwego obrazka kliknij na niego, aby przejść do edycji. Krok 5. Wybierz zakładkę Ustawienia. Tutaj masz możliwość zdefiniowania do kiedy ma trwać odliczanie:
Wskazówka
Po skończeniu odliczania banner nadal będzie widoczny na sklepie, aby móc poinformować o zakończeniu oferty. Jeżeli chcesz, aby banner przestał być widoczny wraz z zakończeniem odliczania, należy przejść do sekcji Widok zaawansowany. Tutaj znajdują się dodatkowo ustawienia dotyczące czasu prezentowania banneru na sklepie:
  Krok 6. Gotowe! Twój banner będzie prezentował się w sklepie następująco:

Jak zaprezentować odliczanie czasu w bannerze top?

Odliczanie czasu jest także dostępne z poziomu banneru top. Jest to banner znajdujący się na samej górze witryny. Dzięki ustawieniu odliczania czasu w tym miejscu będziesz mógł od razu zwrócić uwagę klientów na dostępne okazje. Aby to zrobić, zastosuj się do poniższej instrukcji Krok 1. Przejdź do sekcji Wygląd sklepu/ Ustawienia/ Bannery i wybierz banner o nazwie top. Krok 2. Kliknij na edycję konfiguracji wskazanego banneru. Krok 3. W zakładce Ustawienia zdefiniuj czas odliczania:.
Wskazówka
Aby czas odliczania pokazywał się w bannerze top należy uzupełnić pole "Tekst" w Widoku zaawansowanym: Tekst będzie traktowany jako napis informacyjny przy odliczaniu czasu.
Krok 4. Banner top będzie prezentował się na sklepie następująco:
Wskazówka
Opcja odliczania czasu w bannerze top jest możliwa do skonfigurowania wraz z linkami. Informacje o konfiguracji banneru top z wieloma linkami można znaleźć w artykule Jak dodać wiele linków dla banneru top? W takim przypadku należy uzupełnić konfigurację linków, ustawić opcję odliczania czasu, jak również uzupełnić pole "Tekst". Dzięki temu banner top zyska następujący wygląd:
 

Jak zaprezentować banner w liście towarów dla szablonu Topaz?

Wstęp

Banner prezentowany na listach towarowych Twojego e-Sklepu przyciągnie uwagę klientów i pomoże zwiększyć sprzedaż. Dzięki wyrazistym grafikom i atrakcyjnym komunikatom można promować konkretne produkty, sezonowe promocje lub nowości, wyróżniając je spośród innych ofert. Sprawdź jak łatwo można dodać i skonfigurować banner, który będzie wyświetlany na listach towarowych w Twoim sklepie.

Jak dodać banner do listy towarów?

Krok 1. Banner możesz dodać z poziomu Kreatora Wyglądu B2C  (zamiennie: panel administracyjny e-Sklepu: Wygląd sklepu > Kreator wyglądu).W Kreatorze banner znajduje się w sekcji Lista towarów > Banner w liście towarów. Aby dodać banner wystarczy w niego kliknąć:
Wskazówka
Aby zmienić banner wystarczy kliknąć inny banner, natomiast aby go usunąć należy ponownie kliknąć na dodany banner.
Krok 2. Ustawienia banneru możesz skonfigurować zarówno z poziomu Kreatora Wyglądu jak i panelu administracyjnego. W Kreatorze Wyglądu po dodaniu banneru do listy towarowej kliknij w symbol ustawień a następnie przejdź do zakładki Banner w liście towarów: Krok 3. Szablon z tak przygotowanym bannerem należy wygenerować. Po zaimportowaniu szablonu do panelu administracyjnego możesz przejść do dalszej konfiguracji. Krok 4. Przejdź do ustawień Wygląd sklepu > Ustawienia > Bannery. W tej sekcji znajdź banner o nazwie banner-in-list-1 lub jeśli wybrałeś drugą opcję to banner-in-list-2, a następnie przejdź do jego edycji. Krok 5. Za pomocą ikony plusa dodaj obrazek w rozmiarze 720x300 dla banner-in-list-1 lub 1400x300 dla banneru banner-in-list-2. Po przesłaniu właściwego obrazka kliknij na Widok zaawansowany, aby przejść do edycji pozostałych elementów.
Wskazówka
Pamiętaj o tym, aby zapisać i opublikować wprowadzone zmiany.
Krok 6. Gotowe! Twój banner będzie prezentował się w sklepie następująco:
Wskazówka
Ustawienia banneru osadzongo w liście towarów możesz zmienić także w panelu administracyjnym przechodząc do zakładki Wygląd sklepu > Ustawienia > Zarządzanie elementami na liście towarów.

Dostosowanie wyglądu e-Sklepu

Nowości i promocje w szablonie

Na stronie głównej sklepu wyświetlane są produkty prezentowane jako promocje w Twoim sklepie. Nowości i promocje w szablonie: 1 - strona główna Produkty które wyświetlają się w tym obszarze oznacza się odpowiednim parametrem na kartach towarowych w systemie ERP. Więcej na temat dodawania atrybutów czasowych do produktów można przeczytać w poniższych artykułach:   Jednak rodzaj wyświetlanych produktów możesz zmodyfikować dopasowując je do własnych upodobań. Dzięki temu na stronie głównej można zaprezentować nie tylko promocje, ale np. nowości, rekomendacje sprzedawcy, produkt z gazetki czy też wyprzedaż. Zmianę rodzaju wyświetlanych produktów wykonuje się w Panelu administracyjnym. W tym celu należy edytować obiekt, który domyślnie wyświetla nowości zdefiniowane w systemie ERP. Zaloguj się do Panelu administracyjnego i przejdź do obszaru Wygląd sklepu/ Ustawienia. Następnie użyj przycisku ‘Więcej’ i Edytuj Ustawienia zaawansowane. Przejdź do zakładki 'Obiekty' i edytuj obiekt 'productnew'. Nowości i promocje w szablonie: 2 - lista obiektów W edycji obiektu 'productnew' możesz zmienić typ wyświetlanych produktów wybierając je z listy rozwijanej. Nowości i promocje w szablonie: 3 - nowości i promocje Po zmianie zapisz swój wybór i opublikuj szablon, aby nowe produkty pojawiły się na stronie.

Integracja z edrone - dostosowanie szablonu

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.
Darmowe szablony Comarch od wersji 2018.1 posiadają wbudowaną integrację z zaawansowanym systemem do zarządzania relacjami z klientami edrone. Jeżeli korzystasz z innych szablonów, to ten artykuł może być dla Ciebie pomocny. Poniżej znajduje się lista kroków, które należy wykonać w celu integracji z edrone.
  1. Ustawiamy swój App ID z edrone w panelu administracyjnym (Ustawienia/Ustawienia Sklepu/Ogólne/Integracja z edrone)
  2. W głównym folderze szablonu tworzymy folder edrone, w którym umieszczamy pliki, których zawartość znajduje się w kolejnych punktach
  3. W pliku html, na końcu sekcji head includujemy plik edrone/head.html (dodajemy {% include ‘edrone/head.html’ -%} ) {% if config.External.Edrone.AppId != '' -%} <script type="text/javascript"> (function (srcjs) { window._edrone = window._edrone || {}; _edrone.app_id = '{{ config.External.Edrone.AppId }}'; _edrone.version = '1.0.0'; _edrone.platform_version = '{{ config.Version }}'; _edrone.platform = 'comarch'; _edrone.shop_lang = '{{ page.Language }}';{% if page.PageId != config.DefinedPages.Order.Id -%} _edrone.action_type = 'other'; {% if usr.Authenticated -%} {% if customer.Address.Name != '' -%} {% assign FullName = customer.Address.Name -%} {% if FullName contains ' ' -%} {% assign HalfName = FullName | Split:' ' -%} {% endif %} _edrone.first_name = '{% if HalfName[0] -%}{{ HalfName[0] }}{% else %}{{ FullName }}{% endif %}'; {% if HalfName[1] -%} _edrone.last_name = '{{ HalfName[1] }}'; {% endif %} {% endif -%} {% if customer.Address.Country != '' -%} _edrone.country = '{{ customer.Address.Country }}'; {% endif -%} {% if customer.Address.City != '' -%} _edrone.city = '{{ customer.Address.City }}'; {% endif -%} {% if customer.Address.Phone != '' -%} _edrone.phone = '{{ customer.Address.PhoneNo }}'; {% endif -%} _edrone.email = '{{ customer.Email }}'; {% endif -%} {% endif -%}var doc = document.createElement('script'); doc.type = 'text/javascript'; doc.async = true; doc.src = ('https:' == document.location.protocol ? 'https:' : 'http:') + srcjs; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(doc, s); })("//d3bo67muzbfgtl.cloudfront.net/edrone_2_0.js"); </script> {% endif -%}
  4. W pliku html, na końcu sekcji body includujemy pliki edrone/product-presentation.html oraz edrone/subscribe.html
    • product-presentation.html
    {% if page.PageId == config.DefinedPages.ProductDetails.Id and config.External.Edrone.AppId != '' -%} <script type="text/javascript"> {% if productdetails -%} {% assign product-presentation = productdetails -%} {% elseif product-details -%} {% assign product-presentation = product-details -%} {% endif -%} window._edrone = window._edrone || {}; _edrone.action_type = 'product_view'; _edrone.product_ids = '{{ product-presentation.Product.Id }}'; _edrone.product_titles = '{{ product-presentation.Product.Name }}'; {% if product-presentation.Product.ImageId > 0 -%} _edrone.product_images = 'http:{{ page.BaseHref }}img/large/{{ product-presentation.Product.ImageId }}/{% if product-presentation.Product.Images[0].Name != "" -%}{{ product-presentation.Product.Images[0].Name }}{% else %}.jpg{% endif %}'; {% endif -%} {% if product-presentation.Product.Code != '' -%} _edrone.product_skus = '{{ product-presentation.Product.Code }}'; {% endif -%} _edrone.product_urls = '{{ page.CanonicalLink }}'; _edrone.product_category_ids = '{{ page.GroupId }}'; _edrone.product_category_names = '{{ page.CurrentSiteNode.Name }}'; </script> {% endif %}
    Wskazówka
    Jeżeli w swoim szablonie obiekt ze szczegółami produktu ma inną nazwę, to należy zmodyfikować warunek.
    • subscribe.html
    {% if config.External.Edrone.AppId != '' -%} {% if page.PageId == config.DefinedPages.Home.Id or page.PageId == config.DefinedPages.CustomerProfile.Id -%} <script type="text/javascript"> $(document).ajaxSuccess(function(a,b,c,d) { if(d && d.action && (d.action.Action == 'Newsletter/Subscribe' || d.action.Action == 'newsletter/subscribe') && d.action.Result){ var queryString = c.data.split('&'); for(i=0; i<queryString.length; i++){ if(queryString[i].indexOf('email') != -1){ var email = queryString[i].split('=')[1].replace('%40','@'); } } _edrone.customer_tags = 'From Newsletter Subscribe'; _edrone.email = email; _edrone.subscriber_status = '1'; _edrone.action_type = 'subscribe'; _edrone.init(); } }); </script> {% endif %} {% if page.PageId == config.DefinedPages.CustomerProfile.Id -%} <script type="text/javascript"> $(document).ajaxSuccess(function(a,b,c,d) { if(d && d.action && (d.action.Action == 'Newsletter/Unsubscribe' || d.action.Action == 'newsletter/unsubscribe') && d.action.Result){ var queryString = c.data.split('&'); for(i=0; i<queryString.length; i++){ if(queryString[i].indexOf('email') != -1){ var email = queryString[i].split('=')[1].replace('%40','@'); } } _edrone.customer_tags = 'From Newsletter Subscribe'; _edrone.email = email; _edrone.subscriber_status = '0'; _edrone.action_type = 'subscribe'; _edrone.init(); } }); </script> {% endif %} {% endif %}
    Wskazówka
    Jeżeli w swoim szablonie umożliwiasz zapis do newslettera z innych stron niż strona główna i profil klienta oraz pozwalasz na wypisanie poza profilem klienta, to należy zmodyfikować powyższy plik.
    Uwaga
    W wersji 2018.7 z domyślnych szablonów Comarch usunięto akcję dotyczącą zapisu i wypisu z newslettera, ponieważ dane przekazywane są przez Comarch e-Sklep w tle.
  5. W szablonach Agat, Bursztyn i Opal, w tym samym miejscu includujemy również plik edrone/add-to-cart.html {% if page.PageId == config.DefinedPages.ProductDetails.Id and config.External.Edrone.AppId != '' -%} <script type="text/javascript"> $(document).ajaxSuccess(function(a,b,c,d) { if(d && d.action && (d.action.Action == 'Cart/Add' || d.action.Action == 'cart/add') && d.action.Result ){ _edrone.action_type = 'add_to_cart'; _edrone.init(); } }); </script> {% endif %}
    Wskazówka
    Plik należy dodać do wszystkich szablonów, które nie są oparte o najnowszą wersję szablonu Szafir (w tym szablonie dodawanie do koszyka w edrone obsłużone jest bezpośrednio w funkcjach szablonu – spowodowane jest to możliwością dodawania kilku towarów jednocześnie czego inne szablony nie posiadają).
  6. W szablonie Bursztyn, w tym samym miejscu includujemy również plik edrone/add-to-cart-with-data.html {% if config.External.Edrone.AppId != '' -%} {% if page.PageId == config.DefinedPages.Home.Id or page.PageId == config.DefinedPages.ProductList.Id -%} <script type="text/javascript"> $(document).ajaxSuccess(function(a,b,c,d) { if(d && d.action && (d.action.Action == 'Cart/Add' || d.action.Action == 'cart/add') && d.action.Result ){ window._edrone = window._edrone || {};var products = d.collection["customer.Cart"].Products; var size = products.length; var product = products[size-1];_edrone.product_ids = product.Id; _edrone.product_titles = product.NameNoHtml; if(product.ImageId > 0){ _edrone.product_images = 'http:{{ page.BaseHref }}img/large/'+product.ImageId+'/.jpg'; } if(product.Code != ''){ _edrone.product_skus = product.Code; } _edrone.product_urls = 'http:{{ page.BaseHref }}'+product.Url; _edrone.product_category_ids = product.DefaultGroup; _edrone.action_type = 'add_to_cart'; _edrone.init(); } }); </script> {% endif %} {% endif %}
    Wskazówka
    Kod działa dla dodawania do koszyka ze strony głównej i listy towarów. Jeżeli pozwalasz na dodawanie do koszyka z innych stron, należy go zmodyfikować.
  7. W pliku z podziękowaniami za zakup (Agat – partials/cart/summary.html, Bursztyn i Opal – order/thank-you.html, Szafir – order/thx.html), na końcu pliku (tuż pod includem rich-snippetów), includujemy plik edrone/order.html {% if config.External.Edrone.AppId != '' -%} <script type="text/javascript"> _edrone.action_type = 'order';{% if cart -%} {% assign order = cart -%} {% endif -%}{% assign FullName = order.Customer.DeliveryAddress.Name -%} {% if FullName contains ' ' -%} {% assign HalfName = FullName | Split:' ' -%} {% endif %} _edrone.first_name = '{% if HalfName[0] -%}{{ HalfName[0] }}{% else %}{{ FullName }}{% endif %}'; {% if HalfName[1] -%} _edrone.last_name = '{{ HalfName[1] }}'; {% endif %} _edrone.country = '{{ order.Customer.DeliveryAddress.Country }}'; {% if order.Customer.DeliveryAddress.City != '' -%} _edrone.city = '{{ order.Customer.DeliveryAddress.City }}'; {% endif %} {% if order.Customer.DeliveryAddress.PhoneNo != '' -%} _edrone.phone = '{{ order.Customer.DeliveryAddress.PhoneNo }}'; {% endif %} _edrone.email = '{{ order.Customer.Email }}'; {% assign size = order.PlacedOrder.Products | Size -%} var ids = ''; var titles = ''; var images = ''; var skus = ''; var urls = ''; var categoryIds = ''; var counts = ''; {% for product in order.PlacedOrder.Products -%} ids += '{{ product.Id }}{% if forloop.index != size -%}|{% endif -%}'; titles += '{{ product.NameNoHtml }}{% if forloop.index != size -%}|{% endif -%}'; images += '{% if product.ImageId > 0 -%}http:{{ page.BaseHref }}img/large/{{ product.ImageId }}/.jpg{% endif -%}{% if forloop.index != size -%}|{% endif -%}'; skus += '{{ product.Code }}{% if forloop.index != size -%}|{% endif -%}'; urls += 'http:{{ page.BaseHref }}{{ product.Url }}{% if forloop.index != size -%}|{% endif -%}'; categoryIds += '{{ product.DefaultGroup }}{% if forloop.index != size -%}|{% endif -%}'; counts += '{{ product.Quantity | Normalize }}{% if forloop.index != size -%}|{% endif -%}'; {% endfor -%} _edrone.product_ids = ids; _edrone.product_titles = titles; _edrone.product_images = images; _edrone.product_skus = skus; _edrone.product_urls = urls; _edrone.product_category_ids = categoryIds; _edrone.product_counts = counts; _edrone.order_id = '{{ order.PlacedOrder.Id }}'; _edrone.base_currency = '{{ order.Currency }}'; _edrone.order_currency = '{{ order.Currency }}'; _edrone.base_payment_value = '{{ order.OrderTotalValue | ToString | Replace:",","." }}'; _edrone.order_payment_value = '{{ order.OrderTotalValue | ToString | Replace:",","." }}'; _edrone.init(); </script> {% endif -%}
    Wskazówka
    Jeżeli w swoim szablonie używasz dla koszyka innej nazwy obiektu niż cart lub order, to powyższy kod należy zmodyfikować.
  Edrone i dodawanie towarów w szablonie Szafir:
  1. Plik js/init-ui1.js
  • Funkcja serialAddingToCart
Na samym początku funkcji znajduje się pętla “each”, a w niej instrukcja warunkowa „if (quantity > 0)”. Na końcu tej instrukcji warunkowej wklejamy poniższy kod: if(typeof _edrone !== 'undefined') { var product = form.parents('.product-item-lq'); var base = $('[data-base]').data('base'); if (first) { _edrone.product_ids = productId; _edrone.product_titles = product.find('.product-name-lq').text(); _edrone.product_images = base + product.find('img').data('src'); _edrone.product_skus = product.find('.product-code-lq').text(); _edrone.product_urls = base + product.find('a').attr('href'); _edrone.product_category_ids = $('[data-group-id]').data('group-id'); _edrone.product_category_names = $('[data-group-name]').data('group-name'); first = false; } else { _edrone.product_ids += '|' + productId; _edrone.product_titles += '|' + product.find('.product-name-lq').text(); _edrone.product_images += '|' + base + product.find('img').data('src'); _edrone.product_skus += '|' + product.find('.product-code-lq').text(); _edrone.product_urls += '|' + base + product.find('a').attr('href'); _edrone.product_category_ids += '|' + $('[data-group-id]').data('group-id'); _edrone.product_category_names += '|' + $('[data-group-name]').data('group-name'); } } Kilkanaście linijek niżej (w tej samej funkcji) jest instrukcja warunkowa “if (resGuardian)”. Na początku tej instrukcji warunkowej wklejamy poniższy kod: if(typeof _edrone !== 'undefined') { _edrone.action_type = 'add_to_cart'; _edrone.init(); }
  • Funkcja addManyProducts
Na samym początku funkcji znajduje się pętla “for(var i=0; i<products.length; i++)” iterująca po produktach. Tuż przed nią należy dodać poniższą linijkę: var first = true; Następnie, w tej pętli znajduje się instrukcja warunkowa „if(products[i].askForPriceChild == false && products[i].quantity > 0)”. Na samym jej końcu należy dodać poniższy kod: if(parameters && !validationError && products[i].supply != undefined && typeof _edrone !== 'undefined'){ if(first){ _edrone.product_ids = products[i].supply; _edrone.product_images = products[i].img; _edrone.product_skus = products[i].code; var name = _edrone.product_titles; var url = _edrone.product_urls; var categoryId = _edrone.product_category_ids; var categoryName = _edrone.product_category_names; first = false; } else { _edrone.product_ids += '|' + products[i].supply; _edrone.product_images += '|' + products[i].img; _edrone.product_skus += '|' + products[i].code; _edrone.product_titles += '|' + name; _edrone.product_urls += '|' + url; _edrone.product_category_ids += '|' + categoryId; _edrone.product_category_names += '|' + categoryName; } } Kilkanaście linijek niżej (w tej samej funkcji) jest “$.post”. Na samym jego początku należy dodać poniższy kod: if(typeof _edrone !== 'undefined') { _edrone.action_type = 'add_to_cart'; _edrone.init(); }
  • Dodanie funkcji simpleAddToCartSuccess
Na końcu pliku js/init-ui1.js należy dodać poniższy kod: function simpleAddToCartSuccess(e){ updateClientArea(); if(typeof _edrone !== 'undefined') { if ($('.add-from-presentation-lq').index() == -1) { var product = $(e.currentTarget).parents('.product-item-lq'); var base = product.parents('[data-base]').data('base'); _edrone.product_ids = product.data('product-id'); _edrone.product_titles = product.find('.product-name-lq').text(); _edrone.product_images = base + product.find('img').attr('src'); _edrone.product_skus = product.find('.product-code-lq').text(); _edrone.product_urls = base + product.find('a').attr('href'); _edrone.product_category_ids = product.parents('[data-group-id]').data('group-id'); _edrone.product_category_names = product.parents('[data-group-name]').data('group-name'); } _edrone.action_type = 'add_to_cart'; _edrone.init(); } } Następnie należy zmodyfikować “event”, który jest wywoływany przy kliknięciu w element z klasą “add-to-cart-update-client-area-lq”. Zmieniamy zawartość tego eventa na: app.post(e, simpleAddToCartSuccess, e); Cały event powinien wyglądać następująco: $('body').on('click', '.add-to-cart-update-client-area-lq', function(e) { app.post(e, simpleAddToCartSuccess, e); });
  1. Plik js/init-ui2.js
  • Funkcja serialAddingFromWishlist
Na samym początku funkcji znajduje się pętla “each”. Tuż przed nią należy dodać poniższą linijkę: var first = true; Następnie, w tej pętli znajduje się instrukcja warunkowa „if (quantity > 0)”. Na samym jej końcu należy dodać poniższy kod: if(typeof _edrone !== 'undefined') { if (first) { _edrone.product_ids = productId; _edrone.product_titles = productContainer.find('.product-name-lq').text(); _edrone.product_images = base + productContainer.find('img').attr('src'); _edrone.product_skus = productContainer.find('.product-code-lq').text(); _edrone.product_urls = base + productContainer.find('a').attr('href'); _edrone.product_category_ids = categoryId; first = false; } else { _edrone.product_ids += '|' + productId; _edrone.product_titles += '|' + productContainer.find('.product-name-lq').text(); _edrone.product_images += '|' + base + productContainer.find('img').attr('src'); _edrone.product_skus += '|' + productContainer.find('.product-code-lq').text(); _edrone.product_urls += '|' + base + productContainer.find('a').attr('href'); _edrone.product_category_ids += '|' + categoryId; } } Kilkanaście linijek niżej (w tej samej funkcji) jest instrukcja warunkowa “if (resGuardian)”. Na początku tej instrukcji warunkowej wklejamy poniższy kod: if(typeof _edrone !== 'undefined') { _edrone.action_type = 'add_to_cart'; _edrone.init(); }

Powiększanie zdjęć w szczegółach towaru w szablonie Topaz

Powiększanie zdjęć w szczegółach towaru w szablonie Topaz

W tym artykule dowiesz się jak dodać możliwość wyświetlania drugiego zdjęcia na liście towarów.

Wskazówka
W tym artykule trzeba będzie wprowadzać zmiany w plikach js i css. Z tego artykułu dowiesz się jak je minifikować i kompilować

Uwaga
Zapis nazwa_folderu/nazwa_pliku.rozszerzenie oznacza, że aby znaleźć dany plik należy udać się do folderu o nazwie podanej przed ukośnikiem. Przykładowo: order/thx.html oznacza plik thx.html w folderze order

Na początku w pliku elements\product-details-1.html lub elements\product-details-2.html (w zależności od typu wyglądu), za pomocą narzędzia wyszukiwania, znajdź linijkę: <img alt="{{image.Alt | H}}" src="css/img/alo.gif" data-lazy="img/grande/{{image.Id}}/{{image.Link}}.jpg"> W miejsce tej linijki wklej następujacy kod: <img class="open-gallery" alt="{{image.Alt | H}}" src="css/img/alo.gif" data-lazy="img/{{image.Id}}/{{image.Link}}.jpg"> Następnie w tym samym pliku, za pomocą narzędzia wyszukiwania, znajdź linijkę: <img alt="{{product.Images[0].Alt | H}}" src="css/img/alo.gif" data-lazy="img/grande/{{product.Images[0].Id}}/{{product.Images[0].Link}}.jpg"> W jej miejsce wklej następujący kod: <img class="open-gallery" alt="{{product.Images[0].Alt | H}}" src="css/img/alo.gif" data-lazy="img/{{product.Images[0].Id}}/{{product.Images[0].Link}}.jpg">   Kolejnym krokiem jest przejście do pliku js\layout1.js. W pliku tym, za pomocą narzędzia wyszukiwania, znajdujemy frazę var productDetailsFunctions = {, a następnie bezpośrednio pod nią wklejamy następujący kod: openGallery: function (e) { var t = $(".product-details__image").slick("slickCurrentSlide"); var i = $(e.currentTarget).parents(".product-details__images"); i.addClass("opened-gallery"); i.append('<svg class="svgIcon close-gallery-button"><use xlink:href="css/img/icons-sprite.svg#times-light"></use></svg>'); $("body").addClass("modal-opened"); $(".open-gallery:not(.opened-gallery-switch)").addClass("opened-gallery-switch"); $(".product-details__image-list").addClass("slider-hidden"); $(".product-details__image").addClass("opened-gallery"); $(".product-details__image").slick("unslick"); this.setGallerySlider(t); $(".draggable").css("top", "25%"); }, closeGallery: function (e) { $(".product-details__images").removeClass("opened-gallery"); $(".product-details__image").removeClass("opened-gallery"); $(".open-gallery.opened-gallery-switch").removeClass("opened-gallery-switch"); $(e.currentTarget).remove(); $(".product-details__image-list").removeClass("slider-hidden"); $("body").removeClass("modal-opened"); $(".product-details__image").slick("unslick"); $(".draggable").css("top", "0"); this.setSlider(); }, setGallerySlider: function (t) { $(".product-details__image").slick ({ infinite: true, slidesToShow: 1, slidesToScroll: 1, autoplay: false, nextArrow: '<button type="button" aria-label="nextArrow" class="slick-next"><svg class="svgIcon svgIcon--arrowRight"><use xlink:href="css/img/icons-sprite.svg#angle-right-light"></use></svg></button>', prevArrow: '<button type="button" aria-label="prevArrow" class="slick-next"><svg class="svgIcon svgIcon--arrowLeft"><use xlink:href="css/img/icons-sprite.svg#angle-right-light"></use></svg></button>', accessibility: false, dots: false, }); $(".product-details__image").slick("slickGoTo", t, true); }, W tym samym pliku za pomocą narzędzia wyszukiwania znajdź frazę var body = $('body'); a bezpośrednio pod nią wklej następujacy kod: body.on("click", ".open-gallery:not(.opened-gallery-switch)", function(e) { productDetailsFunctions.openGallery(e); }), $("body").on("click", ".close-gallery-button", function(e) { productDetailsFunctions.closeGallery(e); }),   Przejdź do pliku css\elements\product-deatils-1-g.css lub css\elements\product-deatils-2-g.css (w zależności od typu wyglądu). Na koncu pliku wklej następujący kod: .close-gallery-button { position: fixed; right: 0; top: 0; background: transparent; color: #656565; z-index: 20; border: 0; font-size: 20px; width: 50px; height: 50px; cursor: pointer; } .slider-hidden { display: none; } .opened-gallery { position: fixed; display: flex; z-index: 20; top: 0; right: 0; bottom: 0; left: 0; background: #ffffff; width: 100%; .slick-next:last-child { right: 20px; } .slick-next:first-child { left: 20px; } .slick-next { height: 35px; width: 35px; } img { max-height: none; } } Ostatnim krokiem jest przeście do pliku css\base_layout-g.css. Znajdź  frazę body { i bezpośrednio pod wyszukaną linijką wklej następujacy kod: &.modal-opened { overflow: hidden; }                          

Prezentacja własnych punktów odbioru osobistego w formie mapy

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

Ustawienia ogólne

Niezbędne ustawienia do włączenia widoku własnych punktów odbioru na mapie: 1. Dodanie w panelu sklepu klucza aplikacji do Google Maps API (Wygląd Sklepu > Ustawienia) google maps api input 2. Zaznaczenie opcji wyświetlania punktów odbioru osobistego na mapie (Wygląd Sklepu > Ustawienia) change to map view 3. Dodanie własnych punktów odbioru (Ustawienia > Płatności i dostawy > Odbiór osobisty) add delivery points add point
Wskazówka
Wypełniając formularz nowego punktu, trzeba pamiętać o polach „Szerokość/długość geograficzna”
add point form 4. Włączyć opcję odbioru osobistego w panelu (Ustawienia > Płatności i dostawy > Odbiór osobisty) enable delivery points 5. Dodać dostawę za pomocą własnych punktów odbioru do sposobów dostawy deliveries add delivery method 6. Dodać dostawę do macierzy dostaw oraz określić metody płatności za ten rodzaj dostawy add delivery method payments methods 7. Dokonać niezbędnych modyfikacji w kodzie szablonu wg poniższych instrukcji.  

Szablon Szafir

Wskazówka
Pliki niezbędne do prezentacji własnych punktów odbioru osobistego w formie mapy: Pobierz pliki
  1. Umieść pliki „collection-points-scripts.html” i „collection-points-styles.html” w głównym folderze szablonu.
  2. Umieść plik „collection-points.js” w folderze „js”.
  3. Umieść plik “collection-points.css” w folderze “css”.
  4. Podmień plik “collection-points.html”, który znajduje się w folderze „order/delivery-partials”.
  5. W pliku „__layout.html”, na końcu sekcji „<head>” dodaj poniższą linijkę:
    {% include 'collection-points-styles.html' %}
  6. W pliku „__layout.html”, na końcu sekcji „<body>” dodaj poniższą linijkę:
    {% include 'collection-points-scripts.html' %}
 

Szablon Agat

Wskazówka
Pliki niezbędne do prezentacji własnych punktów odbioru osobistego w formie mapy: Pobierz pliki
  1. Umieść plik “collection-points.css” w folderze “css”.
  2. Umieść plik collection-points.js” w folderze js”.
  3. Podmień plik order.js”, który znajduje się w folderze js”.
  4. Podmień plik delivery-adress.html”, który znajduje się w folderze partials/cart”.
  5. Podmień plik init.js”, który znajduje się w folderze js”.
  6. W pliku _layout.html”, na końcu sekcji <head>” dodaj poniży kod:
    {% if page.PageId == config.DefinedPages.Order.Id -%} 
       <link rel="stylesheet" type="text/css" href="css/collection-points.css"> 
    {% endif -%}
     

Szablon Opal

Wskazówka
Pliki niezbędne do prezentacji własnych punktów odbioru osobistego w formie mapy: Pobierz pliki
  1. Umieść plik collection-points.js” w folderze js”.
  2. Umieść plik collection-points.css” w folderze css”.
  3. Podmień plik order.js”, który znajduje się w folderze js”.
  4. Podmień plik data-form.html”, który znajduje się w folderze order/cst-data”.
  5. Podmień plik cart.html”, który znajduje się w folderze order”.
  6. W pliku _layout.html”, na końcu sekcji <head>” dodaj poniży kod:
    {% if page.PageId == config.DefinedPages.Order.Id -%} 
       <link rel="stylesheet" type="text/css" href="css/collection-points.css"> 
    {% endif -%}
  7. Do pliku order-cart.html”, wklej poniższy kod:
    {% extends '_layout.html' -%}
    
    {% block PageContent -%}
        <script src="{{ cart.CollectionPointMapUrl }}"></script>
        <script>var _CollectionPointMapUrl = '{{ cart.CollectionPointMapUrl }}';</script>
        <script src="js/collection-points.js?v={{ lqTS }}"></script>
        {% include 'order-cart-container.html'%}
    {% endblock -%}
    
    {% block PageBodyEnd -%}
        <script>__ResxCartEmpty = '{{ translations.Crt_CartIsEmpty | H }}';</script>
        <script src="js/order.js?v={{ lqTS }}" charset="utf-8" type="text/javascript"></script>
    {% endblock -%}

Szablon Bursztyn

Wskazówka
Pliki niezbędne do prezentacji własnych punktów odbioru osobistego w formie mapy: Pobierz pliki
  1. Umieść plik collectionpoints.js” w folderze js”.
  2. Umieść plik collectionpoints.css” w folderze css”.
  3. Podmień plik order.js”, który znajduje się w folderze js”.
  4. Podmień plik cart.html”, który znajduje się w folderze order”.
  5. Podmień plik order-short-info.html”, który znajduje się w folderze order”.
  6. Podmień plik cart-products-partial.html”, który znajduje się w folderze order”.
  7. W pliku _layout.html”, na końcu sekcji <head>” dodaj poniży kod:
    {% if page.PageId == config.DefinedPages.Order.Id -%}
        <link rel="stylesheet" type="text/css" href="css/collectionpoints.css">
    {% endif -%}
    
  8. Do pliku order-cart.html”, wklej poniższy kod:
    {% extends '_layout.html' -%}
    
    {% block PageContent -%}
        <script src="{{ cart.CollectionPointMapUrl }}"></script>
        <script>var _CollectionPointMapUrl = '{{ cart.CollectionPointMapUrl }}';</script>
        <script src="js/collectionpoints.js?v={{ lqTS }}"></script>
        {% include 'order-cart-container.html'%}
    {% endblock -%}
    
    {% block PageBodyEnd %}
        <script type="text/javascript">__ResxCartEmpty = '{{ translations.Crt_CartIsEmpty | H }}';</script>
        <script src="js/order.js?v={{ lqTS }}"></script>
    {% endblock %}
     

Jak wyeksportować i zaimportować swój szablon w e-Sklepie?

Comarch e-Sklep daje możliwość dostosowania wyglądu do preferencji sprzedawcy oraz potrzeb Klientów. Jeśli utworzyłeś już swój autorski projekt, to masz możliwość jego zapisania. Plik będzie potrzebny przy chęci modyfikacji wyglądu. Zapisana wersja szablonu może również stanowić kopię bezpieczeństwa. Warto jest więc wyeksportować szablon do pliku.

Jak wyeksportować swój szablon z Comarch e-Sklep?

Krok 1. W panelu administracyjnym przejdź do sekcji Wygląd Sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane/ zakładka Eksport szablonu.

Krok 2. W tym miejscu możesz opcjonalnie (przed eksportem) określić autora szablonu, podać adres e-mail, telefon oraz adres WWW swojego e-Sklepu.

Krok 3. Jeżeli chcesz wyeksportować szablon do pliku użyj przycisku Eksportuj szablon.

Gotowe! Szablon został wyeksportowany do pliku na Twoim urządzeniu.

Wskazówka
Z tego miejsca możesz także wyeksportować posiadane w e-Sklepie bannery, korzystając z przycisku Eksportuj bannery.

Jak wgrać własny szablon do Comarch e-Sklep?

Własny szablon. Jak go wgrać?

Po skomponowaniu swojego własnego szablonu możesz wgrać go do e-Sklepu. Postępuj zgodnie z poniższymi krokami.

Krok 1. W panelu administracyjnym przejdź do sekcji Wygląd Sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane/ zakładka Import szablonu.

Krok 2. Określ, czy wgrywany szablon ma podmienić istniejące bannery. Gdy parametr zostanie zaznaczony, wówczas wszystkie bannery zapisane na danym slocie zostaną usunięte i zastąpione bannerami z importowanego szablonu.

Krok 3. Wybierz plik XML swojego szablonu i naciśnij Importuj szablon.

Uwaga
Import szablonu jest operacją nieodwracalną i spowoduje nadpisanie dotychczasowego szablonu. W przypadku, gdy szablon był modyfikowany (dokonywano zmian w kodzie HTML) jego aktualizacja spowoduje, iż zmiany nie zostaną przeniesione. Warto wykonać eksport posiadanego szablonu do pliku w celu zapisania oraz posiadania wglądu to wprowadzanych modyfikacji. Jeżeli istnieje taka konieczność należy ponownie dokonać samodzielnej edycji szablonu

Wskazówka
W zakładce Szablony możesz określić, czy wgrywany szablon ma być domyślny i aktywny w e-Sklepie.

Krok 4. Teraz możesz podejrzeć zmiany, jakie zaszły w wyglądzie Twojego e-Sklepu. W tym celu możesz podejrzeć zmiany w czasie rzeczywistym lub przejść w tryb incognito. Pamiętaj, że wszelkie zmiany zostaną opublikowane po pełnej synchronizacji, która wciągu 10 minut zgodnie z wyświetlanym komunikatem.

Gotowe! Twój szablon został zaimportowany do e-Sklepu.

Zmiana kolorystyki

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.
W e-Sklepie istnieje możliwość modyfikacji kolorów w każdym szablonie. Możesz wybrać Gotowe Szablony Comarch lub stworzyć swój własny w Kreatorze wyglądu, a następnie edytować niektóre ustawienia. Aby zmienić kolorystykę należy przejść do sekcji Wygląd Sklepu/Ustawienia, po czym wybrać zakładkę Ustawienia szablonu. Szablony Bursztyn i Opal posiadają trzy predefiniowane schematy kolorów:
  • Pomarańszowy
  • Niebieski
  • Szary
Szablon Agat, podobnie jak wyżej wymienione, posiada również trzy schematy kolorów:
  • Złoty
  • Zielony
  • Lodowy
Szablon Szafir posiada następujące schematy kolorów:
  • Granatowy
  • Niebieski
  • Pomarańczowy
Z poziomu Panelu Administracyjnego możesz również modyfikować szablon Topaz. Podobnie jak podczas projektowania w Kreatorze Wyglądu możesz wybrać jeden z pięciu motywów kolorystycznych:
  • Domyślny
  • Bordowy
  • Beżowy
  • Granatowy
  • Błękitny
Każdy motyw można dodatkowo samodzielnie skonfigurować, na przykład zmienić kolory poszczególnych elementów szablonu. Po dokonaniu wszelkich modyfikacji pamiętaj o ich zapisaniu oraz opublikowaniu. W tym celu naciśnij symbol dyskietki znajdujący się w prawym górnym rogu, a następnie wybierz więcej i wybierz Publikuj.
Uwaga
Pamiętaj o ustawieniu szablonu jako Domyślny i Aktywny!
 

Jak dodać nową treść i stronę?

Wstęp

W Comarch e-Sklep użytkownik ma możliwość tworzenia własnych stron oraz treści. Te drugie stanowią m.in. wiadomości E-mail i SMS, zgody formalne, czy dodatkowe treści użytkownika, np. regulamin sklepu. W panelu administracyjnym znajdują się standardowe treści oraz strony, które są odpowiednio ze sobą zmapowane  w określony sposób, w wybranych miejscach wyświetlane.

Dodawanie nowej treści

Tworzenie treści

Aby utworzyć w e-Sklepie nową treść należy w panelu administracyjnym przejść do sekcji: Ustawienia/Treści/zakładka Regulamin i Inne, po czym dodać nową treść użytkownika. Po wybraniu przycisku Dodaj należy uzupełnić nazwę oraz identyfikator. Po uzupełnieniu danych wyświetli się strona, na której możliwe jest udostępnienie treści. Możliwe jest także wgranie treści z pdf, a także dodanie załączników, które mogą być później np.

Wybierając przycisk Więcej (trzy kropki w prawym, górnym rogu) możemy podejrzeć identyfikator strony, a także dodać załączniki do wiadomości e-mail. Po wybraniu drugiej opcji wyświetli się lista, z której można wybrać odpowiednie treści.

Wskazówka
Wartość identyfikatora będzie potrzebna podczas dalszej konfiguracji.
Po dokonaniu modyfikacji wybierz Zapisz i publikuj, aby treść była widoczna na stronie. Możesz również wybrać opcję zapisz bez publikacji.

Dodawanie nowej strony

Dodanie strony

Nową stronę tworzymy w panelu administracyjnym w obszarze: Wygląd sklepu/Strony. W sekcji Użytkownika skorzystaj z przycisku Dodaj. Wypełnij pola z nazwą, linkiem i tytułem strony i zatwierdź przyciskiem Dodaj. Nowa strona zostaje dodana jako nieaktywna. W celu jej aktywowania wystarczy kliknąć na jej kafelek i zmienić przełącznik opcji Aktywna na TAK  W celu publikacji strony użyj przycisku Więcej/Publikuj. Po dodaniu nowej strony należy zapamiętać jej numer, który znajduje się na końcu adresu URL.
Wskazówka
Numer strony widnieje w nawiasie przy jej nazwie. Możesz to sprawdzić przechodząc kolejno do sekcji: Wygląd sklepu/Ustawienia/Edytuj ustawienia zaawansowane/Strony.

Przypisanie obiektu do strony

Przejdź do obszaru Wygląd sklepu/Ustawienia, następnie użyj przycisku Więcej i wybierz Edytuj ustawienia zaawansowane. Przejdź na zakładkę "Strony". Dla nowo dodanej strony w kolumnie Plik należy wpisać nazwę pliku user-page.html. Wprowadzone zmiany zachowaj za pomocą przycisku Zapisz.

Umieszczenie strony w stopce e-sklepu

W zakładce Wygląd sklepu/Ustawienia/Nagłówek/Stopka należy wybrać odpowiednią sekcję i dodać nową stronę.

Strony w e-Sklepie

Obszar do zarządzania stronami znajdujący się w Panelu administracyjnym w obszarze Wygląd sklepu/Strony, zawiera listę wszystkich stron obsługiwanych przez e-Sklep zaprezentowaną w formie kafelków, podzielonych na dwie kategorie, strony standardowe oraz użytkownika. Z poziomu listy stron możesz edytować jedną z nich poprzez kliknięcie w kafelek lub dodać nową stronę w obszarze stron użytkownika za pomocą kafelka z plusem. Po przejściu do edycji strony masz możliwość usunięcia strony oraz zmiany ustawień takich jak:
  • Aktywność
  • Nazwa
  • Język
  • Adres Url/ Link
  • Tytuł strony (meta title)
  • Opis strony (meta description)
  • Słowa kluczowe (meta keywords)
  • Tooltip dla URL
  • Klucz
Uwaga
Możliwość usuwania stron dostępna jest jedynie dla stron użytkownika w menu więcej po przejściu w edycję wybranej strony
Wskazówka
Dezaktywować możesz wszystkie strony użytkownika oraz następujące strony standardowe:
  • Porównywarka towarów
  • Wyszukiwanie zaawansowane
  • Kontakt
  • Regulamin sklepu
  • Polityka prywatności
  • Prawo do odstąpienia od umowy
  • Informacje o sklepie
  • Wysyłka
  • Płatność
  • Reklamacje i zwroty
  • Program lojalnościowy
  • Blog
  • Blog szczegóły wpisu
  • HTTP 404
Więcej o stronach przeczytasz w artykule Dodawanie nowej strony do szablonu (z zachowaniem styli).

Produkty polecane

W szablonach Comarch e-Sklep wyświetlane są produkty prezentowane jako polecane w Twoim sklepie. Produkty które wyświetlają się w tym obszarze oznacza się odpowiednim parametrem na kartach towarowych w systemie ERP. Więcej na temat dodawania atrybutów czasowych do produktów można przeczytać w poniższych artykułach: Domyślnie w sekcji polecane wyświetlają się towary oznaczone w ERP atrybutem 'rekomendacja sprzedawcy' Jednak rodzaj wyświetlanych produktów możesz zmodyfikować dopasowując je do własnych upodobań. Dzięki temu na stronie głównej można zaprezentować nie tylko towary polecane, ale np. nowości, promocje, produkt z gazetki czy też wyprzedaż. Zmianę rodzaju wyświetlanych produktów wykonuje się w Panelu administracyjnym. W tym celu należy edytować obiekt, który domyślnie wyświetla nowości zdefiniowane w systemie ERP. Zaloguj się do Panelu administracyjnego i przejdź do obszaru Wygląd sklepu/ Ustawienia. Następnie użyj przycisku ‘Więcej’ i Edytuj Ustawienia zaawansowane. Przejdź do zakładki 'Obiekty' i edytuj obiekt 'productrecommended'. W edycji obiektu 'productrecommended' możesz zmienić typ wyświetlanych produktów wybierając je z listy rozwijanej. Po zmianie zapisz swój wybór i opublikuj szablon, aby nowe produkty pojawiły się na stronie, w sekcji polecane.

Ustawienia Wyglądu Sklepu

Ustawienia

Obszar Wygląd sklepu/ Ustawienia zawiera szereg ustawień odnośnie wyglądu Twojego sklepu pogrupowanych w zakładki:
  • Ustawienia szablonu,
  • Bannery,
  • Tłumaczenia,
  • Nagłówek / Stopka,
  • Dokumentacja.

Ustawienia szablonu

W ustawieniach szablonu możesz:
  • konfigurować kolorystykę swojego szablonu,
  • korzystać z parametrów określających sposób animacji banneru głównego,
  • wybrać akcję po dodaniu do koszyka,
  • dodać klucz aplikacji Google Maps API, aby korzystać z map Google.
Wskazówka
Ilość parametrów zależna jest od wykorzystywanego szablonu, a także od własnych ustawień dodanych w zakładce Ustawienia (JSON) w ustawieniach zaawansowanych, a następnie wprowadzonych w pliku __settings.liquid
Więcej o konfiguracji kolorów Twojego sklepu przeczytasz w artykule Zmiana kolorystyki

Bannery

W tej zakładce możesz modyfikować istniejące bannery lub dodawać nowe zgodnie z artykułem Bannery

Tłumaczenia

W obszarze Tłumaczenia znajduje się lista fraz wykorzystywanych w szablonie oraz ich tłumaczeń. Możesz dodawać, usuwać, a także edytować istniejące frazy, aby dostosować szablon do swoich potrzeb. Listę fraz wraz z tłumaczeniami można wyeksportować do pliku XML oraz zaimportować z wcześniej przygotowanego pliku XML.
Wskazówka
Fraz systemowych nie można usuwać, ale można je edytować.

Nagłówek / Stopka

W zakładce Nagłówek / Stopka możliwe jest dodanie favicon.ico, czyli grafiki, która jest widoczna na zakładce w przeglądarce. Aby dodać zdjęcie, należy kliknąć przycisk Wyślij plik, po czym wybrać odpowiednią grafikę o rozmiarze nie większym niż 10 KB. W tym obszarze możesz również edytować elementy wyświetlające się w stopce. W sekcji Dołącz do nas możesz edytować i usuwać istniejące linki do portali społecznościowych lub dodawać nowe, a także wykorzystać obszar do innych odniesień zewnętrznych przydatnych w Twoim sklepie.
Wskazówka
Od wersji 2019.5 dodane zostały nowe odnośniki do najczęściej wykorzystywanych social mediów, które wyświetlane są w stopce szablonu. Mogą teraz Państwo kierować swoich użytkowników dodatkowo do serwisu Instagram, YouTube oraz Snapchat.

W sekcji Strony możesz edytować i dodawać grupy stron wyświetlających się w stopce. Po przejściu w edycję danej grupy możesz edytować nazwę w wielu językach, modyfikować listę stron poprzez usunięcie istniejących lub dodanie nowych stron ze sklepu, bądź stron zewnętrznych. Usunąć grupę możesz z poziomu menu więcej w prawym górnym rogu.

Dokumentacja

W tej zakładce znajdziesz link do Centrum Pomocy gdzie znajduje się aktualna dokumentacja odnośnie silnika Liquid

Ustawienia zaawansowane

Obszar Wygląd sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane (menu 'więcej' w prawym górnym rogu) zawiera bardziej zaawansowane ustawienia pogrupowane w zakładki:
  • Ustawienia (JSON),
  • Szablon,
  • Obiekty,
  • Testy A/B,
  • Strony,
  • Import z pliku XML,
  • Eksport do pliku XML.
Wskazówka
Szczegółowe informacje dla webmasterów odnośnie poniższych ustawień znajdziesz w artykule Szablony w sklepie

Ustawienia (JSON)

W tej zakładce dostępne są ustawienia analogiczne z zakładką Ustawienia szablonu, którą znajdziesz w sekcji Wygląd sklepu/ Ustawienia, ale przedstawione w formacie JSON. W tym miejscu możesz dodać własne ustawienia dla szablonów.

Szablon

W tej zakładce możesz ustawić szablon jako domyślny i/lub aktywny oraz podstawowe informacje o szablonie: nazwę, wersję, datę utworzenia oraz dane autora. Poprzez opcję Zmień hasło masz możliwość nadania hasła szablonowi i zablokowania nim obszarów, w których dokonuje się edycji szablonu oraz dostępu do szablonu poprzez aplikację Liquid Sync.
Uwaga
Zablokowanie hasłem dostępu do szablonu przez Liquid Sync spowoduje całkowity brak dostępu, mimo podania poprawnego hasła w aplikacji Liquid Sync.
 

Obiekty

W zakładce Obiekty znajduje się lista konfigurowalnych obiektów lokalnych - więcej o tych obiektach przeczytasz w artykule Obiekty lokalne. Na liście masz możliwość prostej konfiguracji istniejących obiektów po kliknięciu w wiersz z obiektem lub konfiguracji w formacie JSON po kliknięciu w adekwatną opcję oraz możliwość dodania kolejnych obiektów, które później mogą zostać wykorzystane w szablonie sklepu.

Testy A/B

Testy A/B pozwalają na wyświetlenie strony sklepu w dwóch różnych odsłonach celem zbadania i porównania ogólnej jakości i funkcjonalności szablonów, zaznaczonych w zakładce Szablon jako aktywne. W praktyce przy ustawieniu dwóch szablonów A i B jako aktywnych, sklep będzie się wyświetlał klientom raz w wersji A raz w wersji B (po równo). Jest to metoda badawcza, która w połączeniu z Google Analytics daje materiał do analizy współczynników konwersji, czyli procentowej wielkości określającej stosunek użytkowników strony, którzy wykonali pożądaną akcję (np. zakup) do wszystkich użytkowników danej strony. Okres trwania testów A/B możesz ustawić w panelu na 1 do 365 dni.

Strony

Zakładka zawiera listę stron w sklepie wraz z obiektami oraz plikami html które są przypisane do danej strony. W kolumnach Plik i Include możesz przypisać odpowiedni pliki html do wybranej strony. Po kliknięciu w wiersz z nazwą strony masz możliwość wybrania obiektów dostępnych na danej stronie.

Import z pliku XML

Import z pliku XML pozwala wczytać w sklepie wcześniej przygotowany i wyeksportowany szablon po kliknięciu w opcję Wybierz plik XML a następnie przycisk Importuj szablon znajdujący się poniżej. Jeżeli nadpisujesz istniejący szablon i chcesz zrobić pełny import, pamiętaj o zaznaczeniu opcji Podmień istniejące bannery, aby nadpisać bannery z szablonu wybranego na liście rozwijalnej w lewym górnym rogu.
Uwaga
Pamiętaj! Przed importem sprawdź, czy w liście rozwijalnej w lewym górnym rogu masz wybrany odpowiedni wolny slot lub szablon, który chcesz nadpisać nowym.

Eksport do pliku XML

Eksport przygotowanego szablonu do pliku XML następuje po kliknięciu w przycisk Eksportuj szablon. Dodatkowo istnieje możliwość eksportu tylko bannerów do pliku XML poprzez wybranie przycisku Eksportuj bannery. Przed eksportem możesz uzupełnić dane autora szablonu takie jak Autor, E-mail, Telefon, Adres WWW.

Edytuj HTML

Z obszaru Edytuj ustawienia zaawansowane poprzez menu Więcej widoczne w prawym górnym rogu masz dostęp do obszaru Edytuj HTML. 
Uwaga
Uwaga. Ustawienia zaawansowane przeznaczone są dla webmasterów. Ustawienia wpływają w sposób bezpośredni na zachowanie strony w przeglądarce internetowej. Niepoprawnie wprowadzone dane mogą spowodować:
  • błąd wyświetlania strony,
  • nieprawidłowe funkcjonowanie strony,
  • nieprawidłowe wyświetlanie strony,
  • nieprawidłowe formatowanie strony.
Z tego obszaru masz możliwość edycji kodu szablonu dzięki dostępowi do plików html, css, js, co daje praktycznie nieograniczone możliwości personalizacji wyglądu oraz tworzenia własnych szablonów. Możesz również tworzyć oddzielne szablony dla sklepu na Facebooku lub wersji mobilnej poprzez listę rozwijalną obok listy z aktywnym szablonem. Na liście plików możesz wejść w edycję plików istniejących lub dodać nowe pliki. Po wejściu w edycję pliku masz możliwość jego edycji lub usunięcia, a także blokady poprzez wcześniej zdefiniowane hasło w ustawieniach zaawansowanych na zakładce Szablon. Pliki podniesione do edycji widoczne są w formie zakładek w lewym górnym rogu. Od wersji 2020 dla szablonu Topaz została dodana informacja na temat godziny wygenerowania szablonu w kreatorze. Taka informacja znajduje się w pliku _layout.html nad oknem edycji. Jeżeli plik nie był modyfikowany, wówczas godzina odpowiada godzinie wygenerowania szablonu w kreatorze. Jeżeli plik został zmodyfikowany to prezentowana godzina jest godziną ostatniej modyfikacji pliku.
Wskazówka
Więcej o plikach szablonu przeczytasz w artykule Pliki szablonu oraz Szablony w sklepie.

Dodawanie nowej strony do szablonu (z zachowaniem stylów)

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

W e-Sklepie możesz dodawać nowe strony do swojego szablonu. Dzięki dodatkowemu odnośnikowi Klient może przenieść się do przeznaczonej dla niego treści. W celu dodania nowej strony w e-Sklepie z zachowaniem obecnego wyglądu stron, wystarczy wykonać kilka prostych kroków.

Wskazówka
Instrukcja dotyczy szablonów Topaz oraz Szafir od wersji 2021.5. W przypadku szablonów Bursztyn, Opal, Agat od wersji 2022.  W  przypadku wszystkich szablonów w wersji poniżej  2021.5 obowiązuje instrukcja "Jak wyświetlać własną Treść na nowo dodanej Stronie użytkownika"  

Krok 1. Tworzenie nowej strony

a) W panelu administracyjnym przejdź do zakładki Wygląd sklepu > Strony. Na dole strony znajduje się sekcja Użytkownika. Skorzystaj z przycisku plusa, aby dodać nową stronę. b) W oknie pop-up uzupełnij pole Nazwa i Tytuł strony (meta title). Pole Link uzupełni się automatycznie. Następnie zatwierdź przyciskiem DODAJ.
Uwaga
Należy zapamiętać Identyfikator strony - numer znajdujący się na końcu wygenerowanego linka URL strony. Przykład: http://demo.comarch-esklep.pl/testowy/nowa_strona/27
Wskazówka
Pole link uzupełni się automatycznie na podstawie wprowadzonej nazwy. Możesz także wprowadzić swój własny tekst.
Nowa strona zostaje dodana jako nieaktywna. W celu jej aktywacji, trzeba zmienić wartość przełącznika Aktywna na "Tak". c) Po wykonaniu powyższych operacji mamy gotową pustą stronę. W celu jej publikacji, użyj na szczegółach strony przycisku Więcej > Publikuj, znajdującego się w prawym górnym rogu strony. Publikuj

Krok 2. Przyporządkowanie nowej strony do odpowiedniego pliku (obiektu) w szablonie

Aby nowa strona mogła zostać prawidłowo wyświetlona w e-Sklepie, należy przyporządkować ją do odpowiedniego pliku w posiadanym szablonie. Postępuj zgodnie z poniższymi krokami i powiąż wcześniej dodaną stronę z plikiem user-page.html . a) W panelu administracyjnym przejdź do sekcji Wygląd sklepu > Ustawienia > Edytuj ustawienia zaawansowane (z rozwijanej listy w prawym górnym rogu ekranu). b) W zakładce Strony nowo dodana strona powinna pojawić się na końcu listy. Wprowadź w pustym polu w kolumnie Plik wartość user-page.html. c) Wprowadzone zmiany zapisz oraz opublikuj (przyciski w prawym górnym rogu). Zapisz i publikuj  

Krok 3. Utworzenie własnej treści dla nowej strony

Na nowo dodanej stronie możliwe jest w łatwy i szybki sposób wprowadzenie własnych treści. Treść użytkownika dodajemy zgodnie z poniższymi informacjami: a) W panelu administracyjnym przejdź do sekcji Ustawienia > Treści formalne, po czym przejdź do zakładki Regulamin i inne. b) Dodaj nową treść użytkownika, klikając w przycisk Dodaj regulamin. c) Wprowadź nazwę nowej strony oraz dowolną treść, jaką chcesz wyświetlić. W tym miejscu możesz także wgrać własne załączniki. W dodatkowym elemencie na pasku nowej strony pojawią się odnośniki do załączonych plików, do których Klient będzie miał swobodny dostęp. Zapisz przyciskiem Dodaj bez publikacji lub Dodaj i publikuj. Treść dla nowej strony d) Następnie wejdź ponownie w szczegóły zapisanej treści i wprowadź Identyfikator*.
Uwaga
W polu Identyfikator wprowadź identyfikator cyfrowy strony utworzonej w kroku 1. Pamiętaj! Musi to być to przypisany numer z zakładki Wygląd sklepu > Ustawienia, Więcej > Edytuj ustawienia zaawansowane > Strony, inaczej powiązanie treści użytkownika z nowo dodaną stroną się nie powiedzie.
e) Zapisz i publikuj. Po wykonaniu powyższych kroków pod adresem URL z punktu 1. powinna być widoczna treść wprowadzona w sekcji Regulamin i inne.

Krok 4. Dodanie strony do sekcji

W ostatnim kroku, należy przejść do zakładki Wygląd sklepu > Ustawienia > Nagłówek lub Stopka, następnie kliknąć w odpowiednią sekcję i z tego miejsca dodać nową stronę, wybierając opcję Dodaj stronę ze sklepu. Dodaj stronę ze sklepu
Uwaga
Pamiętaj o publikacji szablonu po wprowadzeniu powyższych zmian!
Wykonanie powyższych kroków pozwala na utworzenie własnej strony, a następnie powiązanie ją z treścią użytkownika. Nowa strona będzie widoczna w stopce szablonu, a po przejściu do niej wyświetli się utworzona wcześniej treść.

Udostępnij towar w mediach społecznościowych - konfiguracja dla szablonów Topaz i Szafir

Wstęp

Dzięki funkcji udostępniania towarów klienci mają możliwość udostępnienia wybranego asortymentu w mediach społecznościowych lub za pomocą komunikatorów internetowych. Jest to jedna z częściej używanych opcji w sklepach internetowych. W Comarch e-Sklep możesz udostępniać produkty na następujących platformach:
  • Facebook
  • Twitter
  • Linkedin
  • WhatsApp
  • Printerest
  • Gmail
  • E-mail
Aby skorzystać z przygotowanego przez nas mechanizmu udostępniania towaru musisz posiadać:
  • aktualną wersję szablonu Topaz (min. 2023.0) – sprawdzić wersję szablonu,
  • oraz aktualną wersję e-Sklepu (min. 2023.0),
  • certyfikat SSL.

Konfiguracja udostępniania towarów w szablonie Topaz

Aby skonfigurować udostępnianie towarów w szablonie postępuj zgodnie z poniższą instrukcją. Krok 1. Zaloguj się do panelu administracyjnego, a następnie przejdź do sekcji Wygląd sklepu/ Ustawienia. Krok 2. W zakładce Dodatkowe odszukaj sekcję o nazwie Udostępnianie towarów. Krok 3. Spośród dostępnych platform wybierz te, na których Klient będzie mógł udostępniać Twoje towary. Krok 4. Po dokonaniu modyfikacji zapisz i opublikuj zmiany.
Wskazówka
Jeżeli nie pozwolisz na udostępnianie towarów, to widok na szczegółach towaru nie ulegnie zmianie. Produkt będzie można udostępnić klikając przycisk Poleć towar
Na szczegółach towaru ikona i napis "Poleć towar" zmienia się na "Udostępnij na". Po kliknięciu w ikonę Klient będzie mógł wybrać opcje, które zostały wybrane w panelu administracyjnym. W wersji mobilnej Klient będzie mógł udostępnić towar w aplikacjach, które posiada zainstalowane w swoim smartfonie. Lista aplikacji otworzy się po kliknięciu w przycisku Dostępne aplikacje.   

Konfiguracja udostępniania towarów w szablonie Szafir

Aby skonfigurować udostępnianie towarów w szablonie postępuj zgodnie z poniższą instrukcją. Krok 1. Zaloguj się do panelu administracyjnego, a następnie przejdź do sekcji Wygląd sklepu/ Ustawienia. Krok 2. W zakładce Ogólne odszukaj sekcję o nazwie Udostępnianie towarów. Krok 3. Spośród dostępnych platform wybierz te, na których Klient będzie mógł udostępniać Twoje towary. Krok 4. Po dokonaniu modyfikacji zapisz i opublikuj zmiany.
Wskazówka
Jeżeli nie pozwolisz na udostępnianie towarów, to widok na szczegółach towaru nie ulegnie zmianie. Produkt będzie można udostępnić klikając przycisk Poleć towar
Na szczegółach towaru ikona i napis "Poleć towar" zmienia się na "Udostępnij na". Po kliknięciu w ikonę Klient będzie mógł wybrać opcje, które zostały wybrane w panelu administracyjnym. W wersji mobilnej Klient będzie mógł udostępnić towar w aplikacjach, które posiada zainstalowane w swoim smartfonie. Lista aplikacji otworzy się po kliknięciu w przycisku Dostępne aplikacje. 

Rozbudowana stopka w szablonach Topaz i Szafir - jak ją skonfigurować?

Wstęp

Stopka to jeden z podstawowych elementów każdego sklepu internetowego. Oprócz wymaganych informacji, które muszą się w niej znaleźć, może zawierać zbiór innych odniesień do konkretnych sekcji w Twoim e-Sklepie, do Twojego bloga lub profili w social mediach. Odnośniki mogą pozytywnie wpływać na wizerunek Twojego sklepu, przyczyniając się do wsparcia sprzedaży i generując większy ruch na stronie. W Kreatorze wyglądu obok standardowych widoków znajduje się dodatkowy, który jest bardziej rozbudowany. W przypadku szablonu Topaz jest to trzeci widok (footer-3), zaś w przypadku Szafira - drugi widok (footer-2). Dzięki modyfikacji obszaru możesz jeszcze bardziej spersonalizować swój sklep poprzez uzupełnienie stopki w więcej przydatnych informacji.

Konfiguracja rozbudowanej stopki

Jak przystąpić do edycji stopki?

Po zaimportowaniu z Kreatora wyglądu stopka będzie wyświetlać się w ograniczonym zakresie. Niezmiennie jej edycji dokonasz z perspektywy zakładek: Wygląd Sklepu/Ustawienia a następnie sekcji Nagłówek/Stopka. To tutaj zdecydujesz o ilości grup stron, konkretnych elementach w ich obrębie a następnie o kolejności w jakiej będą prezentować się w e-Sklepie. Również z tego poziomu dodasz odwołania do Twoich profili na portalach społecznościowych oraz ustawisz favicon dla swojego sklepu internetowego.

Więcej możliwości edycji stopki

Rozbudowana stopka w szablonie Topaz oraz Szafir umożliwia dodanie większej ilości grup stron niż dotychczas. Dzięki temu z łatwością zamieścisz w niej wszystko czego potrzebujesz. Dodatkowo sekcję uzupełniono o grafiki partnerów logistycznych oraz obsługiwanych operatorów płatności.

Przykładowy wygląd rozbudowanej stopki w szablonie Topaz

Przykładowy wygląd rozbudowanej stopki w szablonie Szafir

Jak skonfigurować poszczególne elementy?

    • Elementy 1-5: dodawanie kolejnych grup stron oraz zmiana ich kolejności dokonywana jest poprzez sekcję Nagłówek/Stopka w Ustawieniach w obrębie zakładki Wygląd Sklepu. W obrębie danej grupy możesz dodawać konkretne strony poprzez kliknięcie przycisku Dodaj stronę ze sklepu.
Wskazówka
Zmiany kolejności poszczególnych grup odnośników lub zmiany danych odnośników w obrębie danej grupy dokonuje się metodą Przeciągnij i upuść.
    • Element 6: odpowiada za wyświetlanie następujących informacji: e-mail, numer telefonu, telefon2 (jeśli nie istnieje, to zastępowany jest przez telefon komórkowy) fax lub skype. W celu edycji danych kontaktowych należy przejść w panelu e-Sklepu do zakładki Ustawienia/Ustawienia sklepu. Informacje o adresie e-mail pobierane są automatycznie z zakładki Ogólne z sekcji Konto e-mail sklepu. Aby dodać lub zmodyfikować numer telefonu konieczne jest wybranie zakładki Dane sprzedawcy, następnie Infolinia i zweryfikowanie pola Telefon.
      Wskazówka
      W elemencie wyświetlone zostaną maksymalnie 3 informacje (e-mail, telefon i jedno z wybranych pól np. telefon2, telefon komórkowy lub fax.
    • Element 7: odwołania do portali społecznościowych dodajemy bez zmian. Więcej o tym znajdziesz tutaj.
    • Elementy 8-9: aby dodać informację o operatorach płatności oraz partnerach logistycznych należy wybrać zakładkę Wygląd Sklepu/Ustawienia/Bannery. Edycji dokonasz z perspektywy kafelków: Logistics Partners oraz Payment Operators poprzez dodanie właściwych grafik operatorów i partnerów. Aby zmienić nazwę „Operator płatności” i/lub „Partnerzy logistyczni” wybierz zamiast zakładki Bannery, zakładkę Tłumaczenia. Wyszukaj po parametrze „ID” LogisticsPartnersBannerTitle oraz PaymentOperatorsBannerTitle i zmodyfikuj pole „Tekst” według własnych preferencji. Zmiany zapisz i opublikuj. W przypadku chęci usunięcia któregoś z elementów, zaznacz go i naciśnij przycisk „Usuń”.
Wskazówka
Zalecane parametry grafik dla operatorów płatności i partnerów logistycznych: szerokość maksymalna 64 px, rozszerzenie PNG.
    • Element 10: dane dotyczące firmy pobierane są z zakładki Ustawienia/Ustawienia sklepu/Dane sprzedawcy/Dane identyfikacyjne, a także z obszaru: Ustawienia/ Ustawienia sklepu/ Informacja o działalności gospodarczej/ Numer KRS lub CEIDG, Organ rejestrujący oraz Ustawienia/ Ustawienia sklepu/ Adres pocztowy, gdzie uwzględnione zostaną wszystkie pola za wyjątkiem Szerokości i długości geograficznej.

Jak dodać zdjęcia 360° dla moich towarów w Comarch e-Sklep?

Zdjęcia obrotowe 360° umożliwiają zaprezentowanie produktu z każdej strony. Dzięki nim klient może dokładniej obejrzeć produkt i tym samym dostrzec więcej detali. Fotografia obrotowa świetnie sprawdza się przy towarach, które posiadają wiele elementów lub oryginalną budowę. Aby dla swoich towarów zaprezentować zdjęcia w formie 360° musisz:
  • posiadać aktualną wersję (min. 2023.1.4) szablonu Topaz (B2C) lub Szafir (B2B),
  • posiadać odpowiednio przygotowane katalogi ze zdjęciami na zewnętrznym hostingu.
Domyślnie zdjęcia 360° widoczne są na liście towarowej i na szczegółach towaru. Jeśli chcesz ograniczyć wyświetlanie zdjęć przejdź do panelu administracyjnego do zakładki Wygląd sklepu/ Ustawienia/ Ogólne i znajdź parametr Wyświetlaj zdjęcia 360° na liście towarów, a następnie zmień parametr na Nie. Pamiętaj, aby po zmianie parametru zapisać i opublikować zmiany.  

Jak przygotować zdjęcia 360°, aby móc udostępnić je dla moich towarów?

Krok 1. Sfotografuj swój towar z różnych stron obracając się wokół jego osi - tworząc odpowiednią ilość zdjęć prezentującą towar z różnych stron. Krok 2. Zatytułuj kolejno przygotowane zdjęcia podając numer klatki: 1, 2, 3, 4, itd. Numeracja zdjęć będzie odpowiadać za kolejność prezentowanej klatki. Krok 3. Utwórz folder, w którym umieścisz przygotowane zdjęcia i udostępnij je na zewnętrznym serwerze, w celu uzyskania linku do katalogu. Tak przygotowany katalog udostępnisz następnie w formie atrybutu na towarze w swoim systemie Comarch ERP.

Jak dodać zdjęcie 360° dla mojego towaru w Comarch e-Sklep?

Krok 1. Przejdź do swojego systemu Comarch ERP i dodaj nowy atrybut o nazwie 360photo i typie tekst. Krok 2. Przejdź do edycji wybranego towaru i dodaj w odpowiednim miejscu nowy atrybut o nazwie 360photo. Jako wartość atrybutu wprowadź adres URL do zewnętrznego hostingu, na którym znajduje się katalog z przygotowanym zdjęciem w formacie 360°. Krok 3. Zapisz zmiany i wykonaj synchronizację danych. Gotowe! W Twoim e-Sklepie pojawiły się właśnie zdjęcia w formie 360°. Od teraz Twoi Klienci zobaczą sprzedawane towary z różnych stron.
Wskazówka
Do prawidłowego wyświetlania się zdjęcia 360° należy dodać wskazany wyżej atrybut na towarze nadrzędnym, tak żeby ścieżka do niego alfabetycznie była na pierwszym miejscu. Wskazane zdjęcie będzie widoczne na liście towarowej na ojcu oraz w galerii towaru. Jeśli towary podrzędne nie będą posiadały zdjęć 360°, to będą widoczne z towaru nadrzędnego. Dla każdego języka można dodać tylko jedno zdjęcie 360°.
Oznaczenie dostępności zdjęcia 360° na szczegółach towaru w szablonie Topaz
Oznaczenie dostępności zdjęcia 360° na szczegółach towaru w szablonie Topaz
Podgląd zdjęcia 360° na szczegółach towaru w szablonie Topaz
Zobacz jak prezentuje się zdjęcie w formacie 360° w jednym z naszych sklepów demonstracyjnych.

Jak wykonać kopię bezpieczeństwa mojego szablonu?

Jak wykonać kopię bezpieczeństwa mojego szablonu?

Oprawa wizualna sklepu jest bardzo ważnym elementem podczas prowadzenia sprzedaży w sieci. Narzędzie Kreator Wyglądu Comarch e-Sklep umożliwia stworzenie własnych, niepowtarzalnych szablonów wedle preferencji i potrzeb użytkowników. W intuicyjnym narzędziu jakim jest Kreator, będziesz w stanie zaprojektować wszelkie niezbędne funkcje, takie jak stronę główną, listę towarów, szczegóły towaru oraz koszyk. Jeśli Twój projekt szablonu został zaimportowany do e-Sklepu oraz skonfigurowany wedle Twoich preferencji (dodanie grafik do bannerów, modyfikacje kolorystyczne) masz możliwość jego zapisania, co będzie stanowić kopię bezpieczeństwa. Kopia bezpieczeństwa to dane, które w każdej chwili można odtworzyć w przypadku ich utracenia (np. poprzez przypadkowe usunięcie) lub częstego wprowadzania zmian. Dane, jakie może zawierać kopia bezpieczeństwa to szablon, który wcześniej został przez nas wygenerowany wraz z bannerami. Zaleca się wykonywanie kopii zapasowych oraz zabezpieczenie ich hasłem. Każda wykonana kopia zapasowa powinna zostać zapisana w bezpiecznym i dogodnym dla Użytkownika miejscu.

Jak wykonać kopię bezpieczeństwa?

W Panelu Administracyjnym przejdź do sekcji Wygląd sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane, a następnie przejdź do zakładki Eksport szablonu. W pustych polach znajdujących się w zakładce Eksport szablonu, opcjonalnie przed eksportem możesz uzupełnić powyższe dane, tj. Autora szablonu, e-mail, telefon i stronę WWW sklepu. Aby wyeksportować szablon, kliknij Eksportuj szablon. Wyeksportowany plik jest w formacie XML, a jego nazwa zawiera szablon oraz wersję, co znacznie ułatwia zarządzanie kopiami bezpieczeństwa w przypadku wykonywania ich regularnie.

Jak wyeksportować bannery?

Bannery, które znajdują się w Twoim sklepie możesz również wyeksportować tworząc kopię bezpieczeństwa. W tym celu także musisz przejść do Wygląd sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane, a następnie do zakładki Eksport szablonu. Obok przycisku Eksportuj szablon, znajduje się przycisk Eksportuj bannery, który musisz kliknąć aby bannery, które posiadasz w e-Sklepie zostały weksportowane. Kopia bezpieczeństwa jest również zapisywana w formacie XML, a nazwa pliku wskazuje na szablon, wersję i zawartość bannerów.

Jak zabezpieczyć hasłem swój szablon?

Jeśli chcesz, aby Twój szablon został zabezpieczony hasłem, a znajomość hasła była niezbędna podczas zaimportowania tego szablonu do e-Sklepu, musisz w tym celu przejść w Panelu Administracyjnym do sekcji Wygląd sklepu/ Ustawienia/ Ustawienia zaawansowane, następnie do zakładki Szablon. W tym miejscu nadasz hasło dla swojego szablonu. Zgodnie z Polityką bezpieczeństwa haseł, hasło powinno:
  • Składać się z minimum 8 znaków,
  • Zawierać dużą literę,
  • Zawierać małą literę,
  • Zawierać cyfrę 0-9,
  • Zawierać znak specjalny – ‘!.+?;^]=-(&_)#=
Gotowe! Teraz Twój szablon został zabezpieczony hasłem. Jeśli wyeksportujesz szablon, który zabezpieczyłeś hasłem – podczas importu tego szablonu, będziesz musiał podać nadane wcześniej hasło. Jego brak uniemożliwi import szablonu, a podanie błędnego hasła spowoduje nieprawidłowe działanie szablonu po imporcie. Więcej informacji znajdziesz:

Jak skonfigurować Lookbook w Comarch e-Sklep?

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

Lookbook - czym jest i jak do wykorzystać?

Chociaż lookbook został stworzony głównie z myślą o świecie mody, to można w nim prezentować towary z dowolnych kategorii. Może to być zarówno seria zdjęć z kolekcją ubrań, jak i zdjęcie ścianki warsztatowej, na której zaznaczono dostępne w sklepie narzędzia. Dodatkowo, na zamieszczonych fotografiach możliwe jest dodanie odnośników kierujących do konkretnych produktów sprzedawanych w e-Sklepie. W przypadku e-Sklepu lookbookiem można nazwać zbiór fotografii przedstawiających konkretną kategorię produktową. Towary prezentowane na zdjęciach powinny być odpowiednio wyeksponowane. Żeby produkt skutecznie przyciągał uwagę zaleca się, aby zdjęcia były wykonywane na neutralnym tle, które będzie odpowiednio komponowało się ze stroną sklepu. Dzięki lookbookowi możesz przedstawić Klientowi np. odpowiednie zastosowanie swoich produkt i tym samym inspirować ich. Dodatkowo funkcja ta pozwala na promowanie wielu towarów w bardzo atrakcyjnej formie.

Konfiguracja lookbooka w panelu administracyjnym

Niektóre szablony, takie jak Opal czy Topaz, domyślnie posiadają skonfigurowany banner jako lookbook. Oznacza to, że nie musisz tworzyć specjalnie dodatkowej sekcji.

W przypadku innych szablonów lookbook może wiązać się z dodaniem nowego banneru. Aby dodać lookbook do swojej strony należy zalogować się do panelu administracyjnego i postępuj zgodnie z poniższą instrukcją: Krok 1. Przejdź do sekcji Wygląd sklepu/ Ustawienia/ Bannery. Jeżeli nie masz sekcji bannerowej o nazwie lookbook naciśnij przycisk plusa, aby dodać nowy banner.

Jeżeli masz taką sekcję przejdź do jej edycji.

Krok 2. Wprowadź nazwę dla nowego lookbooka. Następnie naciśnij dodaj.

Krok 3. Po wpisaniu nazwy nowego banneru wyświetla się nowy formularz. W tym miejscu masz możliwość dodania opisu dla administratora oraz obrazków do katalogu.

Uzupełnij wszystkie pola i zaznacz opcję lookbook.

  • Nazwa – wprowadź tu nagłówek dla swojego Lookbooka,
  • Link – wprowadź przyjazną treść w linku dla lookbooka – wyświetli się ona, gdy dodasz w swoim sklepie więcej niż jeden lookbook.

Jeżeli powyższe kroki zostały wykonane, to możesz przejść do dodawania obrazków. Po dodaniu obrazków istnieje również możliwość uzupełnienia szczegółów dotyczących konkretnego zdjęcia. Aby dokonać modyfikacji w tym obszarze przejdź w Widok zaawansowany.

Po kliknięciu w odnośnik pojawi się panel, w którym można zmienić np. tekst na bannerze, nagłówek, czas jego wyświetlania, link do którego kieruje dany obrazek, a także tooltip i tekst alternatywny.

Jak oznaczyć towary na zdjęciu w lookbooku?

Krok 1. Dodaj zdjęcie dla swojego lookbooka. Krok 2. Przejdź do jego szczegółów. Krok 3. Kliknij na zdjęciu w miejsce, dla którego chcesz oznaczyć towar. Otworzy Ci się nowy popup, w którym wybierzesz towar ze swojej bazy. Gotowe! Dla wybranej grafiki zostały oznaczone towary. Przechodząc do lookbooka w szablonie Topaz, kiedy klikniesz w ikonę "plusa" znajdującą się na danym towarze, masz możliwość dodania tego towaru do koszyka, a ikoną serduszka dodasz towar do ulubionych.

Lookbook w sklepie demonstracyjnym https://demo-topaz.comarchesklep.pl/

Wskazówka
Konfiguracja lookbooka jest taka sama dla wszystkich szablonów Comarch. Każdy z nich posiada jednak odmienny widok i sposób oznaczenia towarów. Niżej możesz zobaczyć, jak wyglądają lookbooki w poszczególnych szablonach Comarch.

Lookbook w Szablonie Topaz

Szablon Topaz dedykowany sprzedaży detalicznej posiada dwa widoki lookbooka do wyboru: mozaikę lub listę. Aby zdecydować jaki widok jest dla Ciebie odpowiedni przejdź do zakładki Wygląd Sklepu/ Ustawienia i w sekcji Ustawienia lookbooka wybierz jeden z dostępnych widoków:
  • Widok typu Lista
Widok ten charakteryzuje się prezentacją zdjęć jedno pod drugim, w dwóch równoległych kolumnach. W tym widoku masz możliwość precyzyjnego oznaczenia towarów na bannerze i umożliwić dzięki temu ich zakup bezpośrednio z sekcji lookbook. Służą do tego znaczniki, które dodasz w dowolnym miejscu na obrazku podczas konfiguracji. Dodatkowo Twoi Klienci będą mogli swobodnie dodawać oznaczone towary do ulubionych w swoim profilu.
Wskazówka
Rekomendowany rozmiar bannerów do loobooka w widoku lista wynoszą: 620px x 620px. Pamiętaj, że każdy obrazek powinien mieć nie więcej niż 500 KB. Ilość znaczników jaką możesz dodać zależna jest od pola Lookbook json, które może zmieścić maksymalnie 3000 znaków. 
Widok typu Lista – Lookbook w szablonie Topaz

Po kliknięciu w znacznik pokaże się kafel ze zdjęciem i ceną towaru.

Jeśli towar jest fantomem, to po kliknięciu w przycisk „Kup teraz” pojawi się popup z atrybutami do wyboru.

Widok lookbooka w formie listy możesz zobaczyć w naszym sklepie demonstracyjnym.
  • Widok typu mozaika
Widok typu mozaika charakteryzuje się różnorodnym rozmieszczeniem grafik w odmiennych rozmiarach – tworząc tytułową mozaikę. Na każdej grafice możesz oznaczyć towary, które są dostępne do kupienia w Twoim e-Sklepie. Z tego poziomu Klient będzie mógł w szybki sposób przejść do szczegółów towaru i poznać szczegóły na jego temat.
Wskazówka
Rekomendowany rozmiar bannerów w lookbooku dla widoku mozaika to kolejno: 560px x 630px, 700px x 850px, 1260px x 540px, 630px x 950px, 560px x 630 px. Pamiętaj, że każdy obrazek powinien mieć nie więcej niż 500 KB.
Widok typu Mozaika - Lookbook w szablonie Topaz
Oznaczone towary w lookbooku z widokiem mozaika - szablon Topaz
Widok lookbooka w formie mozaiki możesz zobaczyć w naszym sklepie demonstracyjnym. Jeżeli chcesz posiadać kilka stron Lookbook wybieranych z listy w Twoim nagłówku, to w sekcji z bannerami dodaj kolejny Lookbook a następnie włącz odpowiednie ustawienie w Wygląd sklepu/ Ustawienia/ Ustawienia szablonu/ Ogólne:
Wskazówka
Wskazana funkcjonalność nie jest dostępna w nagłówku header-5, ponieważ tam nie występuje zakładka Lookbook w nagłówku
Dzięki niemu zyskasz rozbudowaną zakładkę z Lookbookiem w swoim sklepie internetowym, który będzie prezentował się następująco: Jeśli chcesz, żeby Twoi Klienci mogli dodać wszystkie towary z Lookbooka do koszyka, to w zakładce Wygląd sklepu/ Ustawienia/ Ustawienia szablonu/ Ogólne zezwól na dodawanie towarów do koszyka. 
Wskazówka
Ikona koszyka pojawi się w Lookbooku jeśli wszystkie towary do niego dodane, będę proste i dostępne w sklepie. Towar prosty po dodaniu go w zakładce Wygląd sklepu/ Ustawienia/ Bannery/ Lookbook będzie miał parametr hasAttributes: false
 

Lookbook w Szablonie Szafir

Aby sekcja lookbook mogła być widoczna na głównej stronie Twojego e-Sklepu to musisz w pierwszej kolejności aktywować go w pasku nawigacji. W tym celu przejdź do zakładki Wygląd sklepu/ Ustawienia/ Strona główna  i zaznacz sekcję lookbook.
Lista kilku lookbooków w szablonie Szafir
Jak wygląda lookbook w szablonie Szafir możesz zobaczyć w naszym sklepie demonstracyjnym

Lookbook w Szablonie Opal

Widok lookbooka w szablonie Opal charakteryzuje się rozmieszczeniem zdjęć w formie mozaiki. Na grafikach można precyzyjnie oznaczyć towary, które z poziomu lookbooka można dodać bezpośrednio do koszyka. Jak wygląda lookbook w szablonie Opal możesz zobaczyć w naszym sklepie demonstracyjnym.

Lookbook w Szablonie Bursztyn

Widok lookbooka w szablonie Bursztyn charakteryzuje się prezentacją zdjęć jedno obok drugiego. Na bannerach można precyzyjnie oznaczyć towary i ilości, które z poziomu lookbooka można dodać bezpośrednio do koszyka.  

Oznaczone towary w lookbooku - szablon Bursztyn

Tworzenie filtrów na liście kategorii w e-Sklepie

Wstęp

Dobrze skonfigurowane filtry w znacznym stopniu uproszczą i skrócą proces wyszukiwania poszczególnych produktów , co z pewnością przełoży się na pozytywny odbiór i częstsze zakupy w Twoim e-Sklepie. Dodanie nowego filtra odbywa się poprzez utworzenie nowego atrybutu w systemie ERP, a następnie odpowiednie przyporządkowanie go grupy towarowej.

Comarch ERP XT

Poniżej znajdziesz kroki, które w łatwy i szybki sposób pomogą Ci utworzyć nowe filtry kategorii w Twoim e-Sklepie.

Krok 1. Na początku musimy utworzyć Atrybuty, które mają być widoczne na Twojej liście filtrów. Logujemy się do panelu administracyjnego Twojego systemu Comarch ERP XT. Rozwijamy zakładkę Więcej funkcji i klikamy w Comarch e-SklepW nowym widoku wchodzimy w Atrybuty w Comarch e-Sklep,

a następnie w górnym prawym roku ikonę Dodaj.

 Krok 2. W sekcji Nazwa uzupełnij nazwę atrybuty dla każdego języka osobno, a następnie wciśnij przycisk Zapisz zmiany.

Krok 3. Teraz musisz przyporządkować powstałe atrybuty do konkretnej grupy, żeby posłużyły Ci jako filtry kategorii na liście towarowej. W zakładce Więcej funkcji/ Comarch e-Sklep/  Grupy w Comarch w e-Sklep,

a następnie kliknij lewym przyciskiem myszki w grupę na, której mają się wyświetlać dodatkowe filtry.

Krok 4. W sekcji Atrybuty kliknij w pole nazwa atrybutu. Wyskoczy Ci lista wszystkich dodanych atrybutów. Wybierz tylko te, które chcesz mieć widoczne na swojej liście towarowej.

  Krok 5. Kolejne zmiany będą dokonywane już na karcie towaru. Produkty będą widoczne w twoich filtrach dopiero po dodaniu ich w sekcji: Atrybuty zwykłe. Atrybuty muszą zostać wybrane takie same jak w kroku 4. W tym artykule znajdziesz więcej informacji odnośnie konfiguracji produktów z twoim e-Sklepie: Skonfiguruj swój pierwszy produkt i wyślij go do e-Sklepu 
Przyklad
Jak dodamy atrybuty zgodnie z poniższym zdjęciem to produkt będzie widoczny we wszystkich trzech filtrach. Widok z e-Sklepu po synchronizacji i wybraniu odpowiednich filtrów:
Krok 6. Po wykonaniu powyższych kroków wykonaj synchronizację danych i sprawdź, jak wyglądają nowe filtry w Twoim e-Sklepie.

Comarch ERP Optima

Jak utworzyć filtr?

Poniżej znajdziesz kroki, które w łatwy i szybki sposób pomogą Ci utworzyć nowe filtry kategorii w Twoim e-Sklepie.

Krok 1. Na początku musimy utworzyć Atrybuty, które mają być widoczne na Twojej liście filtrów. Z poziomu ERP Optima W zakładce Ogólne/ Atrybuty otwórz Listę atrybutów i ikoną plusa dodaj nowy atrybut.

Krok 2. W zakładce Ogólne uzupełnij formularz wpisując Kod i Nazwę atrybutu, wybierz format: Lista oraz udostępnij atrybut w e-Sklepie/e-Sale.

Krok 3. Uzupełnij zakładkę Pozycje listy podając wartości dla atrybutu, a następnie zapisz zmiany dyskietką :

Krok 4. Teraz musimy przyporządkować powstałe atrybuty do konkretnej grupy, żeby posłużyły nam jako filtry kategorii na liście towarowej W zakładce Ogólne/ Cennik otwórz Grupę towarową (klikając dwa razy w wybraną grupę).

Krok 5. W sekcji Atrybuty używając plusa   dodaj nowy atrybut do grupy towarowej.

Krok 6. Dodaj atrybut wpisując jego nazwę lub wybierając atrybut z listy (klikając na parametr Atrybut). Po dodaniu atrybutu zapisz zmiany klikając w dyskietkę.

Wskazówka
Nie przypisuj wartości do atrybutu na grupie towarowej - wartość atrybutu jest pobierana z karty towarowej. W tym celu należy dodać ten sam atrybut z wartością na danym towarze.

Jak dodać atrybut do towaru?

Krok 1. Kolejne zmiany będą dokonywane już na karcie towaru. Na wybranym towarze przejdź na zakładkę Atrybuty, dodaj nowy atrybut i zapisz zmiany

Krok 2. Wybierz wartość dla wybranego atrybutu i zaznacz parametr "udostępnij w Comarch e-Sklep/e-Sale". Po wykonanych czynnościach zapisz zmiany

Krok 3. Wykonaj synchronizację do e-Sklepu z poziomu Comarch ERP Optima. Teraz możesz wejść do swojego e-Sklepu i zobaczyć swoje nowo dodane filtry.

Comarch ERP XL

Jak utworzyć filtr?

Krok 1. Na początku musimy utworzyć Atrybuty, które mają być widoczne na Twojej liście filtrów. Z poziomu ERP XL w sekcji Administrator, w zakładce Narzędzia/ Atrybuty otwórz Atrybuty i ikoną folderu z zielonym plusem dodaj nową klasę atrybutów.

Krok 2. W zakładce Ogólne uzupełnij formularz wpisując Nazwę atrybutu, wybierz Typ: Lista oraz udostępnij atrybut parametrem e-Sklep.

A, w zakładce Obiekty dodaj do obiektów klasy towarowe.

Krok 3. Uzupełnij formularz Definicje atrybutów podając wartości dla atrybutu, a następnie zapisz zmiany .

Krok 4. Teraz musimy przyporządkować powstałe atrybuty do konkretnej grupy towarowej, aby posłużyły nam jako filtry kategorii na liście towarów. W menu głównym ERP XL otwórz sekcję Sprzedaż, a następnie w zakładce Ogólne/ Towary otwórz Grupę towarową (klikając dwa razy w wybraną pozycję).

Krok 5. W formularzu Wzorca towaru (grupa Bakalie) w zakładce Atrybuty używając plusa dodaj nowy atrybut do grupy towarowej.

Krok 6. Dodaj klasę atrybutu wybierając go z listy i zatwierdź go zaznaczoną ikoną.

Wskazówka
Nie przypisuj wartości do atrybutu na grupie towarowej – wartość atrybutu jest pobierana z karty towarowej. W tym celu należy dodać ten sam atrybut z wartością na danym towarze.

Krok 7. Nie zapomnij w zakładce Aplikacje zaznaczyć parametr e-Sklep.

Jak dodać atrybut do towaru?

Krok 1. Kolejne zmiany będą dokonywane już na karcie towaru. Na wybranym towarze przejdź na zakładkę Atrybuty, dodaj nowy atrybut i zapisz zmiany.

Krok 2. Wybierz wartość dla wybranego atrybutu i zapisz zmiany.

Krok 3.Wykonaj synchronizację do e-Sklepu z poziomu Comarch ERP XL. Teraz możesz wejść do swojego e-Sklepu i zobaczyć swoje nowo dodane filtry.

Comarch ERP Altum

Jak utworzyć filtr?

Krok 1. Zaczynamy od utworzenia nowego atrybutu, który będzie widoczny na Twojej liście filtrów. Z poziomu ERP Altum w sekcji Konfiguracja, w zakładce Atrybuty i klikamy w plus, żeby dodać nową klasę atrybutu.

Krok 2. Wpisujemy Nazwę atrybutu, następnie wybieramy Typ: Lista oraz udostępniamy atrybut parametrem e-Sklep/Podgląd. Dodatkowo trzeba pamiętać, że parametr Aktywny musi być włączony.

Krok 3. Zdefiniujemy teraz nowe wartości dla atrybutu, który dodaliśmy. Należy zaznaczyć go na liście atrybutów, a następnie w sekcji Lista wartości atrybutu wybrać przycisk [Dodaj].

Krok 4. Przejdź teraz do zakładki Lista oddziałów i wybierz obiekt Grupa artykułów. Na dole pojawi Ci się nowo dodany atrybut. Kliknij w niego a następnie Powiąż i zapisz zmiany

Krok 5. Następnie przyporządkuj powstałe atrybuty do konkretnej grupy towarowej, aby posłużyły nam jako filtry kategorii na liście towarów. W menu głównym ERP Altum wybieramy sekcje Artykuły, a następnie wybieramy kategorie, do której mamy dodać wcześniej dodane atrybuty (klikając dwa razy w wybraną pozycję).

Krok 5. W oknie, które się otworzy, przejdź do zakładki Atrybuty i używając plusa dodaj nowy atrybut do grupy towarowej. Po dodaniu zapisujemy zmiany

Krok 6. Przechodzimy teraz do zakładki Oddziały i wykonujemy synchronizację. Jeśli chcemy, żeby nowe atrybuty były widoczne w e-Sklepie to musimy wybrać obiekt Artykuł.

Jak dodać atrybut do towaru?

Krok 1. Kolejne zmiany będą dokonywane już na karcie towaru. Na wybranym towarze przejdź na zakładkę Atrybuty, dodaj nowy atrybut, wybieramy właściwy z listy i klikamy wybierz.

Krok 2. Wybierz wartość dla wybranego atrybutu i zapisz zmiany.

Krok 3. Wykonujemy teraz synchronizację e-Sklepu z Comarch ERP Altum. Teraz możesz wejść do swojego e-Sklepu i zobaczyć swoje nowo dodane filtry.

Logotyp oraz favicon w Comarch e-Sklep

Logotyp e-Sklepu stanowi jeden z elementów identyfikacji wizualnej i jednocześnie jest jej najważniejszą częścią. Dzięki logo firma lub produkt są łatwiejsze do zidentyfikowania przez odbiorcę.

Logo i favicon. Jak je zmienić?

Jak wgrać własny logotyp w e-Sklepie?

Krok 1. W panelu administracyjnym przejdź do sekcji Ustawienia/Ustawienia sklepu/Dane sklepu/. Krok 2. Wybierz plik i zapisz zmiany.  
Uwaga
Maksymalny rozmiar obrazka wynosi 30 KB, wielkość to 200 x 200 px oraz musi być on w formacie *.PNG, *.JPG, *.JPEG, *.SVG.

Jak wgrać favicon?

Logo sklepu można również umieścić w ikonie strony internetowej, która prezentuje się w nagłówku przeglądarki,w wynikach wyszukiwania przy tytule strony, na pasku ulubionych zakładek tzw. favicon. Krok 1. Przejdź do sekcji Wygląd sklepu/zakładka Nagłówek/Stopka. Krok 2. Wgraj własny favicon dla swojego e-Sklepu i zapisz zmiany.
Uwaga
Uwaga! Maksymalny rozmiar obrazka to 10 KB.
 

Jak automatycznie ustawić język sklepu w oparciu o język przeglądarki?

W tym artykule dowiesz się jak włączyć funkcję, aby po wejściu do sklepu ustawiał się język ustawiony przez Klienta w przeglądarce. Funkcja ta działa tylko dla sklepów wielojęzycznych.
Wskazówka
Sklep wielojęzyczny to taki, w którym oprócz języka domyślnego, aktywny jest przynajmniej jeden dodatkowy język w zakładce Ustawienia > Ustawienia sklepu > Dane sklepu > Języki
Odtworzenie języka z poprzedniej sesji będzie miało priorytet nad domyślnymi ustawieniami przeglądarki. Oznacza, to że język wybrany podczas ostatniej wizyty użytkownika zostanie zachowany przy kolejnej wizycie, niezależnie od domyślnych ustawień językowych przeglądarki. Funkcja dostępna dla najnowszej wersji szablonów z Kreatora wyglądu. Aby skorzystać z tej funkcji, przejdź w panelu administracyjnym do sekcji Wygląd Sklepu > Ustawienia > Ogólne            

Jak edytować nagłówek w szablonie B2C?

Wstęp

Nagłówek w e-Sklepie to stały element, umieszczony na górze ekranu lub na dole w wersji mobilnej. Jego głównym celem jest umożliwienie użytkownikom szybkiego dostępu do różnych sekcji witryny, takich jak: “Strona główna”, “O nas” czy “Kontakt”. Dzięki opcji edycji nagłówka możesz prosto i szybko:
  • dodawać, edytować, wyróżniać i usuwać strony lub grupy stron,
  • dodać, edytować lub usuwać odnośniki do mediów społecznościowych,
  • w jednym miejscu zmienić logotyp i favicon.
Możliwość edycji nagłówka dostępna jest dla szablonów B2C: Topaz, One Page Shop oraz Dla Gastronomii. Aby edytować zawartość nagłówka sklepu, należy przejść w panelu administracyjnym do obszaru: Wygląd sklepu  > Ustawienia > Nagłówek: W tym miejscu masz możliwość:
  • ustawienia logotypu i faviconu,
  • ustalenia, które media społecznościowe powinny wyświetlać się w nagłówku,
  • dodania stron lub grupy stron,
  • przejścia do konfiguracji menu kategorii.

Jak dodać logotyp i favicon?

Aby dodać logotyp i favicon, wybierz przycisk „Wyślij plik”, a następnie wybierz plik z odpowiedniego miejsca na Twoim komputerze.
Wskazówka
Pamiętaj, że w przypadku logotypu, maksymalny rozmiar obrazka wynosi 30 KB, a wymiary to 200 x 200px. Rekomendowane formaty: PNG, JPG, JPEG, SVG. W przypadku faviconu maksymalny rozmiar obrazka wynosi 10 KB, a rekomendowane formaty to: PNG, JPG, JPEG, SVG.

 

Jak edytować odnośniki do mediów społecznościowych?

Wskazówka
Miniatury z odnośnikami do mediów społecznościowych są widoczne w drugim i trzecim typie nagłówka (header-2 oraz header-3) w szablonie Topaz.
Aby edytować istniejący odnośnik do mediów społecznościowych, przejdź do szczegółów logotypu wybranego serwisu, który chcesz podłączyć do e-Sklepu. W miejscu "# " w kodzie wklej link do swojego portalu. Dzięki temu możliwe będzie przekierowanie użytkownika do konkretnego medium społecznościowego. Następnie zapisz zmiany. Aby dodać nowy odnośnik do mediów społecznościowych wystarczy, że naciśniesz ikonę plusa. Wyświetli się wówczas edytor, do którego należy wkleić analogiczny kod, jak w przykładzie prezentowanym powyżej. Fragment kodu należy skopiować z poziomu panelu administracyjnego. W miejscu "#"w kodzie wklej link do swojego portalu. Jeśli chcesz zmienić obrazek, to we fragmencie kodu w miejscu linku wklej swój odnośnik do wybranego zdjęcia. Może to być odnośnik skopiowany z pliku, który znajduje się w Plikach użytkownika.
Wskazówka
W nagłówku wyświetli się pięć pierwszych ikon mediów społecznościowych, które zostały dodane w panelu administracyjnym.
 

Jak dodać strony lub grupy stron?

Z poziomu obszaru Wygląd sklepu > Ustawienia > Nagłówek możesz dodać Stronę lub Grupę stron. Aby to zrobić, należy wybrać sekcję "Dodaj stronę lub grupę stron". Po wybraniu tej opcji wyświetli się następujący popup: Z poziomu popupu należy zaznaczyć parametr: Stronę lub Grupę stron i uzupełnić obowiązkowe pole "Nazwa". Następnie, aby dodać odnośnik do strony, należy edytować dodaną stronę lub grupę.  Podczas edycji w panelu administracyjnym wyświetli się obszar, w którym możliwe jest dokonanie zmian. Możesz zdecydować, czy do strony lub grupy stron dodasz już istniejącą stronę ze sklepu, czy stronę zewnętrzną: Po wyborze opcji "Dodaj stronę ze sklepu" pokaże się popup z listą stron, które można wybrać i dodać do sekcji. Możesz także dodać stronę zewnętrzną, uzupełniając pola na formularzu: Przy dodanym odnośniku możesz zdecydować, czy chcesz go wyróżnić, otworzyć w nowej karcie, czy usunąć.   Wprowadzone zmiany należy zapisać i opublikować. Poniżej prezentujemy efekt wprowadzonych konfiguracji (dodanie mediów społecznościowych, grupy stron oraz wyróżnienia):
Topaz header-2
Topaz header-2
 
Topaz header-3
Topaz header-3
   

Jak zarządzać elementami na liście towarów z panelu administracyjnego?

Wstęp

Dzięki nowej funkcjonalności, użytkownicy Panelu Administracyjnego będą mogli edytować i aktualizować elementy listy towarów bez potrzeby korzystania z Kreatora Wyglądu. To rozwiązanie zaprojektowano z myślą o szablonie Topaz, współpracującego z każdą wersją Comarch e-Sklepu. Nowa funkcjonalność nie tylko zwiększy wygodę użytkowania, ale także przyczyni się do optymalizacji czasu pracy. W niniejszym artykule przybliżymy szczegóły tego rozwiązania.

Zarządzanie elementami na liście towarów

W wersji 2024.6.1 Comarch e-Sklepu dla szablonu Topaz dodano funkcjonalność zarządzania elementami na liście towarów wprost z Panelu Administracyjnego Comarch e-Sklepu. Aby to zrobić, należy w Panelu Administracyjnym przejść do obszaru Wygląd sklepu (1) > Ustawienia (2) następnie kliknij w kartę Zarządzanie elementami na liście towarów (3) znajdującą się nad kaflami motywów kolorystycznych szablonu:

Jakie obszary są możliwe do zmiany?

  • Domyślny sposób wyświetlania towarów na liście – możesz zdecydować w jaki sposób zaprezentowane będą towary w Twoim e-Sklepie, domyślny widok to Kafelki;
  • Wyświetlaj zdjęcia 360° na liście towarów – domyślna wrtość: Tak;
  • Układ zdjęć kategorii na stronie „Produkty” – możesz wybrać układ zdjęć na stronie „Produkty”, domyślny jest układ listy;
  • Elementy w panelu filtrów (Kategorie, Cena, Producent, Marka, Dostępność, Ocena, Zdjęcia, Atrybuty, Atrybuty czasowe) – możesz wskazać, które będą widoczne w panelu filtrów;
  • Udostępnij zdjęcia podkategorii – możesz zdecydować o udostępnianiu zdjęć do podkategorii, domyślna wartość:Tak;
  • Lista elementów na stronie z listą towarów – w tym obszarze istnieje możliwość zmiany kolejności wyświetlania poszczególnych elementów na stronie głównej sklepu oraz ukrycia wybranych. Zmiany kolejności dokonasz poprzez kliknięcie strzałek w kolumnie „Kolejność„. Aby ukryć element wystarczy, że odznaczysz checkbox w kolumnie Dostępne. Możesz także w szybki sposób przejść do edycji poszczególnych elementów, wybierając opcję „Przejdź do edycji…„, a także edytować etykietę tłumaczenia.
 

Bannery

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

Banner jest jednym z nośników treści reklamowych. Wystarczy, że przygotujesz obrazek, który przyciągnie wzrok klienta i dobrać do niego odpowiedni tekst promocyjny, a Twój sklep stanie się bardziej atrakcyjny dla klientów.

Edycja bannerów

Modyfikacja domyślnych bannerów dostępnych w szablonach Comarch dostępna jest w Panelu administracyjnym w obszarze Wygląd sklepu/ Ustawienia/ Bannery.

Wybierz banner, który chcesz edytować i kliknij w niego.

Przykładowa lista bannerów w szablonie Topaz

Wyświetlone zostanie okno, w którym możesz uzupełnić nazwę, opis oraz dodać lub zmienić zdjęcia. Edycja kolejności zdjęć w bannerze zarówno w widoku podstawowym i zaawansowanym jest możliwa przy użyciu metody "przeciągnij i upuść".

ban1

Aby móc uzupełnić więcej szczegółów dotyczących bannerów, rozwiń opcję Widok zaawansowany. Pojawi się wtedy panel, w którym można zmienić np. tekst na bannerze, nagłówek, czas jego wyświetlania, link do którego kieruje dany obrazek, a także tooltip i tekst alternatywny. Pole Tekst oraz Link pojawi się po dodaniu obrazka i rozwinięciu widoku zaawansowanego. Pamiętaj, aby zapisać zmiany ikoną dyskietki. Wszystkie zmiany w bannerach należy zatwierdzić opcją Publikuj dostępną w menu rozwijanym Więcej na liście bannerów.

hy

Wskazówka

Rekomendowane rozmiary obrazków w bannerach dla szablonów Comarch:

  • szablon Szafir: Bannery – przy tworzeniu wyglądu szablonu Szafirz w Kreatorze wybieramy ułożenie bannerów spośród sześciu opcji: Wygląd Sklepu/Ustawienia/Bannery/kafelki homepage
    • Banner 1: rekomendowana proporcja obrazków 3:1 (1500 px x 500 px). W celu zachowania dobrej jakości zdjęć na ekranach o wysokiej rozdzielczości ekranu, zalecamy dodawanie obrazków w jednakowej wielkości. Bannery umieszczone nad stopką powinny być tej samej skali, np. 100×100 i 200×200 lub 400×200 i 800×400 itd
    • Banner 2: 1255px x780px, 2x 620px x 380px
    • Banner 3: 2x 635px x 290px, 2x 840px x 290px
    • Banner 4: 1270px x 580px, 2x 635px x 290px,
    • Banner 5: 2x 735px x 390px,
    • Banner 6: 3x 480px x 385px;

  • szablon Topaz: Bannery – przy tworzeniu wyglądu szablonu Topaz w Kreatorze wybieramy ułożenie bannerów spośród sześciu opcji: Wygląd Sklepu/Ustawienia/Bannery/kafelki homepage
    • Banner 1: 1255px x 780px, 2x 620px x 380px,
    • Banner 2: 1920px x 680px,
    • Banner 3: 2x 635px x 290px, 2x 840px x 290px
    • Banner 4: 1270px x 580px, 2x 635px x 290px,
    • Banner 5: 2x 735px x 390px,
    • Banner 6: 3x 480px x 385px;

Dodatkowo możliwa jest konfiguracja obrazków w obrębie różnych urządzeń - dodatkowa konfiguracja grafik dla ekranów tabletu i telefonu jest możliwa po kliknięciu w obrazek w ramach edycji konkretnego banneru.

 

Za pomocą ikony plusa jest możliwe dodanie dopasowanych zdjęć względem ekranów różnych urządzeń: W przypadku jeżeli nie ma dodanych wskazanych obrazków dla tabletu czy telefonu, na urządzeniach mobilnych wyświetla się obrazek dodany dla ekranów komputera.

Zalecane rozmiary dla wskazanych bannerów według tego ustawienia prezentują się następująco:

Banner Ekran komputera Ekran tabletu Ekran telefonu
Banner 1 1255px x 780px, 2x 620px x 380px 840px x 520px, 2 x 420px x 255px 3x 770px x 475px
Banner 2 1920px x 680px 1280px x 455px 3x 770px x 275px
Banner 3 635px x 290px, 2x 840px x 290px 545px x 255px, 2x 720px x 255px 770px x 360px, 2x 770px x 275px
Banner 4 1270px x 580px, 2x 635px x 290px 845px x 385px, 2x 425px x 195px 3x 770px x 230px
Banner 5 2x 735px x 390px 2 x 630px x 365px 3x 375px x 200px
Banner 6 3x 480px x 385px 3x 415px x 330px 3x 770px x 615px

    • Rekomendowany rozmiar banneru, który pokazuje się po rozwinięciu kategorii (menuBanner) wynosi
              • header1: 220×295 px,
              • header2: 220×295 px
              • header3: 1118 x 534 px

konfiguracji można dokonać z poziomu: Wygląd Sklepu/ Ustawienia /Bannery/ menuBanner,

    • Rekomendowany rozmiar banneru, który pokazuje się na stronie Kontakt wynosi: 610px x 605px - Wygląd Sklepu/Ustawienia/Bannery/contactBanner,
    • Rekomendowane rozmiary bannerów, które pokazują się na stronie Lookbook wynoszą: 2x 560px x 630px, 700px x 850px, 1260px x 540px, 630px x 950px - Wygląd Sklepu/Ustawienia/Bannery/lookbook,
    • Rekomendowany rozmiar banneru, który pokazuje się na zakładce Promocje, po otworzeniu sekcji Profil klienta wynosi: 1920px x 680px -  Wygląd Sklepu/Ustawienia/Bannery/ CustomerProfileBanner,
    • Rekomendowany rozmiar zdjęć towaru wynosi: 660px x 630px;
  • szablon Bursztyn: 1920 px x 608 px
  • szablon Opal:  banner główny: 1840 px x 578 px, mniejsze zdjęcia pod bannerem głównym: 904 px x 487 px
  • szablon Agat: rozmiar obrazka dowolny z zachowaniem proporcji 2:1 np. 1200 px x 600 px. W celu zachowania dobrej jakości zdjęcia na ekranach o wysokiej rozdzielczości ekranu, rekomendujemy zdjęcia o rozdzielczości nie mniejszej niż 1140 px x 570 px

Typy bannerów dla szablonów Topaz i Szafir (B2B)

W panelu administracyjnym dodany jest nowy banner o nazwie top, a jego treść brana jest z pola Tekst. Banner pojawia się jako wąski pasek na górze strony. Gdy dodasz adres strony, produktu, promocji lub innego przekierowania w polu Link, po kliknięciu na banner zostanie otworzona odpowiednia strona przypisana do tego banneru. Pamiętaj, aby wprowadzone zmiany zapisać oraz opublikować. W panelu administracyjnym w zakładce Wygląd sklepu/ Ustawienia/ Motyw kolorystyczny znajdują się trzy pola, w których możemy w łatwy sposób zmienić kolory naszego banneru. Pola nazywają się:

  • Kolor tła w bannerze 'Top’,
  • Kolor czcionki w bannerze 'Top’,
  • Kolor czcionki w bannerze 'Top’ po najechaniu.
Wskazówka
Top banner jest widoczny w e-Sklepie dopiero po dodaniu obrazka. Kolor oraz rodzaj pliku nie ma wpływu na kolor lub wygląd banneru.

Dodatkowo w szablonie Szafir został dodany kolejny banner wyświetlany na stronie głównej. Jeśli jest włączona opcja dostępu do sklepu dla zalogowanych kontrahentów to wówczas ukazuje się tylko ten banner. Jeżeli nie został on skonfigurowany, to wówczas widoczny jest domyślnie standardowy banner główny.

Dodawanie bannerów

Nowy banner możesz dodać z poziomu listy bannerów klikając w kafelek z ikoną plusa w widoku kafelkowym lub klikając w przycisk Dodaj w widoku listy. W pojawiającym się oknie uzupełnij nazwę oraz opis banneru, a także zdjęcia, które będą widoczne w sklepie.

gf

Po dodaniu zdjęcia pojawi się możliwość włączenia widoku zaawansowanego, w którym możesz uzupełnić szczegółowe dane. Długość linku dodawanego do slajdu w bannerze może wynosić maksymalnie 500 znaków.

c

Wskazówka
Po uzupełnieniu komórki link, dla banneru w szablonie Topaz (w widoku zaawansowanym) – cały baner staje się „klikalny”, to znaczy, że w przypadku kliknięcia na baner zostanie wykonane przekierowanie do określonego wcześniej linku. W przypadku uzupełnienia komórki: link oraz tekst – na bannerze zostanie wyświetlony przycisk Sprawdź.

Banner, który ma się wyświetlać na stronie głównej powinien zostać nazwany homepage. Po uzupełnieniu wszystkich potrzebnych informacji, należy je zatwierdzić przyciskiem DodajTak przygotowany banner należy następnie zaimplementować w kodzie szablonu. Nowo dodane bannery nie zaimplementowane w kodzie szablonu nie będą widoczne w e-Sklepie, ponieważ w kodzie szablonu istnieją odniesienia do domyślnych bannerów takich jak np. homepage czy promotionalbanners.

Import i eksport bannerów

W e-Sklepie istnieje możliwość importu i eksportu bannerów bez sprawdzania limitu danych. Dzięki temu możesz przenosić ich dużą ilość bez nadmiernego obciążania szablonu.

Aby zaimportować szablon przejdź do panelu administracyjnego, a następnie do sekcji Wygląd sklepu/ Ustawienia/ Więcej (trzy kropki w prawym górnym rogu), po czym przejdź do Edytuj ustawienia zaawansowane/ Import z pliku XML.

Szablon zaimportujesz klikając przycisk Wybierz plik XML. Aby zmienić bannery zaznacz podmień istniejące bannery. Opcja ta zastępuje dotychczasowe bannery widniejące na stronie e-sklepu. Zmiany zatwierdzić opcją Publikuj, dostępną w menu rozwijanym Więcej. Zaimportowane bannery możesz zobaczyć w panelu administracyjnym, przechodząc do Wygląd sklepu/ Ustawienia/ Bannery. 

Eksport bannerów dokonuje się w Panelu Administracyjnym w Wygląd sklepu/ Ustawienia/ Więcej (trzy kropki w prawym górnym rogu)/ Edytuj ustawienia zaawansowane/ Eksport do pliku XML. Tak należy kliknąć w Eksportuj bannery i zostanie pobrany plik XML.

Wskazówka
Dodatkowe informacje na temat wyświetlających się bannerów znajdują się w artykułach:

Posiadam gotowy szablon Comarch. Jak mogę go dostosować do kryteriów WCAG 2.1/2.2?

Wstęp

Z dniem 28 czerwca 2025 roku w życie wejdą przepisy związane z implementacją ustawy z dnia 26 kwietnia 2024 r. o zapewnianiu spełniania wymagań dostępności niektórych produktów i usług. Wdraża ona do polskiego prawa tzw. Europejski Akt o Dostępności (EAA) – unijną dyrektywę 2019/882. Celem ustawy jest zapewnienie, że kluczowe produkty i usługi będą dostępne dla wszystkich użytkowników, w tym osób z niepełnosprawnościami. Przedsiębiorcy mają czas do 28 czerwca 2025 roku, aby dostosować swoje produkty i usługi do nowych wymogów.
Wskazówka
Chcesz dowiedzieć się więcej o tych przepisach? Sprawdź artykuł w naszym Centrum Pomocy: Europejski Akt o Dostępności (EAA) i zapoznaj się ze szczegółami
W niniejszym artykule wskazujemy, jakie czynności należy wykonać, jeśli posiadasz jeden ze standardowych szablonów Comarch, czyli: Rubin, Szafir, Topaz, One Page Shop lub Dla Gastronomii.   

Sprawdź, jaki szablon posiadasz

Nie wiesz, który szablon posiadasz? Możesz to sprawdzić w panelu administracyjnym Comarch e-Sklep. Aby to zrobić, z poziomu panelu administracyjnego przejdź do zakładki Wygląd sklepu/ Ustawienia a następnie, pod przyciskiem "Więcej" wybierz Edytuj ustawienia zaawansowane. W obszarze, który został wyświetlony, pojawi się kilka zakładek, a wśród nich zakładka "Szablon". Wybierz ją, po czym sprawdź szablon:   Jeśli Twój szablon to Rubin, Szafir, Topaz, One Page Shop lub Dla Gastronomii, to możesz przejść do kolejnej części artykułu. Jeśli posiadasz własny szablon z indywidualnymi modyfikacjami, to przejdź do artykułu: Posiadam własny szablon, jak mogę go dostosować do kryteriów WCAG 2.1/2.2?  Jeśli posiadasz szablon Bursztyn, Agat lub Opal, to przejdź do artykułu: Posiadam szablon Bursztyn, Opal lub Agat, jak mogę go dostosować do kryteriów WCAG 2.1/2.2?  

Co zrobić jako właściciel e-Sklepu lub Partner, jeśli używam gotowych szablonów Comarch?

Jako właściciel e-Sklepu lub Partner Comarch zadbaj, aby zadbać o dostosowanie swojej witryny do obowiązujących przepisów. Nowe wymogi to wspólna odpowiedzialność:
  • Comarch e-Sklep – zajmiemy się kwestiami technicznymi w przypadku Gotowych Szablonów Comarch, do których należą m.in. zmiany w kodzie,
  • Właściciel, administrator lub Partner sklepu – musisz zadbać o treści i elementy, które dodajesz samodzielnie. Chodzi tu głównie opis produktów, zdjęcia i grafiki czy identyfikację wizualną. 
 

Jak zacząć?

Jeśli korzystasz z gotowych szablonów, takich jak Rubin, Szafir, Topaz, One Page Shop lub Dla Gastronomii, nie musisz przejmować się samodzielnym edytowaniem ich kodu. Wszystkie usprawnienia zostaną udostępnione wraz z aktualizacją, która pojawi się w czerwcu 2025 roku.

Aktualizacja szablonu

Wskazówka
Aktualizację szablonu wykonaj wtedy, kiedy będzie ona dostępna. Realizacja wersji 2025.4 przewidywana jest przed 28 czerwca 2025 roku, poinformujemy o niej w aktualnościach. Będzie ona zawierała zmiany związane z omawianymi tutaj przepisami.

Jak zaktualizować szablon?

Aby zaktualizować szablon i przejść na Topaz, One Page Shop, Dla Gastronomii, Rubin lub Szafir, należy skorzystać z aktualnej wersji Kreatora Wyglądu. Pamiętaj, że szablony Rubin i Szafir przeznaczone są tylko dla sklepów Enterprise i B2B. Odnośnik znajduje się również w panelu administracyjnym e-Sklepu w sekcji Wygląd sklepu > Kreator wyglądu.  Istnieją trzy możliwości aktualizacji tych szablonów:
  • Wygenerowanie zupełnie nowego szablonu w Kreatorze Wyglądu oraz wgranie go do e-Sklepu,
  • Wybór i edycja jednego z gotowych układów i jego modyfikacja,
  • Import posiadanego szablonu do Kreatora Wyglądu oraz ponowne wygenerowanie go w najnowszej wersji.
Wygenerowany z Kreatora Wyglądu szablon należy wgrać do e-Sklepu. W panelu administracyjnym e-Sklepu, w sekcji Wygląd sklepu znajduje się bezpośredni odnośnik do importu szablonu z Kreatora wyglądu. Szczegółowa instrukcja dostępna jest w artykule Jak wyeksportować i zaimportować swój szablon w e-Sklepie?
Pamiętaj o zapisaniu szablonu oraz opublikowaniu go w e-Sklepie. Zmiany wprowadzone w ustawieniach zostaną zsynchronizowane do sklepu po 10 minutach.
Wskazówka
Informacje na temat aktualizacji znajdują się w Centrum Pomocy: Jak zaktualizować szablon do najnowszej wersji?  
Więcej informacji na temat Kreatora Wyglądu B2C oraz B2B znajduje się w Centrum Pomocy:

Odpowiedni kontrast kolorów w e-Sklepie – wymóg WCAG na poziomie AA

Jednym z głównych wymogów WCAG jest stosowanie odpowiednich kontrastów na stronach internetowych. Jeśli w wybranym szablonie graficznym wykorzystujesz któryś ze standardowych motywów kolorystycznych dostępnych w kreatorach, to zostaną one dostosowane do wymagań wynikających z przepisów. Jeśli natomiast masz przygotowany własny motyw kolorystyczny lub chcesz zmienić część kolorów zastosowanych w szablonie, to pamiętaj, że muszą one posiadać odpowiednie kontrasty. Wszelkich zmian kolorystycznych możesz dokonać w Kreatorze Wyglądu.  Odpowiedni kontrast między tekstem a tłem jest kluczowy dla osób z dysfunkcjami wzroku. WCAG 2.1 określa minimalny współczynnik kontrastu (4.5:1 dla tekstu zwykłego i 3:1 dla tekstu dużego). Ważne jest również unikanie łączenia kolorów, które mogą być trudne do rozróżnienia, takich jak czerwony i zielony. Kontrasty po modyfikacji kolorów możesz sprawdzić np. narzędziem WAVE. WAVE to popularny, dostępny dla wszystkich zestaw narzędzi do oceny dostępności stron internetowych. Rozszerzenia WAVE dla Chrome, Firefox i Edge, umożliwiają testowanie bezpośrednio w tych przeglądarkach, bez przesyłania danych na serwer WAVE. WAVE znajdziesz pod linkiem: WAVE Web Accessibility Evaluation Tools.  

Jak sprawdzić kontrast?

Przejdź na stronę swojego e-Sklepu. Włącz wtyczkę WAVE. Po prawej stronie ekranu wyświetli się panel boczny, na pierwszej zakładce widać podsumowanie całej strony: Już na tym etapie możesz przejść do szczegółów, klikając "View details". Możesz w tym miejscu przejść także do zakładki "Contrast".   Czerwone kwadraty oznaczają obszar do poprawy. Przejdź przez stronę, aby zobaczyć szczegóły każdego z nich. Po kliknięciu na jeden z kwadratów pokaże się komunikat dotyczący kontrastu: W panelu bocznym pojawi się dokładna informacja na temat koloru. W tym miejscu, korzystając z suwaków możesz od razu dostosować kolor tak, aby był odpowiedni i sprawdzić, czy spełnia wymagania WCAG.  

Gdzie dostosować kolory?

Kolory w szablonie możesz zmienić korzystając z Kreatora Wyglądu. Po imporcie szablonu, edycji lub stworzeniu nowego projektu, przejdź do zakładki "Style" i edytuj motyw kolorystyczny:   Następnie możesz zmieniać swobodnie kolor na wybranych elementach:   Zmian możesz dokonać także z poziomu panelu administracyjnego, przechodząc do zakładki Wygląd Sklepu > Ustawienia.

Pozostałe zmiany

Poza zmianami w szablonie graficznym sklepu należy uzupełnić szereg danych. Znaczącą część tych elementów możesz wykonać już teraz, nie czekając na aktualizację Comarch e-Sklep. Poniżej znajduje się lista zmian, które należy wdrożyć w swoim e-Sklepie.

Teksty alternatywne ("Alt", alty) w Comarch e-Sklep

Twój szablon musi obsługiwać parametr "alt" w obrazkach. Jeśli wykorzystasz aktualny szablon standardowy od Comarch to obsługę zapewnia Comarch e-Sklep, jeśli zdecydowałeś się na indywidualny szablon lub samodzielną aktualizację starszej wersji to upewnij się, że w szablonie są obsługiwane parametry "alt" we wskazanych elementach. Teksty alternatywne („alt”) to krótkie opisy obrazków, które pozwalają osobom korzystającym z czytników ekranu zrozumieć, co znajduje się na zdjęciu. Atrybut „alt” jest szczególnie ważny dla zdjęć produktów, ponieważ umożliwia przekazanie najważniejszych informacji o produktach.  Dlaczego tekst alternatywny jest taki ważny? 
  • Pomaga osobom korzystającym z czytników ekranu, które odczytują tekst alternatywny na głos,
  • Poprawia dostępność stron internetowych, czyniąc je bardziej przyjaznymi dla wszystkich użytkowników,
  • Wpływa na pozycjonowanie w wyszukiwarkach, ponieważ dobrze opisane obrazy są lepiej interpretowane przez algorytmy Google.   
Dobrze sformułowany opis powinien być zwięzły, ale wystarczająco informacyjny. Poniżej prezentujemy przykłady dobrego i złego zastosowania opisów alternatywnych:
Przyklad
Poprawne :
  • Czerwona sukienka maxi z rozcięciem, modelka na tle miejskiego pejzażu.
  • Białe sneakersy z grubą podeszwą, ustawione na drewnianej podłodze.
  • Nowoczesna sofa w kolorze szarym, z drewnianymi nogami, ustawiona w minimalistycznym salonie.
  • Słuchawki bezprzewodowe z aktywną redukcją szumów, na białym tle.
Niepoprawne:
  • Sukienka.
  • Buty sportowe.
  • Fajna kanapa.
  • Najlepszy sprzęt w dobrej cenie!

Gdzie należy uzupełnić teksty alternatywne (alt)?

1. Dla zdjęć towarów w systemach Comarch ERP

Korzystam z Comarch ERP Optima
Po uruchomieniu Comarch ERP Optima przejdź na pozycję cennika, a następnie edytuj wybrany towar. Następnie przejdź na zakładkę "Atrybuty", a następnie do sekcji "Zdjęcia i załączniki". W tym miejscu zobaczysz kolumnę "Atrybut Alt".
Po dwukrotnym kliknięciu możliwe jest uzupełnienie opisu alternatywnego: Po dokonaniu zmian należy je zapisać. Po wykonaniu wszystkich modyfikacji należy wykonać synchronizację.

Korzystam z Comarch ERP XL

Po uruchomieniu ERP XL przejdź do Sprzedaż > Towary , a następnie na zakładkę "Załączniki". Opis alternatywny dla towaru stanowi Kod:    
Korzystam z Comarch ERP XT
Przejdź na kartę produktu, a następnie do zakładki "Zdjęcia". Wśród pól do uzupełnienia znajdziesz "Opis alternatywny (Alt)".   W tym miejscu wpisz odpowiednią treść, a następnie zapisz wprowadzone zmiany.  

2. Dla zdjęć w bannerach – w panelu administracyjnym Comarch e-Sklep

Pamiętaj, alby alty (opisy alternatywne) były uzupełnione także w przypadku bannerów. Aby to zrobić, przejdź z poziomu panelu administracyjnego do Wygląd sklepu > Ustawienia > Bannery  do edycji swoich bannerów. Klikając na odpowiedni kafelek pojawią się opcje z uzupełnieniem Alt:

3. Dla zdjęć stosowanych na stronach z treściami formalnymi – w panelu administracyjnym Comarch e-Sklep

Obrazki możesz dodawać także do treści, które udostępniasz na specjalnych stronach, takich jak np. Regulamin sklepu, Polityka prywatności, Wysyłka itp. W obszarze do edycji, który jest dostępny z poziomu panelu administracyjnego w sekcji Ustawienia > Treści formalne edytuj interesującą Cię treść, a dodając obrazek uzupełnij alt:    

4. Dla zdjęć wprowadzonych w opisie towaru i opisie kategorii

Dodając opisy produktów i kategorii, warto upewnić się, że linkowane zdjęcia zawierają poprawnie uzupełniony atrybut "alt". To kluczowe dla osób korzystających z czytników ekranu. Dbałość o ten detal poprawia dostępność strony i zwiększa jej widoczność w sieci. Opis towaru i kategorii możesz dodać w systemach Comarch ERP.  Opis kategorii możesz ustawić również z poziomu panelu administracyjnego, bez konieczności korzystania z systemu ERP. Szczegółowe informacje znajdują się w artykule: Jak edytować kategorię w Comarch e-Sklep? 

5. Dla zdjęć w Blogu

Obrazki, które dodawane są dla wpisów blogowych od wersji 2025.4 będą posiadały atrybuty ALT oraz Title. Ich uzupełnienie będzie możliwe przy przejściu z poziomu panelu administracyjnego Comarch e-Sklep do sekcji Marketing > Blog przy dodawaniu wpisu:

6. Dla zdjęć w plikach użytkownika w sekcji "Twoje pliki"

Pliki użytkownika w e-Sklepie to dedykowana przestrzeń do przechowywania własnych materiałów, które mogą zostać wykorzystane w sklepie internetowym. Pliki można przesyłać za pośrednictwem panelu administracyjnego, w sekcji Ustawienia > Twoje pliki. Maksymalny rozmiar pojedynczego pliku: 3 MB. Pliki, które dodawane są we wspomnianym obszarze, od wersji 2025.4 będą posiadały atrybuty ALT oraz Title. Ich uzupełnienie będzie możliwe przy przejściu z poziomu panelu administracyjnego do sekcji Ustawienia > Twoje pliki przy edycji pliku lub jego dodaniu.
Wskazówka
Jeśli posiadasz sklep wielojęzyczny, to we wszystkich tych wymienionych powyżej obszarach, znajdują się również obrazki dla danego języka. Pamiętaj, alby atrybut ALT zdefiniować dla każdego z nich!
 

Atrybut title - obowiązkowy czy nie?

Atrybut title jest przydatny do przekazywania dodatkowych informacji o elementach HTML, widocznych jako podpowiedź po najechaniu kursorem. Może być używany w ikonach bez podpisu, formularzach czy linkach, aby dostarczyć kontekst. Nie jest jednak obowiązkowy według WCAG, ponieważ czytniki ekranu często go ignorują, a osoby nawigujące klawiaturą mogą nie mieć do niego dostępu.  

Zalecenia dla udostępnianych treści - ogranicz migające elementy

Jako właściciel sklepu musisz sam zadbać o to, jakie treści umieszczasz na swojej stronie. Migające elementy, takie jak animacje czy reklamy, mogą wywoływać problemy u osób z padaczką fotogenną. Według kryteriów WCAG 2.1 zalecane jest ograniczenie migających treści do maksymalnie trzech błysków na sekundę lub ich całkowite usunięcie. Jako właściciel sklepu musisz dbać o statyczne elementy lub spokojne animacje. Również treści zawarte w różnego typu prospektach, gazetkach czy folderach informacyjnych w formie dokumentów powinny być zgodne z wytycznymi WCAG.

1.Obrazki i bannery

W szablonach graficznych takie elementy mogą pojawić się na przykład w bannerach i elementach tekstowych ze zdjęciem. Upewnij się, że grafiki tam zamieszczone są odpowiednie, czyli bez intensywnych animacji i nieodpowiednich kolorów. Szczególną uwagę zwróć na pliki w formacie GIF. Sprawdź, w jaki sposób możesz skonfigurować bannery oraz elementy tekstowe ze zdjęciem.  

2.Materiały audio i viedo

Aby sklep internetowy był w pełni dostępny zgodnie z WCAG, właściciele muszą zadbać o dodanie audiodeskrypcji i transkrypcji do materiałów multimedialnych (filmy, nagrania dźwiękowe). Choć oba rozwiązania służą poprawie dostępności, mają różne funkcje.
  • Audiodeskrypcja to dodatkowy opis dźwiękowy, który przedstawia istotne elementy wizualne nagrania osobom niewidzącym,
  • Transkrypcja to zapis tekstowy całej treści audio, umożliwiający odbiór treści osobom niesłyszącym, może to być w formie napisów dla audiodeskrypcji.
Dodanie tych elementów leży po stronie właścicieli sklepów. Do filmów, które udostępniasz, dodaj zatem widoczne napisy, a także dobrej jakości opis dźwiękowy. Ich brak może wykluczyć część użytkowników i wpłynąć na komfort korzystania ze strony. Dobre praktyki dostępności to nie tylko wymóg, ale też inwestycja w lepsze doświadczenie klientów.

Dostosuj komunikację mailową - aktualizacja lub zmiana treści e-mail

Dostosowanie treści e-mail zgodnie z wytycznymi WCAG to kluczowy krok w budowaniu dostępnej i klarownej komunikacji. W tej części artykułu przedstawiamy rozwiązania zarówno dla domyślnych wiadomości, jak i tych modyfikowanych, aby zapewnić ich lepszą czytelność i dostępność dla wszystkich odbiorców.

1.Treści mailowe są domyślne, nie zostały sformatowane

Jeśli treści nie zostały przez Ciebie zmienione i stanowią domyślne treści, które są dostępne w Comarch e-Sklep, to wystarczy, że zaktualizujesz je. Aby to zrobić, należy przejść w panelu administracyjnym do zakładki Ustawienia > Treści formalne, a następnie wybrać „Wysyłka e-mail i SMS”. Zakładka ta zawiera treści wiadomości wysyłane do klientów po wykonaniu określonych akcji, np. po zakupie czy rejestracji. W Comarch e-Sklep istnieje możliwość przywrócenia standardowej treści pojedynczej wiadomości e-mail lub wszystkich jednocześnie. Opcja ta stanowi również aktualizację treści e-mail. "Przywróć domyślną treść" dostępna jest w panelu administracyjnym e-Sklepu w menu Ustawienia/ Treści formalne/ Wysyłka e-mail i SMS na szczegółach każdej wiadomości, po kliknięciu w przycisk Więcej:  

2.Treści mailowe są modyfikowane, zostały przeze mnie zmienione

Jeśli posiadasz własne, dostosowane do Twojej komunikacji marketingowej treści e-mail, to sprawdź, czy są one odpowiednio napisane i sformatowane. Zastosuj się do poniższych wskazówek. W jaki sposób poprawnie napisać i sformatować treści?
  • Struktura Stosuj nagłówki (<h1>, <h2> itd.) dla przejrzystości. Używaj krótkich akapitów i list punktowanych.
  • Tekst i formatowanie Zapewnij wysoki kontrast między tekstem a tłem. Wybieraj czytelne czcionki (sans-serif, min. 12-14 px). Nie używaj wyłącznie koloru do przekazywania informacji.
  • Obrazy i multimedia Dodawaj tekst alternatywny (alt text) do obrazów. Unikaj tekstu osadzonego w grafikach, jeśli można go przesłać jako tekst.
  • Linki i przyciski Stosuj opisowe teksty linków zamiast „Kliknij tutaj”. Upewnij się, że są łatwe do kliknięcia na ekranach dotykowych.
  • Język i czytelność Używaj prostego i zrozumiałego języka. Unikaj skrótów i branżowego żargonu, jeśli odbiorca może ich nie znać.
  • Testowanie Sprawdź wiadomość na różnych urządzeniach i czytnikach ekranu. Zweryfikuj zgodność ze standardami WCAG.
Szczegółowe informacje na temat edycji treści e-mail znajdują się a artykule: E-mail i SMS  

3.Załączniki (m.in. instrukcje, katalogi)

Należy zadbać o to, aby wszystkie udostępniane w sklepie załączniki, takie jak instrukcje czy katalogi, były zgodne z wytycznymi WCAG, zapewniając tym samym ich pełną dostępność dla wszystkich użytkowników.  

Dodatkowe narzędzia pomocne przy wdrażaniu WCAG

Przystosowanie e-Sklepu do wymogów nie musi wiązać się z dużymi wydatkami na zmiany w kodzie. Kluczowe aspekty dostępności można wdrożyć samodzielnie, wykorzystując opcje dostępne w systemach Comarch ERP, a także Kreatorze Wyglądu czy Panelu Administracyjnym. Warto pamiętać, że poprawa dostępności to nie tylko obowiązek wynikający z przepisów, ale także realna szansa na zwiększenie grona klientów oraz podniesienie komfortu ich zakupów. Istnieje kilka ogólnodostępnych narzędzi, które pomogą Ci dostosować sklep do wymogów. Obszerna lista narzędzi do oceny dostępności stron internetowych, zgodnych z WCAG znajduje się na stronie: Web Accessibility Evaluation Tools List .  

Podsumowanie

Dostępność cyfrowa to nie jednorazowe przedsięwzięcie, lecz ciągły rozwój i udoskonalanie. Regularne sprawdzanie funkcjonalności, optymalizacja elementów wizualnych i dostosowywanie sposobów interakcji pozwalają na stałe podnoszenie jakości doświadczeń użytkowników. Dążenie do pełnej zgodności ze standardami WCAG 2.1/2.2 oraz wymogami Europejskiego Aktu o Dostępności (EAA) nie tylko ułatwia nawigację wszystkim odwiedzającym, ale także buduje pozytywny wizerunek i wzmacnia pozycję na rynku. Wdrażanie kolejnych usprawnień to inwestycja w przyszłość, która przynosi korzyści zarówno właścicielom, jak i ich klientom.

Jak skonfigurować mapę strony (sitemap)?

Wstęp

Mapa strony (sitemap) to spis wszystkich zakładek i podstron dostępnych na stronie internetowej. Dobrze zaplanowana ułatwia nawigację i sprawia, że odwiedzający szybciej znajdują to, czego szukają. Czy warto dostosować mapę strony do swoich potrzeb? Tak! Powinna ona pasować do typu strony i jej użytkowników. Przykładem może być wyróżnienie kategorii produktów, a w przypadku bloga – tematycznych artykułów. Dzięki dobrze zorganizowanej mapie strony, Google może szybciej zrozumieć strukturę strony, co zwiększa jej szanse na lepszą pozycję w wynikach wyszukiwania. W Comarch e-Sklep możesz w prosty sposób stworzyć mapę strony, dopasowaną do potrzeb Twoich Klientów. Opcja ta dostępna jest w każdym z gotowych szablonów B2B oraz B2C: Rubin, Szafir, Topaz, One Page Shop i Dla Gastronomii. Domyślnie, odnośnik do mapy strony znajduje się w stopce.

Jak skonfigurować mapę strony?

Przejdź do panelu administracyjnego Comarch e-Sklep, a następnie do sekcji: Wygląd sklepu > Ustawienia. Wybierz zakładkę "Mapa strony". Przy pierwszym przejściu do obszaru, mapa strony będzie częściowo skonfigurowana.
Widok panelu administracyjnego
Widok konfiguracji mapy strony z poziomu panelu administracyjnego
Domyślnie w grupie "Strony". znajdują się wszystkie strony statyczne czyli te, które dostępne są w Twoim e-Sklepie. Nie są w nich uwzględnione np. kategorie produktów. Grupę tę możesz edytować. Najedź myszką na kafel, a następnie edytuj go: Podczas edycji w panelu administracyjnym wyświetli się obszar, w którym możliwe jest dokonanie zmian. Możesz zdecydować, czy do grupy stron dodasz już istniejącą stronę ze sklepu, czy stronę zewnętrzną. Jeśli posiadasz w niej już strony, to możesz je również usunąć. Możesz również dodać własną Grupę stron. Aby to zrobić, należy wybrać sekcję „ Dodaj grupę stron " : Na początku należy ustalić nazwę dla grupy stron: Podczas edycji w panelu administracyjnym wyświetli się obszar, w którym możliwe jest dodanie strony zewnętrznej lub istniejącej strony ze sklepu. Po określeniu, jakie strony powinny się wyświetlać, zmiany należy zapisać i opublikować.
Przykład mapy strony w szablonach B2C
   

Szablony dla zaawansowanych

Silnik szablonów graficznych

Liquid to nowy silnik szablonów graficznych, dostępny w Comarch e-Sklep, który pozwala swobodnie modyfikować interfejs sklepu internetowego. Wykorzystuje kombinacje instrukcji, obiektów, filtrów i akcji aby dynamicznie budować strukturę strony. Dzięki silnikowi Liquid można w dowolny sposób budować listę towarów, szczegóły produktu, proces zamówienia oraz wiele innych elementów dostępnych w Comarch e-Sklep. Poniżej przedstawione zostało kilka przykładów wykorzystania silnika Liquid. Wypisanie nazw produktów promocyjnych {% for product in newproducts.Products -%} {{ product.Name }} {% endfor -%}   Wyświetlenie obrazków zawartych w banerze {% for slide in config.Banners['slider'].Images -%} <img title="{{slide.Title}}" src="{{slide.Url}}" alt="{{slide.Alt}}" /> {% endfor -%}   Prosty formularz logowania <form method="POST" id="loginForm"> <input name="email" type="email" placeholder="Podaj email" required/> <input name="password" type="password" placeholder="Podaj hasło" required/> <input name="__csrf" type="hidden" value="{{ page.CSRF }}"/> <input name="__action" type="hidden" value="Customer/Login"/> <button type="submit">Zaloguj</button> </form>   Prosty formularz logowania z obsługą po stronie JavaScript <form method="POST" id="loginForm"> <input name="email" type="email" placeholder="Podaj email" required/> <input name="password" type="password" placeholder="Podaj hasło" required/> <input name="__csrf" type="hidden" value="{{ page.CSRF }}" required/> <button id="loginAction" type="submit">Zaloguj</button> </form> <script> $('#loginAction').on('click', function(){ var data = $('#loginForm').serializeArray(); data.push({name: "__action", value: "Customer/Login"}); $.post(location.href, data).then(function(response) { if(response.action.Result) { console.log('udało się zalogować') } else { console.log('nie udało się zalogować'); } }); }); </script>  
Wskazówka
W powyższym przykładzie wykorzystana została popularna biblioteka jQuery. Nie jest ona jednak konieczna by korzystać z silnika Liquid.

Składnia języka liquid

Składnia języka Liquid

Rodzaje znaczników

Składnia silnika Liquid zawiera dwa typy znaczników. Znacznik wypisujący dane oraz znacznik sterujący. Znacznik wypisujący dane stosowany jest do wypisywania wartości zmiennych lub wyrażeń, również z zastosowaniem filtrów. {{customer.Email}} {{customer.Email | Upcase}} Filtry mogą przyjmować parametry, które podawane są wewnątrz znaczników wypisujących. {{3 | Plus: 3}} {{3 | Plus: 3 | Minus: 2}} Drugi typ znacznika jest stosowany dla operacji sterujących, m.in. instrukcji warunkowych, pętli itp. {% if customer.Authenticated -%} Gratuluję! Masz tutaj dostęp {% endif -%} {% unless customer.Company %} Nie jesteś firmą {% endunless %}
Uwaga
UWAGA W powyższym przypadku można zauważyć zamknięcie znacznika na dwa różne sposoby: z myślnikiem lub bez. Zalecane jest zamknięcie znacznika z użyciem myślnika, ponieważ instrukcja nie doda wtedy znaku nowej linii do kodu HTML. Jest to szczególnie ważne przy pętlach zawierających dużą ilość iteracji.

Operatory

= przypisanie
== równy
> większy
>= większy lub równy
< mniejszy
<= mniejszy lub równy
and koniunkcja
or alternatywa
!= różny
<> różny
contains zawiera ciąg
Wskazówka
Liquid nie posiada operatora negacji. Zamiast tego można skorzystać z instrukcji unless lub wyrażenia == false
Wskazówka
Liquid nie posiada operatorów arytmetycznych. Zamiast tego oferuje filtry: Plus, Minus, Times, DividedBy oraz Modulo.

Elementy silnika Liquid

Instrukcje sterujące

Instrukcje sterujące dodają do kodu HTML oraz CSS logikę charakterystyczną dla języków programowania. Wzbogacają statyczny kod strony o zmienne, instrukcje warunkowe, pętle oraz wstawki zewnętrznego fragmentu kodu.

Obiekty

Obiekty zawierają wszystkie dane sklepu internetowego. Można w nich znaleźć informacje dotyczące produktów, kategorii, konfiguracji sklepu oraz szablonu, a także dane klienta sklepu.
Wskazówka
Więcej na temat obiektów przeczytasz w artykule Dostępne obiekty.

Filtry

Filtry służą do formatowania danych oraz operacji arytmetycznych. Są używane w połączeniu z obiektami, aby zmienić sposób wyświetlania otrzymanych danych. {{config.Now}} {{config.Now | Date: "yyyy-MM-dd"}} {{config.Now | Date: "HH:mm"}} 2016-12-20 13:15:30 2016-12-20 13:15
Wskazówka
Więcej na temat filtrów można przeczytać w artykule Dostępne filtry

Akcje

Interfejs komunikuje się ze sklepem za pomocą akcji. Akcje aktualizują informacje w bazie danych oraz dane sesyjne. Można je zaimplementować za pomocą formularzy lub z użyciem zapytań AJAX. Proste logowanie utworzone za pomocą formularza <form id="loginForm" method="POST"> <input name="email" required="" type="email" placeholder="Podaj email" /> <input name="password" required="" type="password" placeholder="Podaj hasło" /> <input name="__csrf" type="hidden" value="{{ page.CSRF }}" /> <input name="__action" type="hidden" value="Customer/Login" /> <button type="submit">Zaloguj</button> </form> Proste logowanie napisane z użyciem zapytania AJAX <form id="loginForm" method="POST"> <input name="email" type="email" placeholder="Podaj email" required/> <input name="password" type="password" placeholder="Podaj hasło" required/> <input name="__csrf" type="hidden" value="{{ page.CSRF }}"/> <button id="loginAction" type="submit">Zaloguj</button> </form> <script> $('#loginAction').on('click', function(){ var data = $('#loginForm').serializeArray(); data.push({name: "__action", value: "Customer/Login"}); $.post(location.href, data).then(function(response){ if(response.action.Result) { console.log('udało się zalogować') } else { console.log('nie udało się zalogować'); } }); }); </script> Oprócz pól wymaganych przez akcję, każde zapytanie na serwer może zawierać parametry:
  • __collection – nazwa obiektu, który ma zostać zwrócony z serwera
  • __template – ścieżka pliku html, którego kod chcemy pobrać
  • __include – wartość zmiennej, jeżeli chcemy wstrzyknąć zmienną w pobrany kod html. Dozwolony jedynie typ prosty
Żaden z parametrów nie jest obowiązkowy, o ile nie wymaga go wykonywana akcja. Nic nie stoi na przeszkodzie, żeby pobrać sam obiekt, lub zwrócić tylko kod html. W odpowiedzi otrzymamy obiekt o parametrach:
  • action – informacje o rezultacie akcji lub null, jeżeli żadna akcja nie była wykonywana
  • collection – zwracany obiekt lub null, jeżeli żaden obiekt nie został zwrócony
  • template – kod html lub null, jeżeli żaden plik nie był pobierany
Parametr action może zawierać m.in. informacje o powodzeniu akcji, ewentualnym przekierowaniu oraz o rezultacie walidacji po stronie serwera. Dla przykładu, można następująco zmodyfikować skrypt odpowiedzialny za obsługę logowania: <script> $('#loginAction').on('click', function(){ var data = $('#loginForm').serializeArray(); data.push({name: "__action", value: "Customer/Login"}); $.post(location.href, data).then(function(response){ var actionResponse = response.action; console.log('Nazwa wykonanej akcji', actionResponse.Action); console.log('Czy wykonało się poprawnie?', actionResponse.Result); console.log('Rezultat walidacji serwerowej', JSON.stringify(actionResponse.Validation)); }); }); </script> Rezultat operacji w przypadku niepoprawnych danych wyglądać będzie następująco: Nazwa wykonanej akcji Customer/Login Czy wykonało się poprawnie? false Rezultat walidacji serwerowej [{ "Field":"email", "Error":"E-mail: Format jest nieprawidłowy" }] Natomiast zapytanie z poprawnymi danymi zrwóci: Nazwa wykonanej akcji Customer/Login Czy wykonało się poprawnie? true Rezultat walidacji serwerowej null Za pomocą jednego zapytania można pobrać wiele obiektów, oddzielając je znakami |. Nie zaleca się stosowania spacji między znakami, ponieważ znajdą się one w nazwie obiektów, co może generować niespodziewane błędy. $.get(location.href, {__collection:'page.Language|customer.Currency'}).then(function(response){ var objs = response.collection; console.log('Język', objs['page.Language']); console.log('Waluta', objs['customer.Currency']); }); Język pl Waluta PLN
Wskazówka
Więcej o akcjach możesz przeczytać w artykule Dostępne akcje.

Pliki szablonu

Pliki szablonu

Pliki szablonu dostępne są w panelu administracyjnym lub poprzez narzędzie Comarch e-Sklep Liquid Sync. W panelu sklepu należy przejść do sekcji Wygląd sklepu/Ustawienia w menu więcej należy wybrać opcję Edytuj ustawienia zaawansowane w tej sekcji ponownie wybieramy menu więcej i wybieramy opcję Edytuj HTML. W szablonie wykorzystywane są pliki:
  • z arkuszami stylów
  • graficzne
  • skryptów
  • pozostałe pliki
Pliki szablonu grupowane są katalogach systemowych oraz katalogach użytkownika. Dopuszczalne rozszerzenia plików:
  • z arkuszami stylów: .css
  • graficzne: .gif, .jpg, .jpeg, .png, .ico
  • skryptów: .js
  • pozostałe pliki: .htm, .html, .liquid
  Dopuszczalne znaki w nazwach plików:
  • liczby: 0-9
  • małe litery: a-z (bez znaków diaktrycznych)
  • znaki specjalne: łącznik, znak podkreślenia, kropka
  W trakcie wgrywania pliku z dysku duże litery znajdujące się w nazwach plików (i katalogów) zostaną automatycznie zamienione na małe litery. Znaki specjalne inne niż wskazane zostaną zamienione na znak podkreślenia.

Pliki w szablonie muszą być poprawnie kodowane. Kodowanie UTF-8 bez BOM. Pliki nie mogą zawierać znaków kontrolnych.

Nazwy plików i katalogów zaczynających się od „__” (dwa znaki podkreślenia) są zastrzeżone dla Comarch. Katalogi i pliki z taką nazwą pełnią specjalne funkcje w szablonie lub narzędziach do zarządzania szablonem.

Struktura katalogów

Katalogi „systemowe” Struktura katalogów „systemowych” w szablonie Pliki szablonu: 1 - Struktura katalogów systemowych W katalogu css należy dodać pliki z arkuszami stylów wykorzystywanych w szablonie. W katalogu css/img należy dodać pliki graficzne wykorzystywane w szablonie. W katalogu js należy dodać pliki skryptów wykorzystywane w szablonie. W katalogu ROOT należy dodać pozostałe pliki wykorzystywane w szablonie (strony, wstawki). Pliki szablonu: 2 - Katalog root

Pliki szablonu z arkuszami stylów, graficzne i skryptów muszą znajdować się we wskazanych powyżej katalogach. W przeciwnym wypadku nie będą poprawnie interpretowane przez przeglądarki internetowe.

Katalogi użytkownika Struktura katalogów użytkownika jest dowolna. Należy przestrzegać, by liczba poziomów zagnieżdżeń była ograniczona do niezbędnego minimum. Zbytnio rozbudowana struktura katalogów może nie być wspierana w narzędziu do synchronizacji szablonów. Dopuszczalne znaki w nazwach katalogów:
  • liczby: 0-9
  • małe litery: a-z (bez znaków diaktrycznych)
  • znaki specjalne: łącznik, znak podkreślenia
 

Pliki użytkownika w sklepie

W szablonie można korzystać z plików użytkownika (Katalog usr/*). Należy jednak mieć na uwadze, że pliki użytkownika:
  • nie będą importowane z pliku z szablonem stron
  • nie będą eksportowane do pliku z szablonem stron
W szablonie nie wolno korzystać z plików znajdujących się w katalogach:
  • Katalog App_Themes/
  • Katalog view/
  • Katalog scripts/
  • Katalog images/
  • Katalog t/
  • Katalog m/
  • Katalog fb/
  Katalogi te zawierają elementy wyglądu dotychczasowych szablonów (bez technologii Liquid).

Plik __settings.liquid

Plik __settings.liquid wykorzystywany jest do budowy interfejsu graficznego do zmiany ustawień szablonu.Plik ten przygotowuje autor szablonu.
Wymagania dla nakładki na ustawienia:
  • Nazwa pliku to __settings.liquid
  • Plik implementuje funkcję __SaveLiquidSettings(). Funkcja ta zwraca obiekt js, z którego zostaną zapisane ustawienia. Właściwości tego obiektu mogą zawierać tylko typy proste i tablice. Nie mogą natomiast zawierać obiektów.
__SaveLiquidSettings() Funkcja zwraca obiekt js, z którego zostaną zapisane ustawienia dla szablonu. Funkcja wywoływana jest automatycznie przy zapisie ustawień w panelu administracyjnym. Zapis ustawień w panelu odbywa się poprzez naciśnięcie przycisku ZapiszPliki szablonu: 3 - Przycisk zapisz. Funkcja ma zwracać wszystkie ustawienia, zarówno te zmienione oraz te niezmienione przez użytkownika. Przykład zawartości pliku __settings.liquid <style> .settings { height: 100px; width: 300px; border: solid 1px #000000; padding: 8px; margin: 8px; } </style> <div class="settings"> color1: <input name="color1" type="color" value="{{settings.color1}}" /> color2: <input name="color2" type="color" value="{{settings.color2}}" /> </div> <script> function __SaveLiquidSettings() { var o = {}; //zebranie wszystkich ustawień i zbudowanie z nich obiektu. //przykładowa implementacja: $(".settings input").each(function (el, el2) { o[el2.name] = el2.value; }); return o; } </script>

Liquid w wydrukach

Szablony wydruków

Comarch e-Sklep umożliwia kontrahentom drukowanie złożonych zamówień lub reklamacji. Szablony wydruków można tworzyć w panelu administracyjnym. Szczegółowy opis obszaru wydruków w panelu e-Sklep można znaleźć w artykule Wydruki, natomiast poniżej omówiony zostanie sposób tworzenia własnych szablonów wydruków za pomocą technologii HTML, CSS, oraz składni Liquid. Wydruk powinien posiadać konstrukcję typowej strony HTML, czyli zawierać wszystkie wymagane znaczniki HTML. Styl css powinien być umieszczony w pliku wydruku, bez ładowania z zewnątrz. W wydrukach można korzystać również z instrukcji sterujących, filtrów, oraz wybranych obiektów silnika Liquid.

Wydruk zamówienia

W wydruku zamówienia dostępne są dwa obiekty:
  • order
  • config
Order jest odpowiednikiem obiektu lokalnego customerprofile.Order, czyli obiektu przechowującego zamówienie w profilu klienta. Dokładny opis obiektu znajduje się w artykule Obiekty lokalne. Obiekt config jest opisany w artykule Obiekty globalne. Obiekty dostarczają do wydruku dane zamówienia, zamawiającego oraz sklepu.

Wydruk reklamacji i zwrotu

W wydruku reklamacji i zwortu są dostępne trzy obiekty: 
  • complaint
  • customer
  • config
Complaint jest odpowiednikiem obiektu lokalnego customerprofile.Complaint, który przechowuje zwrot lub reklamację w profilu klienta. Strukturę tego obiektu można zobaczyć w artykule Obiekty lokalne. Opis obiektów customer oraz config znajduje się w artykule Obiekty globalne. Obiekty zawierają dane reklamacji lub zwrotu, dane sklepu, oraz dane użytkownika składającego reklamację lub zwrot.

Przykład użycia

Poniżej przedstawiony został minimalistyczny przykład wydruku zamówienia.
<!DOCTYPE html> <html> <head> <title>Zamówienie nr {{ order.Id }} - {{ config.ShortName }} - {{ config.Url }}</title> </head> <style> html { font-size:14px; } body { font-family:Helvetica; } .print { font-size:1.5rem; color: #3F51B5; cursor:pointer; font-weight:700; } @media print { .print { display:none; } } </style> <body> <h1>Zamówienie nr {{ order.Id }}</h1> <p>{{ order.Date }}</p> <h2>Sprzedawca</h2> <p>{{ config.Shop.ShortName }}</p> <p>{{ config.Shop.Name }}</p> <h2>Nabywca:</h2> <p>{{ order.Customer.DeliveryAddress.Name }} {{ order.Customer.DeliveryAddress.Name2 }}</p> <h2>Dostawa i płatność</h2> <p> {{ order.Delivery.Name }} ({{ order.Delivery.TotalValue | ToPrice }} {{order.Currency}}), {{ order.Payment.Name }} ({{ order.Payment.TotalValue | ToPrice }} {{order.Currency}}), </p>    <h2>Produkty</h2> {% for poduct in order.Products -%} <p> {{ poduct.NameNoHtml }} | {{ poduct.Quantity }} x {{ poduct.TotalPrice|ToPrice }} {{order.Currency}} | {{ poduct.TotalValue|ToPrice }} {{order.Currency}} </p> {% endfor -%} <h2>Razem</h2> <p>{{order.OrderTotalValue | ToPrice}} {{order.Currency}}</p> <span class="print" onclick="window.print();"> Drukuj </span> </body> </html>  
Strona wydruku zamówienia będzie wyglądać w następujący sposób:Strona z wydrukiem zamówienia Podgląd wydruku w przeglądarce Chrome, który wyświetli się po klinięciu Drukuj, będzie wyglądał jak poniżej. Podgląd wydruku zamówienia

Obiekty globalne

Obiekty globalne dostępne są domyślnie na wszystkich stronach sklepu. Nie wymagają aktywacji.

Config

Obiekt udostępnia konfigurację sklepu. Nazwa zmiennej globalnej: config. Obiekt zawiera następujące właściwości:
config.Application config.Footer
config.AuthenticatedOnly config.GTM
config.B2B config.GTMHead
config.Banners.Nazwa config.Languages
config.CompanyOnly config.Lookbook
config.Complaints.Nazwa config.Messages.Nazwa
config.Contact config.Now
config.Countries.Nazwa config.Orders
config.Currencies config.Pages
config.DecimalPlacesPrice config.Products.Nazwa
config.DecimalSeparator config.Registration.Nazwa
config.DecimalThousandsSeparators config.Reviews.Nazwa
config.DefaultCountry config.Shop.Nazwa
config.DefinedPages.NazwaStrony config.Stock.Nazwa
config.ENTERPRISE config.TOS.Nazwa
config.External config.Tags.Nazwa
 

Page

Obiekt udostępnia informacje o aktualnej stronie. Nazwa zmiennej globalnej: page. Obiekt zawiera następujące właściwości:
page.BaseHref page.LinkNext
page.Breadcrumbs page.LinkPrev
page.CSRF page.MetaDescription
page.CanonicalLink page.MetaKeywords
page.Cookies page.MetaTitle
page.CurrentGroupNodes page.Objects
page.CurrentSiteNode.Nazwa page.POST
page.FbDL page.PageId
page.GET page.PageKey
page.GtmDL page.ParentSiteNode.Nazwa
page.GroupId page.ProductId
page.GroupNodes page.QueryString
page.HiddenPrices page.TemplateInclude
page.IsHttp404 page.TemplateName
page.Language page.Url
page.LanguageId page.UrlRaw
 

Usr

Obiekt udostępnia informacje o zalogowanym użytkowniku. Nazwa zmiennej globalnej: usr. Obiekt zawiera następujące właściwości:
usr.Authenticated usr.IsAdmin
usr.Email
 

Customer

Obiekt udostępnia informacje o kontrahencie w sklepie (jednorazowy lub zalogowany). Nazwa zmiennej globalnej: customer. Obiekt zawiera następujące właściwości:
customer.Address customer.Employee
customer.Attributes customer.HidePrices
customer.Authenticated customer.Invoice
customer.Cart customer.NewsletterSubscriber
customer.Carts customer.PaymentDueDays
customer.Companies customer.Points
customer.Company customer.PriceId
customer.CompanyErpId customer.ReviewAuthor
customer.CompanyId customer.SSN
customer.ComparisonToolItems customer.SubtotalPrices
customer.CreditLimit customer.Supervisor
customer.Currency customer.TIN
customer.CurrencyExt customer.UserId
customer.CustomerDetailsEditable customer.UserId32
customer.DeliveryAddress.Nazwa customer.VATEU
customer.Email customer.WishListCount
 

Currency

Obiekt udostępnia informacje o aktualnie wybranej walucie w sklepie (jest aliasem do właściwości customer.Currency). Nazwa zmiennej globalnej: currency.
Wskazówka
Obiekt ten nie posiada właściwości - zawsze zwraca on używaną walutę (string).
 

Translations

Obiekt udostępnia tłumaczenia fraz dostępne w sklepie. Nazwa zmiennej globalnej: translations.
Wskazówka
Każdy szablon zawiera standardowe tłumaczenia. Zawierają one Key(id) oraz wartość przypisaną danemu tłumaczeniu dla konkretnego języka.
 

Settings

Obiekt udostępnia ustawienia danego szablonu w sklepie. Nazwa zmiennej globalnej: settings. Użycie tego obiektu umożliwia dokonywanie pewnych zmian w sklepie bez ingerencji w kod (np. zmiana kolorów).
Wskazówka
Właściwości tego obiektu, można znaleźć w Panelu Administracyjnym w zakładce Ustawienia(JSON). Można je dodawać, edytować i usuwać bezpośrednio w tej zakładce, lub z poziomu graficznej nakładki, za którą odpowiada plik __settings.liquid.
 

 __action

Obiekt udostępnia informacje związane z wykonaną akcją. Nazwa zmiennej globalnej: __action. Dla akcji wykonywanych w AJAX nazwa obiektu: action.  

__actionGET

Obiekt udostępnia informacje związane z wykonaną akcją na podstawie parametrów przekazanych w linku. Link wysyłany jest mailem do użytkownika sklepu. Dotyczy akcji takich jak: aktywacja, deaktywacja newslettera, aktywacja konta, potwierdzenie zamówienia, itd. Nazwa zmiennej globalnej: __actionGET.  

 

Opis używanych obiektów globalnych:

 
config.Application
Obiekt (Object) zawiera informacje o używanej aplikacji. Właściwości:
  • Name (string) - nazwa oprogramowania,
  • Website (string) - adres z dodatkowymi informacjami.
 
 
config.AuthenticatedOnly
Pole (bool) - tylko zalogowani mają dostęp do sklepu.
 
 
config.B2B
Pole (bool) - sklep w wersji B2B.
 
 
config.Banners.Nazwa
Tablica obiektów (Object[]) - pojedynczy obiekt zawiera informacje o bannerze. Właściwości:
  • Images (Object[]) - pojedynczy obiekt zawiera informacje na temat użytego obrazu,   Właściwości:
    • Alt (string),
    • DateTill (string),
    • File (string),
    • Heading (string),
    • Id (int),
    • Link (string),
    • TargetBlank (bool),
    • Text (string),
    • Title (string),
    • Url (string).
  • Name (string) - nazwa banera,
  • TargetBlank (bool) - kliknięcie w baner z linkiem spowoduje otworzenie adresu w nowym oknie,
  • Type (string) - typ.
 
 
config.CompanyOnly
Pole (bool) - tylko firmy mają możliwość rejestracji.
 
 
config.Complaints.Nazwa
Obiekt (Object) zawiera informacje o ustawieniach związanych z reklamacjami. Właściwości:
  • AttachmentExtensions (string) - rozszerzenia załączonych plików,
  • AttachmentMaxSize (int) - maksymalny rozmiar pliku,
  • AttachmentEnabled (bool) - załączanie plików,
  • AttachmentMaxCount (int) - maksymalna ilość załączonych plików,
  • ComplaintsEnabled (bool) - składanie reklamacji,
  • DaysToReturn (int) - liczba dni na zwrot,
  • Defects (Object[]) - obiekt zawiera informacje na temat występującego defektu (np. wada konstrukcyjna),   Właściwości:
    • Id (int),
    • Name (string).
  • Requests (Object[]) - pojedynczy obiekt zawiera informacje na temat żądań związanych z przedmiotem (np. naprawa); analogicznie do Defects,
  • Returns (Object[]) - pojedynczy obiekt zawiera informacje na temat zwrotu; analogicznie do Defects,
  • ReturnsEnabled (bool) - zwrot towaru.
 
 
config.Contact
Obiekt (Object) zawiera informacje kontaktowe. Właściwości:
  • AttachmentExtensions (string) - rozszerzenia załączonych plików,
  • AttachmentMaxSize (int) - maksymalny rozmiar pliku,
  • AttachmentsEnabled (bool) - załączanie plików,
  • AttachmentsMaxCount (int) - maksymalna ilość załączonych plików,
  • Contacts (Object[]) - pojedynczy obiekt zawiera informacje na temat działu;.   Właściwości:
    • Id (int),
    • Name (string).
 
 
config.Countries.Nazwa
Tablica obiektów (Object[]) - pojedynczy obiekt zawiera informacje o ustawieniach danego kraju. Właściwości:
  • ISOCode (string) - kod kraju,
  • ISOCode3 (string) - kod kraju (3 znaki),
  • Name (string) - nazwa kraju,
  • RequiredFields (Object) - obiekt zawiera informacje odnośnie wymaganych pól,
  •   Właściwości:
    • City (bool),
    • Street (bool),
    • StreetNo (bool),
    • TIN (bool),
    • ZipCode (bool).
  • SSNRegex (string) - ustawienia Regex PESEL,
  • States (string[]) - spis województw,
  • TINRegex (string) - ustawienia Regex NIP,
  • ZipCodeFormat (string) - ustawienia kodu pocztowego,
  • ZipCodeRegex (string) - ustawienia Regex kodu pocztowego.
 
 
config.Currencies
Tablica obiektów (Object[]) - pojedynczy obiekt zawiera informacje o walutach. Właściwości:
  • BankAccount (Object) - obiekt zawiera informacje na temat konta bankowego,
    • AccountNumber (string) - numer konta,
    • Bank (string) - bank,
    • SWIFT (string) - numer KRS lub CEIDG, organ rejestrujący
  • Code (string) - kod waluty (np. EUR),
  • Symbol (string).
 
 
config.DecimalPlacesPrice
Pole (int) - ilość miejsc po przecinku dotyczących cen.
 
 
config.DecimalSeparator
Pole (string) - separator liczb dziesiętnych.
 
 
config.DecimalThousandsSeparators
Pole (string) - separator tysięczny (np. 5 600zł zamiast 5600zł).
 
 
config.DefaultCountry
Pole (string) - ustawiony kraj domyślny.
 
 
config.DefinedPages.NazwaStrony
Obiekt (Object) zawiera informacje o zdefiniowanych stronach. W skład stron wchodzą:
  • About (Object),
  • AdvancedSearch (Object),
  • Blog (Object),
  • BlogDetails (Object),
  • Brands (Object),
  • Complaints (Object),
  • Contact (Object),
  • ContinueShopping (Object),
  • CustomerProfile (Object),
  • Home (Object),
  • Http404 (Object),
  • Login (Object),
  • LookBook (Object),
  • Loyalty (Object),
  • Manufacturers (Object),
  • Order (Object),
  • PasswordReminder (Object),
  • Payment (Object),
  • Privacy (Object),
  • ProductComparisonTool (Object),
  • ProductDetails (Object),
  • ProductList (Object),
  • Registration (Object),
  • Shipping (Object),
  • Terms (Object),
  • UponLogging (Object),
  • WithdrawalRight (Object),
  • nonexistentgroup (Object),
  • nonexistentproduct (Object).
Każda strona posiada właściwości:
  • Name (string),
  • Heading,
  • Id (string),
  • Url (string).
 
 
config.ENTERPRISE
Pole (bool) - sklep w wersji Enterprise.
 
 
config.External
Obiekt (Object) zawiera informacje o integracjach z zewnętrznymi usługami. Właściwości:
  • Edrone (Object) - obiekt zawiera informacje komunikacyjne z systemem Edrone,   Właściwości:
    • AppId (string).
  • Facebook (Object) - obiekt zawiera informacje komunikacyjne z systemem Facebook,   Właściwości:
    • AppID (string).
  • Google (Object) - obiekt zawiera informacje komunikacyjne z systemem Google,   Właściwości:
    • ClientID (string).
  • SalesManago.
 
 
config.Footer
Obiekt (Object) zawiera informacje o stopce. Właściwości:
  • JoinUs (string[]) - pojedynczy łańcuch znakowy to link do portalu społecznościowego ustawiany w Panelu Administracyjnym,
  • Sections (Object[]) - pojedynczy obiekt zawiera informacje na temat stopki.   Właściwości:
    • Heading (string) - nagłówek,
    • Pages (Object[]) - pojedynczy obiekt zawiera informacje na temat odnośniku do stopki.
          Właściwości:
      • Heading - nagłówek,
      • Id (string) - id,
      • Name (string) - nazwa,
      • Url (string) - url.
 
 
config.GTM
Pole (string) - kod Google Tag Manager.
 
 
config.GTMHead
Pole (string) - kod Google Tag Manager umieszczany w sekcji 'head.
 
 
config.Languages
Obiekt (Object) zawiera informacje o ustawieniach wybranych języków. Właściwości:
  • Id (int) - id,
  • Language (string) - język,
  • Name (string) - nazwa.
 
 
config.Lookbook
Obiekt (Object) zawiera informacje o ustawieniach Lookbook. Właściwości:
  • Current,
  • List (Object[]).   Właściwości:
    • Images (Object[]) - pojedynczy obiekt zawiera informacje o obrazie,  
      • Alt (string),
      • DateTill (string),
      • File (string),
      • Heading (string),
      • Id (int),
      • JSON (string),
      • Link (string),
      • TargetBlank (bool),
      • Text (string),
      • Title (string),
      • Url (string).
    • Name (string),
    • TargetBlank (bool),
    • Text (string),
    • Type (string),
    • Url (string).
 
 
config.Messages.Nazwa
Tablica obiektów (Object[]) - pojedynczy obiekt zawiera informacje o wiadomości aplikacji. Może być wykorzystywany do wyświetlania treści, np. notyfikacja o wykorzystywaniu cookies. Właściwości:
  • Days (int) - liczba dni,
  • Id (string) - id,
  • Message (string) - treść,
  • Title (string) - tytuł,
  • Type (int) - typ,
  • Url (string) - adres Url.
 
 
config.Now
Pole (string) - obecny czas.
 
 
config.Orders
Obiekt (Object) zawiera informacje o atrybutach zamówienia. Właściwości:
  • AttachmentExtensions (string) - rozszerzenia załączonych plików,
  • AttachmentMaxSize (int) - maksymalny rozmiar pliku,
  • AttachmentEnabled (bool) - załączanie plików,
  • AttachmentMaxCount (int) - maksymalna ilość załączonych plików,
  • AttributesCart (Object) - obiekt zawiera informacje na temat atrybutów w zamówieniu,   Właściwości:
    • Header (Object[]) - pojedynczy obiekt zawiera informacje na temat atrybutu w nagłówku,   Właściwości:
      • Editable (bool) - edytowalność,
      • Format - rodzaj atrybutu,
      • Id - id,
      • Name (string) - nazwa,
      • Required (bool) - czy wymagany,
      • Values - wartości dla atrybutu typu lista.
    • Position (Object[]) - pojedynczy obiekt zawiera informacje na temat atrybutu na elemencie zamówienia; analogicznie do Header
  • AttributesEdit (Object) - obiekt zawiera informacje na temat atrybutów w profilu klienta na szczegółach zamówienia; analogicznie do AttributesCart
 
 
config.Pages
Obiekt (Objec) zawiera informacje o stronach użytych w sklepie. Właściwości:
  • Heading,
  • Id (string),
  • Name (string),
  • Url (string),
 
 
config.Products.Nazwa
Obiekt (Object) zawiera informacje o ustawieniach produktów. Właściwości:
  • ShowCode (bool) - wyświetlanie kodu produktu,
  • DecimalUnits (bool) - wyświetlanie wartości/liczb niecałkowitych.
 
 
config.Registration.Nazwa
Obiekt (Object) zawiera informacje o ustawieniach związanych z rejestracją. Właściwości:
  • AuthorizationRequired (bool) - wymagana autoryzacja,
  • Retail (Object) - obiekt zawiera informacje związane z rejestracją klienta prywatnego,   Właściwości:
    • AddressVisible (bool) - widoczny adres,
    • AddressRequired (bool) - wymagany adres,
    • PhoneVisible (bool) - widoczny telefon,
    • PhoneRequired (bool) - wymagany telefon.
  • Company (Object) - obiekt zawiera informacje związane z rejestracją klienta firmowego; analogicznie do Retail,
  • ConfirmationRequired (bool) - wymagane potwierdzenie,
  • Disabled (bool) - rejestracja,
  • ValidateTin (bool) - walidacja przy rejestracji.
 
 
config.Reviews.Nazwa
Obiekt (Object) zawiera informacje o ustawieniach odnośnie recenzji/opinii o towarze. Właściwości:
  • AuthenticationRequired (bool) - wymagane zalogowanie,
  • Enabled (bool) - recenzje,
  • OnlyPurchasedProducts (bool) - napisanie opinii/ocenianie tylko w przypadku kiedy produkt został wcześniej zakupiony,
  • Reviews (Object[])- pojedynczy obiekt zawiera informacje o ustawieniu systemu oceny,   Właściwości:
    • Rate (int) - ocena od 1 do 5,
    • Text (string) - opis słowny oceny.
 
 
config.Shop.Nazwa
Obiekt (Object) zawiera informacje o konfiguracji sklepu. Właściwości:
  • Address.Nazwa (Object) - obiekt zawiera informacje na temat konfiguracji danych adresowych sklepu,   Właściwości:
    • City (string),
    • Country (string),
    • Latitude (string),
    • Longitude (string),
    • State (string),
    • Street (string),
    • StreetNo (string),
    • UnitNo (string),
    • ZipCode (string).
  • Contact.Nazwa - obiekt zawiera informacje na temat kongifuracji danych kontaktowych sklepu,   Właściwości:
    • Email (string),
    • Fax (string),
    • GG (string),
    • GSM (string),
    • PhoneNo (string),
    • PhoneNo2 (string),
    • Skype (string),
  • Description (string) - opis sklepu,
  • ImageUrl (string) - nazwa użytego loga,
  • Name (string) - nazwa sklepu,
  • Registrant (string) - organ rejestrujący,
  • Regon (string) - numer Regon,
  • ShortName (string) - kod firmy,
  • TIN (string) - numer NIP,
 
 
config.Stock.Nazwa
Obiekt (Object) zawiera informacje o ustawieniach magazynowych. Właściwości:
  • Enabled (bool) - kontrola stanów magazynowych,
  • QuantityControl (bool) - kontrola ilości.
 
 
config.TOS.Nazwa
Obiekt (Object) zawiera informacje o zdefiniowanych treściach w Panelu Administracyjnym. Właściwości:
  • Consents (Object) - obiekt zawiera informacje na temat udzielonych zgód dla akcji,   Właściwości:
    • Newsletter (Object[]) - pojedynczy obiekt zawiera informacje na temat zgody (tablica dotyczy akceptacji polityki prywatności),   Właściwości:
      • Channels (Object[]),   Właściwości:
        • Id (int),
        • Key (string),
        • Name (string),
        • Type (int).
      • Contents,
      • Id (int),
      • PublishedDate (string),
      • Required (bool),
      • Statement (bool),
      • Text (string),
      • Type (string),
    • Order (Object[]) - pojedynczy obiekt zawiera informacje na temat zgody (tablica dotyczy odstąpienia od umowy); analogicznie do Newsletter,
    • Registration (Object[]) - pojedynczy obiekt zawiera informacje na temat zgody (tablica dotyczy otrzymywanie newslettera i akceptacji regulaminu); analogicznie do Newsletter,
    • Inquiries (Object[]) - pojedynczy obiekt zawiera informacje na temat zgody (tablica dotyczy zapytań ofertowych); analogicznie do Newsletter.
  • FormalContents.Nazwa (Object) - obiekt zawiera informacje wyświetlane na stronach, np. informacje o prawie do odstąpienia od umowy,   Właściwości:
    • About (Object),   Właściwości:
      • ContentHtml (string),
      • ContentPdfUrl,
      • Files,
      • Id (int),
      • Key (string),
      • Name (string),
      • PageId,
      • PublishedDate (string),
      • Type (int).
    • Complaints (Object); analogicznie do About,
    • Loyalty (Object), analogicznie do About,
    • Payment (Object), analogicznie do About,
    • Privacy (Object), analogicznie do About,
    • Shipping (Object), analogicznie do About,
    • Terms (Object), analogicznie do About,
    • WithdrawalRight (Object) analogicznie do About.
  • Pages.
 
 
config.Tags.Nazwa
Obiekt (Object) zawiera informacje o konfiguracji tagów. Właściwości:
  • Blog (Object[]) - pojedynczy obiekt zawiera informacje na temat tagu bloga,   Właściwości:
    • Text - nazwa,
    • Url - url do wszystkich postów z danym tagiem,
    • Weight - waga
  • Search (Object[]) - pojedynczy obiekt zawiera informacje na temat tagu wyszukiwania.
 
 
config.TemplateId
Pole (int) - id szablonu.
 
 
config.UniqueId
Pole (string) - unikalne id.
 
 
config.Url
Pole (string) - adres url sklepu.
 
 
config.VATEU
Obiekt (Object) zawiera informacje o konfiguracji VATEU. Właściwości:
  • ISOCode (string),
  • Name (string),
  • Value (string).
 
 
config.Version
Pole (string) - wersja sklepu.
 
 
page.BaseHref
Pole (string) - podstawowy adres strony (bez obecnej podstrony - jedynie główny odnośnik do strony głównej).
 
 
page.Breadcrumbs
Tablica obiektow (Object[]) - pojedynczy obiekt zawiera informacje o breadcrumbs danej strony. Właściwości:
  • Heading - nagłówek,
  • Id (string) - numer id,
  • Name (string) - nazwa,
  • Url (string) - adres url,
 
 
page.CSRF
Pole (string) - wygenerowany token.
 
 
page.CanonicalLink
Pole (string) - pełny adres strony, na której znajduje się użytkownik.
 
 
page.Cookies
Obiekt (Object) zawiera informacje o cookies.
 
 
page.CurrentGroupNodes
Obiekt (Object) zawiera informacje o kategorii.
 
 
page.CurrentSiteNode.Nazwa
Obiekt (Object) zawiera informacje o przeglądanej stronie. Właściwości:
  • Heading,
  • Id (string),
  • Name (string),
  • Url (string),
  • Count (int) - występuje w szczegółach towaru,
  • HasChildren (bool) - występuje w szczegółach towaru,
  • ImageId (int) - występuje w szczegółach towaru,
  • Image (Object) - obiekt zawiera informacje na temat zdjęcia; występuje w szczegółach towaru.   Właściwości:
    • ExternalUrl (string),
    • Id (int),
    • Link (string).
 
 
page.FbDL
Pole (string).
 
 
page.GET
Obiekt (Object) zawiera informacje pobrane GETem.
 
 
page.GtmDL
Pole (string) - Google Tag Manager.
 
 
page.GroupId
Pole (int) - id grupy.
 
 
page.GroupNodes
Obiekt (Object) zawiera informacje o kategoriach dostępnych w sklepie. Właściwości:
  • Count (int),
  • HasChildren (bool),
  • Heading,
  • Id (string),
  • Image (Object) - obiekt zawiera informacje na temat zdjęcia,   Właściwości:
    • ExternalUrl (string),
    • Id (int),
    • Link (string).
  • ImageId (int),
  • Name (string),
  • Nodes (Object) - analogicznie do GroupNodes, lecz bez właściwości Nodes,
  • Url (string).
 
 
page.HiddenPrices
Pole (bool) - widoczna cena.
 
 
page.IsHttp404
Pole (bool) - zawiera informacje czy strona jest stroną błędu 404.
 
 
page.Language
Pole (string) - język strony.
 
 
page.LanguageId
Pole (int) - język strony.
 
 
page.LinkNext
Pole (string) - następna strona w historii przeglądarki.
 
 
page.LinkPrev
Pole (string) - poprzednia strona w historii przeglądarki.
 
 
page.MetaDescription
Pole (string) - meta-tagi użyte w tekście źródłowym strony.
 
 
page.MetaKeywords
Pole (string) - słowa kluczowe użyte na stronie.
 
 
page.MetaTitle
Pole (string) - tytuł strony.
 
 
page.Objects
Obiekt (Object) zawiera informacje o obiektach lokalnych dostępnych na stronie.
 
page.POST
Obiekt (Object) zawiera informacje o elementach wysłanych POSTem.
 
page.PageId
Pole (int) - id przeglądanej strony.
 
 
page.PageId
Pole (string).
 
 
page.ParentSiteNode.Nazwa
Obiekt (Object) zawiera informacje o stronie nadrzędnej do tej, którą obecnie przeglądamy. Właściwości:
  • Id (string) - numer id,
  • Name (string) - nazwa,
  • Heading - tytuł,
  • Url (string) - adres url.
 
 
page.ProductId
Pole (int) - id towaru (występuje na stronie ze szczegółami towaru).
 
 
page.QueryString
Pole (string) - zawartość GET z url (np. treść wpisana do wyszukiwarki).
 
 
page.TemplateInclude
Pole (string) - wartość wpisywana w PA dla konkretnej strony.
 
 
page.TemplateName
Pole (string) - nazwa pliku html.
 
 
page.Url
Pole (string) - adres url przeglądanej strony.
 
 
page.UrlRaw
Pole (string) - adres url przeglądanej strony wraz z dodatkowymi parametrami (takimi jak np. wyszukiwana fraza).
 
 
usr.Authenticated
Pole (bool) - zalogowany użytnownik.
 
 
usr.Email
Pole (string) - adres email użytkownika.
 
 
usr.IsAdmin
Pole (bool) - użytkownik z uprawnieniami administratora.
 
 
customer.Address
Obiekt (Object) zawiera informacje o adresie klienta. Właściwości:
  • City (string),
  • Country (string),
  • Email (string),
  • Name (string),
  • Name2 (string),
  • Name3 (string),
  • PhoneNo (string),
  • State (string),
  • StreetNo (string),
  • UnitNo (string),
  • ZipCode (string),
 
 
customer.Attributes
Obiekt (Object) zawiera informacje o atrybutach.
 
 
customer.Authenticated
Pole (bool) - zalogowany użytkownik.
 
 
customer.Cart
Obiekt (Object) zawiera informacje o przedmiotach w koszyku. Właściwości:
  • CartEmpty (bool) - pusty aktywny koszyk klienta,
  • Count (int) - liczba przedmiotów w koszyku,
  • Currency (string) - waluta,
  • CurrencyExt (Object),   Właściwości:
    • Code (string),
    • Symbol (string).
  • Discount (float) - zniżka,
  • EditedOrderId (int) - id zamówienia aktualnie edytowanego (występuje kiedy koszyk ma produkty),
  • Email (string) - adres email,
  • Id (int) - id koszyka,
  • Inquiry (bool) - zapytanie ofertowe (występuje kiedy koszyk ma produkty),
  • Products (Object[]),   Właściwości:
    • AskForPrice (bool) - zapytanie odnośnie ceny,
    • AskForPriceId,
    • Code (string) - kod produktu,
    • DecimalPlacesPrice (int),
    • DecimalUnit (bool) - liczby całkowite dla jednostek,
    • DefaultGroup (int) - domyślna grupa,
    • Description (string),
    • GIdNumber (int),
    • Id (int) - id przedmiotu,
    • Image (Object) - obiekt zawiera informacje na temat zdjęcia,   Własciwości:
      • ExternalUrl (string),
      • Id (int),
      • Link (string).
    • ImageId (int) - id obrazu,
    • IsSetElement (bool) - przedmiot elementem zestawu,
    • IsSetParent (bool) - przedmiot przedmiotem głównym,
    • Link (string) - link produktu,
    • NameNoHtml (string) - nazwa produktu (bez znaczników HTML),
    • No (int) - numer przedmiotu w koszyku,
    • Price (decimal) - cena,
    • Quantity (int) - ilość,
    • SaleUnit (string) - jednostka sprzedażowa (np. para),
    • SubtotalPrice (decimal) - cena bez VAT,
    • TotalPrice (decimal) - cena całkowita,
    • Url (string) - url produktu.
  • Saved (int) - oszczędność,
  • SubtotalPrices (bool) - stawka VAT w cenie,
  • Value (decimal) - wartość,
  • ValueBeforeDiscount (decimal) - wartość przed obniżką,
 
 
customer.Carts
Tablica obiektów (Object[]) - pojedynczy obiekt zawiera informacje o elemencie w liście koszyków. Właściwości:
  • Count (int) - ilość przedmiotów w koszyku,
  • Current (bool) - aktywny,
  • EditedOrderId (int) - id edytowanego zamówienia,
  • Id (int) - id koszyka,
  • Inquiry (bool) - zapytanie ofertowe,
  • Name (string) - nazwa.
 
 
customer.Companies
Obiekt (Object) zawiera informacje o firmie. Właściwości:
  • Default (bool),
  • Id (int),
  • Name (string),
  • Name2 (string).
 
 
customer.Company
Pole (bool) - posiadacz konta firmowego.
 
 
customer.CompanyErpId
Pole (int) - id firmy klienta (w ERP).
 
 
customer.CompanyId
Pole (int) - id.
 
 
customer.ComparisonToolItems
Pole - przedmioty przechowywane w porównywarce towarów.
 
 
customer.CreditLimit
Obiekt (Object) zawiera informacje o limicie kredytowym. Właściwości:
  • Active (bool),
  • Flag (int),
  • Left (decimal),
  • OverdueActive (bool),
  • OverdueLeft (decimal),
  • OverdueUsed (decimal,
  • OverdueValue (int),
  • Status (int),
  • StatusText (string),
  • Used (decimal),
  • Value (int).
 
 
customer.Currency
Pole (string) - waluta klienta.
 
 
customer.CurrencyExt
Obiekt (Object). Właściwości:
  • Code (string),
  • Symbol (string).
 
 
customer.CustomerDetailsEditable
Pole (bool) - edytowalność danych klienta.
 
 
customer.DeliveryAddress.Nazwa
Obiekt (Object) zawiera informacje o adresie dostawy. Właściwości:
  • City (string),
  • Country (string),
  • Name (string),
  • Name2 (string),
  • Name3 (string),
  • PhoneNo (string),
  • State (string),
  • Street (string),
  • StreetNo (string),
  • UnitNo (string),
  • ZipCode (string).
 
 
customer.Email
Pole (string) - adres email klienta.
 
 
customer.Employee
Obiekt (Object) zawiera informacje o kliencie. Właściwości:
  • Email (string) - adres email,
  • LanguageId (int) - język,
  • Name (string) - nazwa,
  • Name2 (string) - dodatkowe pole nazwy,
  • Owner (bool),
  • PhoneNo (string) - numer telefonu.
 
 
customer.HidePrices
Pole (bool) - widoczność cen w sklepie.
 
 
customer.Invoice
Pole (bool) - otrzymanie faktury.
 
 
customer.NewsletterSubscriber
Pole (bool) - subskrybcja newslettera.
 
 
customer.PaymentDueDays
Pole (int) - termin płatności w dniach.
 
 
customer.Points
Pole (int) - punkty lojalnościowe klienta.
 
 
customer.PriceId
Pole (int) - id cennika (tylko w wersji Enterprise).
 
 
customer.ReviewAuthor
Pole (string) - nick wybrany przez klienta.
 
 
customer.SSN
Pole (string) - numer PESEL klienta.
 
 
customer.SubtotalPrices
Pole (bool) - cena z VAT.
 
 
customer.Supervisor
Obiekt (Object). Właściwości:
  • Email (string),
  • FirstName (string),
  • ImageUrl (string),
  • LastName (string),
  • PhoneNo (string).
 
 
customer.TIN
Pole (string) - numer NIP klienta.
 
 
customer.UserId
Pole (string) - id klienta.
 
 
customer.UserId32
Pole (string) - id klienta (z 64 znakami).
 
 
customer.VATEU
Pole (string) - numer VATEU.
 
 
customer.WishListCount
Pole (int) - liczba przedmiotów na liście życzeń/przechowalni użytkownika.
 

Panel Administracyjny - obiekty dostępne w wiadomościach E-mail

Niniejszy artykuł przedstawia wykaz obiektów, które użytkownik ma do dyspozycji w wiadomościach e-mail. Obiekty te pozwalają na wysyłanie w wiadomościach e-mail do Klientów sprecyzowanych informacji dotyczących m.in. ich zamówienia. W artykule tym znajdzie się szczegółowy opis każdego obiektu oraz jego właściwości, a także informacja, które obiekty są obsługiwane w konkretnych typach maili.
Wskazówka
Lista wiadomości e-mail wraz z obsługiwanymi obiektami znajduje się na końcu artykułu.
Wskazówka
Niniejszy artykuł tworzony był w oparciu o sklep w wersji 2021. Starsze wersje sklepu mogą nie obsługiwać niektórych typów wiadomości lub niektórych obiektów!

config

Obiekt config jest podstawowym obiektem w wiadomościach e-mail. Zawiera informacje o ustawieniach sklepu, jego danych kontaktowych, ustawieniach itp. Dostępne właściwości:
  1. TOS - informacje o zgodach, regulaminach, zawiera:
    • FormalContents - treści formalne, zawiera:
        • Terms - regulamin sklepu, zawiera:
          • Id - numer id,
          • Type - typ,
          • Key - klucz,
          • Name - nazwa,
          • ContentHtml - treść w HTML,
          • ContentPdfUrl - adres URL do załączników w formacie PDF,
          • PublishedDate - data publikacji,
          • PageId - numer id podstrony,
          • Files - załączniki, zawiera:
            • Name - nazwa,
            • Url - adres URL załącznika,
      Wskazówka
      Pozostałe właściwości pola TOS zawierają te same pola, co powyższe pole config.TOS.FormalContents.
        • Privacy - polityka prywatności,
        • WithdrawalRight - prawo do odstąpienia od umowy,
        • About - informacje o sklepie,
        • Shipping - wysyłka,
        • Payment - płatność,
        • Complaints - reklamacje i zwroty,
        • Loyalty - program lojalnościowy,
      Wskazówka
      Oprócz powyższych, znajdują się tutaj także informacje dodane w Panelu Administracyjnym w polu Ustawienia -> Treści -> Regulamin i inne -> Użytkownika. Zawierają te same pola co powyższe.
  2. DecimalSeparator - separator liczb dziesiętnych,
  3. DecimalPlacesPrice - ilość cyfr po przecinku,
  4. DecimalThousandsSeparator - separator "tysięcy" - w jaki sposób oddzielane są kolejne 3 cyfry przed przecinkiem,
  5. B2B - czy sklep jest w wersji B2B,
  6. ENTERPRISE - czy sklep jest w wersji Enterprise,
  7. UniqueId - unikalny numer id,
  8. Url - adres URL sklepu,
  9. Version - aktualna wersja sklepu,
  10. CompanyOnly - jeśli true to zamówienie można złożyć tylko jako firma,
  11. AuthenticatedOnly - czy sklep dostępny jest tylko dla zalogowanych użytkowników,
  12. DefaultCountry - kraj domyślny,
  13. Countries - lista krajów, zawiera:
    • ISOCode - kod ISO,
    • ISOCode3 - kod ISO,
    • Name - nazwa kraju,
    • ZipCodeRegex - wzorzec do kodów pocztowych danego kraju,
    • ZipCodeFormat - format kodu pocztowego danego kraju,
    • SSNRegex - wzorzec do numeru PESEL,
    • TINRegex - wzorzec do NIPu,
    • States - zawiera listę województw,
    • RequiredFields - zawiera pola wymagane wraz z wartościami true (wymagane) lub false (nie jest wymagane):
      • City - miasto,
      • Street - ulica,
      • StreetNo - numer domu,
      • TIN - numer NIP,
      • ZipCode - kod pocztowy,
  14. Languages - tablica z językami. Każde pole tablicy zawiera:
    • Language - kod języka,
    • Name - nazwa języka,
    • Id - id języka,
  15. Products - zawiera ustawienia produktów wraz z wartościami true (włączone) lub false (wyłączone):
    • ShowCode - pokazywanie kodów,
    • DecimalUnits - jednostki dziesiętne,
  16. Reviews - opinie, zawiera:
    • Enabled - czy włączone,
    • AuthenticationRequired - czy do utworzenia opinii wymagane jest bycie zalogowanym,
    • OnlyPurchasedProducts - czy opinie można wystawić tylko zakupionym produktom,
    • Reviews - skala ocen - każdy element tablicy zawiera następujące pola:
      • Rate - ocena (cyfra),
      • Text - ocena (tekst),
  17. Registration - informacje dotyczące rejestracji, zawiera:
    • Retail - zawiera:
      • AddressVisible - czy adres jest widoczny,
      • AddressRequired - czy adres jest wymagany,
      • PhoneVisible - czy numer telefonu jest widoczny,
      • PhoneRequired - czy numer telefonu jest wymagany,
    • Company - konto firmowe, zawiera:
      • AddressVisible - czy adres jest widoczny,
      • AddressRequired - czy adres jest wymagany,
      • PhoneVisible - czy numer telefonu jest widoczny,
      • PhoneRequired - czy numer telefonu jest wymagany,
    • AuthorizationRequired - czy autoryzacja jest wymagana,
    • ConfirmationRequired - czy potwierdzenie jest wymagane,
    • Disabled - czy konto jest nieaktywne,
    • ValidateTin - czy numer NIP jest zatwierdzony,
  18. VATEU - tablica prefixów, każdy element zawiera:
    • Name - nazwa (np. "PL - Polska"),
    • Value - wartość (np. "PL)",
    • ISOCode - kod ISO (np. "PL"),
  19. DefinedPages - zawiera listę zdefiniowanych stron:
    • Home - strona główna,
    • Terms - regulamin,
    • Privacy - polityka prywatności,
    • Registration - rejestracja,
    • Contact - kontakt,
    • ProductList - lista produktów
    • ProductDetails - szczegóły produktu,
    • ProductComparisonTool - porównywarka towarów,
    • Order - zamówienie,
    • ContinueShopping - kontynuuj zakupy,
    • AdvancedSearch - wyszukiwanie zaawansowane,
    • CustomerProfile - profil klienta,
    • nonexistentgroup - nieistniejąca grupa towarów,
    • nonexistentproduct - nieistniejący produkt,
    • Login - logowanie,
    • Shipping - wysyłka,
    • PasswordReminder - przypomnienie hasła,
    • UponLogging - strona otwierana po zalogowaniu się,
    • Http404 - strona nieistniejąca (błąd 404),
    • Payment - płatności,
    • About - o firmie,
    • WithdrawalRight - prawo do odstąpienia umowy,
    • Blog - blog,
    • BlogDetails - wpis na blogu,
    • Complaints - reklamacje,
    • Loyalty - program lojalnościowy,
    • Manufacturers - producenci,
    • Brands - marki,
    Każda ze zdefiniowanych stron zawiera następujące właściwości:
    • Id - numer id,
    • Name - nazwa
    • Heading - nagłówek,
    • Url - adres URL podstrony,
  20. Pages - zawiera listę stron, każda ze stron zawiera następujące pola:
    • Id - numer id,
    • Name - nazwa,
    • Heading - nagłówek,
    • Url - adres URL podstrony,
  21. Footer - stopka, zawiera:
    • JoinUs - "Dołącz do nas" (media społecznościowe) - obrazek i link,
    • Sections - sekcje, zawiera listę sekcji. Każda sekcja zawiera:
      • Heading - nagłówek,
      • Pages - lista stron, każda strona zawiera:
        • Id - numer id,
        • Name - nazwa,
        • Heading - nagłówek,
        • Url - adres URL,
  22. Currencies - waluty. Lista, której każdy element zawiera:
    • BankAccount - konto bankowe, zawiera:
      • AccountNumber - numer konta,
      • Bank - nazwa banku,
      • SWIFT - kod SWIFT,
    • Code - kod waluty,
  23. Stock - stany magazynowe, zawiera:
    • Enabled - czy włączona obsługa stanów magazynowych,
    • QuantityControl - czy włączona kontrola stanów magazynowych,
  24. Tags - tagi, zawiera listę tagów dla wyszukiwarki i bloga,
  25. Messages - wiadomości (komunikaty). Lista, której każdy element zawiera:
    • Title - tytuł,
    • Message - treść komunikatu,
    • Url - adres URL do podstrony,
    • Days - ilość dni, po których komunikat pokazuje się ponownie,
    • Id - numer id,
    • Type - typ, numer określa, czy komunikat pokazuje się w nagłówku, stopce, czy pop-upie,
  26. GTM - Google Tag Manager,
  27. GTMHead,
  28. Complaints - reklamacje, zawiera:
    • Returns - zwroty, każdy element listy zawiera:
      • Id - numer id,
      • Name - nazwa,
    • Defects - defekty, każdy element listy zawiera:
      • Id - numer id,
      • Name - nazwa,
    • Requests - rozwiązania, każdy element listy zawiera:
      • Id - numer id,
      • Name - nazwa,
    • DaysToReturn - ilość dni na zwrot zakupów,
    • ReturnsEnabled - czy zwroty są możliwe,
    • ComplaintsEnabled - czy reklamacje są możliwe,
    • AttachmentsEnabled - czy można dodać załączniki do reklamacji,
    • AttachmentsMaxCount - maksymalna liczba załączników,
    • AttachmentExtensions - lista zawierająca dozwolone formaty plików - załączników,
    • AttachmentMaxSize - maksymalny rozmiar załącznika,
  29. External - logowanie z zewnątrz, zawiera:
    • Facebook,
    • Google,
    • Edrone, zawiera pole AppId,
    • SalesMango,
  30. Contact - zawiera pole Contacts
  31. Now - aktualna data,
  32. Shop - informacje o sklepie, zawiera:
    • Contact - dane kontaktowe, zawiera:
      • PhoneNo - numer telefonu,
      • PhoneNo2 - drugi numer telefonu,
      • GSM - numer telefonu komórkowego,
      • Fax - fax,
      • Skype - nazwa na Skype,
      • GG - nazwa na Gadu-Gadu,
      • Email - adres e-mail,
    • Address - dane adresowe, zawiera:
      • Street - ulica,
      • StreetNo - numer domu,
      • UnitNo - numer lokalu,
      • ZipCode - kod pocztowy,
      • City - miasto,
      • State - województwo,
      • Country - kraj,
      • Latitude - szerokość geograficzna,
      • Longitude - długość geograficzna,
    • Name - nazwa sklepu,
    • ShortName - skrócona nazwa sklepu,
    • TIN - numer NIP,
    • Regon - numer identyfikacyjny REGON,
    • Registrant - informacja o działalności gospodarczej,
    • Description - informacje dodatkowe,
    • ImageUrl - adres URL do obrazka z logo sklepu,
    • Application - informacje o aplikacji, zawiera:
      • Name - nazwa aplikacji,
      • Website - stronę aplikacji,
  33. Orders - ustawienia dotyczące zamówień, zawiera:
    • AttributesCart - zawiera:
      • Header,
      • Position,
    • AttributesEdit - zawiera:
      • Header,
      • Position,
    • AttachmentsEnabled - czy załączniki są dozwolone,
    • AttachmentsMaxCount - maksymalna liczba załączników,
    • AttachmentExtensions - lista dozwolonych rozszerzeń plików,
    • AttachmentMaxSize - maksymalny rozmiar załącznika,
Obiekt używany w następujących mailach:
  1. Szablon,
  2. Złożenie zamówienia,
  3. Zamówienie potwierdzone przez Klienta,
  4. Zmiana statusu zamówienia,
  5. Zamówienie zrealizowane,
  6. Zamówienie anulowane,
  7. Zamówienie zapłacone płatność online lub ratalna,
  8. Dodanie listu przewozowego,
  9. Dodanie faktury,
  10. Informacja o zamówieniu do punktu odbioru osobistego,
  11. Potwierdzenie złożenia reklamacji,
  12. Zmiana statusu reklamacji,
  13. Zamówienie z ERP,
  14. Rozpoczęcie edycji,
  15. Zatwierdzenie zamówienia,
  16. Przypomnienie o zakupach,
  17. Przypomnienie o dokończeniu płatności online,
  18. Przypomnienie o wystawieniu opinii za zakupiony towar,
  19. Podział zamówienia,
  20. Zamówienie wysłane,
  21. Pierwsze przypomnienie o dokończeniu zamówienia,
  22. Drugie przypomnienie o dokończeniu zamówienia,
  23. Zapytanie o koszt dostawy zamówienie bez kosztów dostawy,
  24. Ustalenie kosztów dostawy,
  25. Złożenie zapytania cenowego,
  26. Powiadomienie o ofercie,
  27. Powiadomienie o dostępności towaru,
  28. Kupon rabatowy,
  29. Rabat dla stałego Klienta,
  30. Kupon rabatowy na darmową dostawę,
  31. Założenie konta przez Klienta,
  32. Założenie konta przez sklep,
  33. Konto potwierdzone,
  34. Stan konta aktywne, zablokowane,
  35. Zmiana adresu e-mail,
  36. Program lojalnościowy,
  37. Przypomnienie hasła,
  38. Reset hasła przez sklep,
  39. Zapis do newslettera,
  40. Zapis do newslettera przez sklep,
  41. Wypisanie z newslettera przez sklep,
  42. Zapytanie ze strony kontakt,
  43. Zapytanie o towar,
  44. Powiadom znajomego o towarze,

order

Obiekt order zawiera wszystkie informacje na temat zamówienia. Dostępne właściwości:
  1. Document - typ dokumentu dodanego do zamówienia (paragon lub faktura),
  2. DocumentText - nazwa dokumentu dodanego do zamówienia,
  3. OrderTotalValueInWords - wartość zamówienia wypisana jako tekst,
  4. ProductsTotalValueBeforeDiscount - wartość zamówienia bez zniżek,
  5. WeightUnit - jednostka masy,
  6. PreOrder - czy przedsprzedaż,
  7. ConfirmationTime - czas na zatwierdzenie zamówienia,
  8. ConfirmationDueDate - termin potwierdzenia zamówienia,
  9. ConfirmationUrl - link do potwierdzenia zamówienia,
  10. ThirdPartyConsent - zgoda na przekazywanie danych osobom trzecim,
  11. Attachments - załączniki,
  12. CanCancel - czy zamówienie może zostać anulowane,
  13. CanAccept - czy zamówienie może zostać zaakceptowane,
  14. CanRestorePayment - czy płatność może zostać kontynuowana,
  15. CanCopy - czy zamówienie może zostać skopiowane,
  16. CanEdit - czy zamówienie może zostać edytowane,
  17. EditingAllowed - czy edycja zamówienia jest dozwolona,
  18. IsEdited - czy zamówienie było edytowane,
  19. RecalculationRequired - czy zamówienie można przeliczyć,
  20. ReportUrl - link do "raportu" z zamówienia,
  21. RelatedOffers - oferty powiązane z zamówieniem,
  22. SubtotalPrices - czy są ceny netto,
  23. ProductsSubtotalValue - wartość netto zamówienia,
  24. ProductsTotalValue - wartość brutto zamówienia
  25. Attributes - atrybuty,
  26. RelatedOrders - powiązane zamówienia,
  27. Id - numer id zamówienia,
  28. Hash - unikalny numer oznaczający zamówienie,
  29. Date - data złożenia zamówienia,
  30. ERPOrderNumber - numer zamówienia z systemu ERP,
  31. Status - status zamówienia (jako liczba),
  32. StatusText - status zamówienia (jako tekst),
  33. Currency - waluta,
  34. LanguageId - numer id języka,
  35. NotDeterminedDeliveryCost - czy nieustalony koszt dostawy,
  36. Note - wiadomość dla sprzedawcy,
  37. Discount - zniżka,
  38. ProductsValue - wartość produktów,
  39. ProductsValueBeforeDiscount - wartość produktów przed rabatem,
  40. ProductsVatValue - wartość VAT w zamówieniu,
  41. OrderTotalValue - wartość zamówienia brutto,
  42. Weight - waga,
  43. Customer - informacje o kupującym, zawiera:
    • VATEU - prefix,
    • RegisteredUser - czy użytkownik był zalogowany składając zamówienie,
    • Email - adres e-mail,
    • SSN - numer ubezpieczenia społecznego,
    • TIN - numer NIP,
    • Invoice - czy użytkownik poprosił o otrzymanie faktury,
    • Company - czy konto firmowe,
    • DeliveryAddress - adres dostawy, zawiera:
      • Name - dane kupującego,
      • Name2 - dane kupującego,
      • Name3 - dane kupującego,
      • Street - ulica,
      • StreetNo - numer domu,
      • UnitNo - numer lokalu,
      • ZipCode - kod pocztowy,
      • City - miasto,
      • State - województwo,
      • Country - kraj,
      • PhoneNo - numer telefonu,
    • InvoiceAddress - adres na fakturze, zawiera:
      • Email - adres e-mail,
      • Name - dane kupującego,
      • Name2 - dane kupującego,
      • Name3 - dane kupującego,
      • Street - ulica,
      • StreetNo - numer domu,
      • UnitNo - numer lokalu,
      • ZipCode - kod pocztowy,
      • City - miasto,
      • State - województwo,
      • Country - kraj,
      • PhoneNo - numer telefonu,
    • Buyer - trzecie dane klienta,
    • Employee - zwraca informacje na temat pracownika, zawiera:
      • Email - adres e-mail,
      • Name - dane pracownika,
      • Name2 - drugie dane pracownika,
      • PhoneNo - numer telefonu,
      • LanguageId - numer id języka,
  44. Payment - płatność, zawiera:
    • SubtotalValue - wartość netto,
    • MethodId - numer id metody płatności,
    • MethodIdText - metoda płatności (tekst),
    • MethodType - metoda płatności (typ),
    • Status - status płatności (numer),
    • StatusText - status płatności (tekst),
    • Name - nazwa metody płatnosci,
    • Description - dodatkowy opis metody płatności,
    • DueDateText - termin płatności (tekst),
    • TotalValue - wartość brutto,
    • OnlineNumber - Id transakcji z platności online,
  45. Delivery - dostawa, zawiera:
    • SubtotalValue - wartość netto,
    • MethodId - numer id sposobu dostawy,
    • Name - nazwa sposobu dostawy,
    • Description - dodatkowy opis sposobu płatności,
    • DateText - termin dostawy (słownie),
    • Status - status dostawy,
    • StatusText - status dostawy (tekst),
    • Waybill - list przewozowy,
    • Waybills - listy przewozowe, zawiera:
      • Name - kurier,
      • Number - numer listu przewozowego,
      • Url - link do śledzenia paczki,
    • TotalValue - wartość brutto,
    • CollectionPointAddress - dane punktu odbioru,
    • CollectionPointId - identyfikator punktu odbioru,
    • CollectionPointTypeId - identyfikator typu punktu odbioru,
    • CollectionPoint - punkt odbioru,
    • PackageCount - ilość paczek,
  46. Products - informacje o produktach w zamówieniu. Każdy element zawiera:
    • StatusText - status dostępności,
    • UnitPriceRatio - przelicznik ceny za jednostkę miary,
    • UnitPriceUnit - możliwa jednostka przeliczniowa (np. litry na mililitry, gramy na kilogramy itd.),
    • CanReturn - czy produkt może być zwrócony,
    • CanComplain - czy produkt może być zareklamowany,
    • IsModified - czy modyfikowany,
    • IsDeleted - czy skasowany,
    • IsEdited - czy edytowany,
    • SubtotalPrice - cena netto,
    • TotalPrice - cena brutto,
    • SubtotalValue - wartość netto,
    • TotalValue - wartość brutto,
    • Attributes - lista atrybutów,
    • No - numer,
    • Code - kod towaru,
    • Description - wartość atrybutu typu lista,
    • Quantity - ilość,
    • Unit - jednostka,
    • VAT - wartość VAT,
    • Price - cena,
    • Value - wartość,
    • WasteMgmtCost - koszt gospodarowania odpadami,
    • ReturnedQuantity - ilość zwróconego towaru,
    • IsSetParent - czy przedmiot jest główną częścią np. zestawu,
    • IsSetElement - czy nalezy do zestawu,
    • SetName - nazwa zestawu,
    • UPC - kod EAN towaru,
    • Image - zdjęcie, zawiera:
      • Id - numer id zdjęcia,
      • Link - link do towaru,
      • ExternalUrl - zewnętrzny URL,
    • ImageId - numer id zdjęcia,
    • Id - numer id towaru,
    • DefaultGroup - grupa domyślna,
    • NameNoHtml - nazwa bez znaczników HTML,
    • Link - link do strony produktu,
    • Url - link do towaru,
  47. ItemsPerPage - ilość towarów na stronie,
  48. PageCount - ilość stron,
  49. PageNo - numer strony,
  50. TotalItems - ilość produktów,
  51. Documents - lista dokumentów,
  52. DeliveryDate - zawiera liczbę (zazwyczaj dni) w ciągu których towar zostanie dostarczony,
  53. SelectedDeliveryDate - wybrana przez Klienta data dostawy,
  54. ExpectedDate - dzień dostarczenia towaru,
  55. ProcessedDate - data wysłania,
  56. ExpirationDate - dzień do którego towary zostaną dostarczone,
  57. Points - liczba punktów lojalnościowych, które klient otrzyma za zakup towarów,
  58. PointsPaid - punkty lojalnościowe wydane w tym zamówieniu,
  59. SplitPayment - podział płatności,
  60. Source - źródło,
  61. Url - adres URL do zamówienia w profilu Klienta,
Obiekt używany w następujących mailach:
  1. Złożenie zamówienia,
  2. Zamówienie potwierdzone przez Klienta,
  3. Zmiana statusu zamówienia,
  4. Zamówienie zrealizowane,
  5. Zamówienie anulowane,
  6. Zamówienie zapłacone płatność online lub ratalna,
  7. Dodanie listu przewozowego,
  8. Dodanie faktury,
  9. Informacja o zamówieniu do punktu odbioru osobistego,
  10. Zamówienie z ERP,
  11. Rozpoczęcie edycji,
  12. Zatwierdzenie zamówienia,
  13. Przypomnienie o dokończeniu płatności online,
  14. Przypomnienie o wystawieniu opinii za zakupiony towar,
  15. Podział zamówienia,
  16. Zamówienie wysłane,
  17. Zapytanie o koszt dostawy zamówienie bez kosztów dostawy,
  18. Ustalenie kosztów dostawy,

customer

Obiekt customer zawiera informacje na temat Klienta.
Wskazówka
Niektóre pola w obiekcie customer dostępne są tylko dla poszczególnych maili. Przykładowo, pole OldEmail będzie dostępne w wiadomości związanej ze zmianą adresu e-mail, ale w wiadomości ze statusem rejestracji już nie.
Dostępne właściwości:
  1. ConfirmationUrl - adres url do potwierdzenia konta,
  2. Discount - znizki,
  3. PasswordReminderUrl - adres url do przypomnienia hasła,
  4. Status - status Klienta (numer),
  5. StatusText - status Klienta (tekst),
  6. Email - adres e-mail,
  7. Name - dane Klienta,
  8. Name2 - dane Klienta,
  9. PhoneNo - numer telefonu,
  10. OldEmail - poprzedni adres e-mail,
Obiekt używany w następujących mailach:
  1. Potwierdzenie złożenia reklamacji,
  2. Zmiana statusu reklamacji,
  3. Przypomnienie o zakupach,
  4. Powiadomienie o dostępności towaru,
  5. Kupon rabatowy,
  6. Rabat dla stałego Klienta,
  7. Kupon rabatowy na darmową dostawę,
  8. Założenie konta przez Klienta,
  9. Założenie konta przez sklep,
  10. Konto potwierdzone,
  11. Stan konta aktywne, zablokowane,
  12. Zmiana adresu e-mail,
  13. Program lojalnościowy,
  14. Przypomnienie hasła,
  15. Reset hasła przez sklep,
  16. Zapytanie ze strony kontakt,
  17. Zapytanie o towar,
  18. Powiadom znajomego o towarze,

complaint

Obiekt complaint wykorzystywany jest w mailach związanych ze zwrotami i reklamacjami. Dostępne właściwosci:
  1. OrderDate - data zlożenia zamówienia,
  2. OrderDeliveryDate - data dostarczenia zamówienia,
  3. Code - kod reklamowanego towaru,
  4. Defect - powód reklamacji,
  5. DefectDescription - opis powodu reklamacji,
  6. Response - odpowiedź,
  7. DefectDate - data wystąpienia usterki,
  8. Request - sposób rozwiązania problemu,
  9. AccountNumber - numer konta,
  10. ReportUrl - link do reklamacji,
  11. ModifiedDate - data ostatniej modyfikacji,
  12. Attachments - załączniki,
  13. ComplaintId - numer id reklamacji,
  14. CreatedDate - data utworzenia reklamacji,
  15. Status - status reklamacji (liczba),
  16. StatusText - status reklamacji (tekst),
  17. Type- typ reklamacji (liczba),
  18. TypeText - typ reklamacji (tekst),
  19. OrderId - numer id zamówienia,
  20. Quantity - ilość towaru,
  21. Unit - jednostka,
  22. Description - opis,
  23. Price - cena,
  24. Value - wartość,
  25. SubtotalPrices - czy są ceny netto,
  26. SubtotalPrice - cena netto,
  27. TotalPrice - cena brutto,
  28. SubtotalValue - wartość netto,
  29. TotalValue - wartość brutto,
  30. Currency - waluta,
  31. ImageId - numer id zdjęcia towaru,
  32. Image - zdjęcie, zawiera:
    • Id - id zdjęcia,
    • Link - link do zdjęcia,
    • ExternalUrl - zewnętrzny link,
  33. Id - numer id towaru,
  34. DefaultGroup - numer domyślnej grupy,
  35. NameNoHtml - nazwa towaru bez znaczników HTML,
  36. Link - link do strony produktu,
  37. Url - link do towaru,
Obiekt używany w następujących mailach:
  1. Potwierdzenie złożenia reklamacji,
  2. Zmiana statusu reklamacji,

product

Obiekt product wykorzystywany jest w mailach z przypomnieniem o zakupach oraz zapytaniem o towar. Dostępne właściwości:
  1. Code - kod towaru,
  2. UPC - kod EAN towaru,
  3. Id - numer id towaru,
  4. DefaultGroup - grupa domyślna,
  5. NameNoHtml - nazwa towaru bez znaczników HTML,
  6. Link - link do strony produktu,
  7. Url - link do produktu,
Obiekt używany w następujących mailach:
  1. Przypomnienie o zakupach,
  2. Powiadomienie o dostępności towaru,
  3. Zapytanie o towar,
  4. Powiadom znajomego o towarze,

cart

Obiekt cart posiada właściwości do porzuconych koszyków. Dostepne właściwości:
  1. Url - link do porzuconego koszyka,
  2. Id - numer id porzuconegeo koszyka,
  3. Email - adres e-mail użytkownika, do którego należy porzucony koszyk,
  4. Name - dane Klienta,
  5. Name2 - drugie dane Klienta,
  6. PhoneNo - numer telefonu Klienta,
  7. Currency - waluta,
  8. Date - data utworzenia koszyka,
  9. Value - wartość koszyka,
  10. Authenticated - czy użytkownik był zalogowany,
  11. Products - lista produktów w koszyku, każdy element zawiera:
    • Code - kod produktu,
    • Quantity - ilość,
    • SaleUnit - jednostka miary,
    • Price - cena,
    • Value - wartość,
    • ImageId - numer id zdjęcia produktu,
    • Image - informacje o zdjęciu, zawiera:
      • Id - numer id zdjęcia,
      • Link - link do zdjęcia,
      • ExternalUrl - link zewnętrzny,
    • Id - numer Id produktu,
    • DefaultGroup - grupa domyślna,
    • NameNoHtml - nazwa produktu bez znaczników HTML,
    • Link - link do strony towaru,
    • Url - link do produktu,
Obiekt używany w następujących mailach:
  1. Pierwsze przypomnienie o dokończeniu zamówienia,
  2. Drugie przypomnienie o dokończeniu zamówienia,

inquiry

Obiekt inquiry wykorzystywany jest w przypadku zapytań ofertowych. Dostępne właściwości:
  1. ConfirmationUrl - link potwierdzający,
  2. Name - nazwa Klienta,
  3. Email - adres e-mail Klienta,
  4. PhoneNo - numer telefonu,
  5. Hash -unikalny numer oznaczający ofertę,
  6. Inquiry - czy zapytanie ofertowe,
  7. ExpirationDate - data ważności oferty,
  8. ProcessedDate - data realizacji zamówienia,
  9. OneTimeOffer zezwolenie na wiele zamowień z oferty, lub nie,
  10. Message - wiadomość do zapytania,
  11. Answer - odpowiedź,
  12. Products - produkty w zapytaniu, każdy element zawiera:
    • Code - kod produktu,
    • UPC - kod EAN produktu,
    • Quantity - ilość,
    • SaleUnit - jednostka (wybrana),
    • BasicUnit - jednostka podstawowa,
    • BasicUnitRatio - przelicznik jednostki,
    • UnitPriceRatio - przelicznik ceny za jednostkę miary,
    • UnitPriceUnit - możliwa jednostka przeliczeniowa (np. litry na mililitry, gramy na kilogramy itd.),
    • VAT - podatek VAT,
    • SubtotalValue - wartość netto,
    • TotalValue - wartość brutto,
    • TotalPrice - cena brutto,
    • SubtotalPrice - cena netto,
    • Attributes - atrybuty, każdy element zawiera:
      • Id - numer id,
      • Name - nazwa atrybutu,
      • ValueId - numer id wartości,
      • Value - wartość atrybutu,
    • Description - opis,
    • ExternalUrl - link zewnętrzny,
    • Id - numer id,
    • DefaultGroup - domyślna grupa,
    • NameNoHtml - nazwa towaru bez znaczników HTML,
    • Link - link do strony produktu,
    • Url - link do towaru,
  13. ItemsPerPage - maksymalna ilość przedmiotów na stronę,
  14. PageCount - ilość stron,
  15. PageNo - numer aktualnej strony,
  16. TotalItems - ilość przedmiotów,
  17. SubtotalValue - wartość oferty netto,
  18. TotalValue - wartość oferty netto,
  19. VatValue - wartość podatku VAT,
  20. Currency - waluta,
  21. Attachments - załączniki,
  22. RelatedOrders - powiązane zamówienia,
  23. RelatedOffers - powiązane oferty/zapytania ofertowe,
  24. DeliveryTotalValue - koszt dostawy,
  25. SelectedCountry - wybrany kraj,
  26. SelectedDelivery - wybrany sposób dostawy,
  27. SelectedPayment - wybrany sposób płatności,
  28. Id - numer id oferty,
  29. Date - data złożenia oferty,
  30. Status - status oferty (liczba),
  31. StatusText - status oferty (tekst),
Obiekt używany w następujących mailach:
  1. Złożenie zapytania cenowego,
  2. Powiadomienie o ofercie,

coupon

Obiekt coupon dotyczy kuponów rabatowych. Dostępne właściwości:
  1. Code - kod rabatowy,
  2. ProductsMinimumTotalValue - minimalna wartość zamówienia brutto,
  3. DateFrom - początkowa data obowiązywania kuponu rabatowego,
  4. DateTill - końcowa data obowiązywania kuponu rabatowego,
  5. Type - typ kuponu rabatowego (liczba),
  6. Discount - wartość rabatu,
  7. Currency - waluta,
  8. Groups - grupy towarów,
  9. Countries - kraje,
Obiekt używany w następujących mailach:
  1. Kupon rabatowy,
  2. Kupon rabatowy na darmową dostawę,

discount

Obiekt discount związany jest z rabatami. Dostępny jest w mailu "Rabat dla stałego klienta". Dostępne właściwości:
  1. Discount - wartość rabatu (w procentach),
  2. DateFrom - poczatkowa data obowiązywania rabatu,
  3. DateTill - końcowa data obowiązywania rabatu,
Obiekt używany w następujących mailach:
  1. Rabat dla stałego klienta,

loyalty

Loyalty to obiekt wykorzystywany w mailu dotyczącym programu lojalnościowego. Dostępne właściwości:
  1. Points - ilość punktów,
  2. Message - wiadomość,
Obiekt używany w następujących mailach:
  1. Program lojalnościowy,

subject

Subject jest obiektem nie posiadającym żadnych właściwości. Wykorzystywany jest jako temat wiadomości. Obiekt używany w następujących mailach:
  1. Zapytanie ze strony kontakt,

message

Obiekt message wykorzystywany jest w mailu "Zapytanie o Towar", "Zapytanie ze strony kontakt" oraz "Powiadom znajomego o towarze". Obiekt ten jest treścią wiadomości wysyłaną przez Klienta. Nie posiada żadnych właściwości. Użycie obiektu to po prostu {{ message }}. Obiekt używany w następujących mailach:
  1. Zapytanie ze strony kontakt,
  2. Zapytanie o towar,
  3. Powiadom znajomego o towarze,

userFields

Obiekt posiada tylko jedną właściwość o nazwie macro_field. Obiekt używany w następujących mailach:
  1. Zapytanie ze strony kontakt,

friend

Obiekt friend stanowi informacje na temat "znajomego", któremu wysyłamy informację o towarze w mailu "Powiadom znajomego o towarze". Posiada następujące właściwości:
  1. Email - adres e-mail znajomego,
  2. Name - dane znajomego,
  3. Name2 - drugie dane znajomego,
  4. PhoneNo - numer telefonu znajomego,
Obiekt używany w następujących mailach:
  1. Powiadom znajomego o towarze,

subscriber

Subscriber to obiekt wykorzystywany w wiadomościach e-mail związanych z newsletterem. Dostępne właściwości:
  1. Email - adres e-mail,
  2. ConfirmationUrl - link potwierdzający subskrypcję,
Obiekt używany w następujących mailach:
  1. Zapis do newslettera,
  2. Zapis do newslettera przez sklep,
  3. Wypisanie z newslettera przez sklep,

Spis maili oraz obiektów w nich używanych

Spis dotyczy wersji sklepu 2021
L.P. Nazwa maila Używane obiekty
Zamówienia
1 Szablon (używany w każdym mailu) config
2 Złożenie zamówienia config, order
3 Zamówienie potwierdzone przez Klienta config, order
4 Zmiana statusu zamówienia config, order
5 Zamówienie zrealizowane config, order
6 Zamówienie anulowane config, order
7 Zamówienie zapłacone płatność online lub ratalna config, order
8 Dodanie Listu przewozowego config, order
9 Dodanie faktury config, order
10 Informacja o zamówieniu do punktu odbioru osobistego config, order
11 Potwierdzenie złożenia reklamacji config, customer, complaint
12 Zmiana statusu reklamacji config, customer, complaint
13 Zamówienie z ERP config, order
14 Rozpoczęcie edycji config, order
15 Zatwierdzenie zamówienia config, order
16 Przypomnienie o zakupach config, customer, product
17 Przypomnienie o dokończeniu płatności online config, order
18 Przypomnienie o wystawieniu opinii za zakupiony towar config, order
19 Podział zamówienia config, order
20 Zamówienie wysłane config, order
21 Pierwsze przypomnienie o dokończeniu zamówienia config, cart
22 Drugie przypomnienie o dokończeniu zamówienia config, cart
Zapytanie o koszt dostawy, Zapytanie o cenę towaru
1 Zapytanie o koszt dostawy zamówienie bez kosztów dostawy config, order
2 Ustalenie kosztów dostawy config, order
3 Złożenie zapytania cenowego config, inquiry
4 Powiadomienie o ofercie config, inquiry
5 Powiadomienie o dostępności towaru config, customer, product
Rabaty
1 Kupon rabatowy config, customer, coupon
2 Rabat dla stałego klienta config, customer, discount
3 Kupon rabatowy na darmową dostawę config, customer, coupon
Klienci
1 Założenie konta przez klienta config, customer
2 Założenie konta przez sklep config, customer
3 Konto potwierdzone config, customer
4 Stan konta aktywne, zablokowane config, customer
5 Zmiana adresu e-mail config, customer
6 Program lojalnościowy config, customer, loyalty
7 Przypomnienie hasła config, customer
8 Reset hasła przez sklep config, customer
Subskrybenci (newsletter)
1 Zapis do newslettera config, subscriber
2 Zapis do newslettera przez sklep config, subscriber
3 Wypisanie z newslettera przez sklep config, subscriber
Kontakt
1 Zapytanie ze strony kontakt config, customer, subject, message, userFields
2 Zapytanie o towar config, customer, message, product
3 Powiadom znajomego o towarze config, customer, message, product, friend

Konfigurator towaru

Wstęp

Konfigurator produktów powstał z myślą o firmach produkcyjnych, które w e-Sklepie internetowym chcą sprzedawać produkty na indywidualne zamówienie, uzależnione od ustalonych kryteriów. W celu odpowiedzi na potrzeby użytkowników e-Sklepu związane z obsługą tego rodzaju zamówień  w Comarch e-Sklep został przygotowany mechanizm, za pomocą którego można we własnym zakresie zaimplementować funkcję umożliwiającą, na podstawie parametrów podanych przez obsługę sklepu, dodanie do koszyka spersonalizowanego towaru (towarów) z ceną wyliczoną poza sklepem ("na zewnątrz"). W ten sposób Klienci e-Sklepu w wersji B2B będą mogli w łatwy sposób składać indywidualne zamówienia poprzez przejrzystą prezentację oferty z wieloma kryteriami wyboru, które mogą być dowolnie łączone. Niewątpliwą korzyścią z tego rozwiązania jest również optymalizacja procesu sprzedaży. Klient samodzielnie personalizuje towar według ustalonych parametrów i nie wymaga obsługi sprzedawcy. Dzięki temu do e-Sklepu trafia gotowe do realizacji zamówienie.
Wskazówka
Implementacja konfiguratora towarów przeznaczona jest dla użytkowników zaawansowanych i przy jej konfiguracji niezbędna jest wiedza programistyczna.
Uwaga
W tym artykule trzeba będzie wprowadzać zmiany w plikach js. Z tego artykułu dowiesz się jak je minifikować.
Podstawowe różnice między konfiguratorem produktu a towarem zgrupowanym (tzw. fantomem) zostały przedstawione w tym artykule.

Kto może używać tej opcji

Aby korzystać z mechanizmu dodawania towaru do koszyka z ceną wyliczoną poza e-Sklepem niezbędne jest:
  • posiadanie Comarch e-Sklep B2B w wersji co najmniej 2020.3;
  • zainstalowanie dodatku Comarch e-Sklep Sync w wersji co najmniej 2020.3 i włączenie go w panelu e-Sklepu;
  • włączenie w panelu administracyjnym w menu Ustawienia/ Ustawienia sklepu/ Ogólne/ Comarch e-Sklep Sync opcji Konfigurator towarów;
  • oznaczenie w paneli administracyjnym na towarze, że jest to towar konfigurowalny,
  • zaimplementowanie* w usłudze Comarch e-Sklep Sync mechanizmu z obsługą kryteriów wyboru towaru (dodanie nowego workera). *opcja niedostępna w Comarch ERP Optima Chmura Standard;
  • zmodyfikowanie standardowego szablonu Szafir (lub własnego szablonu wyglądu e-Sklepu), tak, by w przypadku towaru konfigurowalnego, wyświetlać opcje wyboru i odpowiednią cenę.
W efekcie wprowadzonych zmian Klient będzie miał możliwość dodania do koszyka pozycji z ceną wyliczoną poza e-Sklepem na podstawie określonych przez obsługę sklepu kryteriów. W zależności od sposobu implementacji, mechanizm konfiguratora produktu pozwala na:
  • dodanie do koszyka jednej pozycji towarowej, gdzie w jej szczegółach będą wszystkie informacje o wybranych przez Klienta parametrach. Przykład użycia został przedstawiony poniżej;
  • dodanie do koszyka kilku pozycji towarowych, które łącznie spełniają parametry zamówienia złożonego przez Klienta.

Przykład użycia

Poniżej przedstawiono przykład wykorzystania opcji konfiguratora towarów w integracji e-Sklepu z Comarch ERP Optima (w przypadku korzystania z Comarch ERP Optima Chmura Standard brak możliwości implementacji własnych workerów Comarch e-Sklep Sync). Jest to najprostszy przypadek, kiedy do jednego towaru przypisujemy różne konfigurowalne elementy (w tym przykładzie w postaci atrybutów). Po stworzeniu w e-Sklepie indywidualnego projektu produktu, Klient w koszyku będzie miał widoczną jedną pozycję z ceną wyliczoną poza e-Sklepem (w naszym przykładzie jest ona pobrana bezpośrednio z pliku XML, który jest dodany do karty towaru w systemie ERP). Pobierz plik ze zmianami (dotyczą wersji 2020.4) niezbędnymi do implementacji poniższego przykładu.
  1. W systemie Comarch ERP Optima przygotuj kartotekę towaru, który po przesłaniu do e-Sklepu będzie mógł być indywidualnie skonfigurowany przez Klienta podczas zakupu.
  2. W panelu administracyjnym e-Sklepu w wersji B2B na szczegółach tego towaru zaznacz, że towar jest konfigurowalny, a następnie zmiany w ustawieniach towaru opublikuj (przycisk w górnym prawym rogu).
  3. Do danego towaru w systemie ERP przypisz elementy konfigurowalne w postaci atrybutów o typie lista. Na liście dla każdego atrybutu dodaj wartości czyli warianty elementów, które klient może wybrać podczas zakupu. Do towaru konfigurowalnego można dodać dowolną ilość atrybutów z dowolną ilością wariantów. Ważne, żeby na towarze nie wskazywać konkretnych wartości (kolumna Wartość musi pozostać pusta), a wszystkie atrybuty były udostępnione do Comarch e-Sklep:
4. Przygotuj plik XML o odpowiedniej strukturze (do pobrania powyżej) , w którym wskażesz ceny netto, VAT oraz ceny brutto poszczególnych wariantów w konfigurowalnych elementach towaru: 5. Przygotowany plik dodaj do karty towaru w systemie ERP na zakładce Atrybuty w sekcji Załączniki. Dane o cenach zostaną pobrane z pliku XML przez usługę Comarch e-Sklep Sync, dlatego nie należy pliku XML udostępniać do e-Sklepu: 6. Do karty towaru konfigurowalnego w systemie ERP dodaj zdjęcie i udostępnij je do e-Sklepu (patrz: zrzut powyżej). Będzie ono wyświetlone na szczegółach produktu konfigurowalnego jako główne zdjęcie dla domyślnych wariantów towaru. 7. Zmodyfikuj* usługę Comarch e-Sklep Sync. W tym celu w pliku configWorkers.json dodaj nowy worker według instrukcji, który będzie wyliczał ostateczną cenę indywidualnego produktu w oparciu o ceny poszczególnych jego elementów. Przykład workera wraz z modyfikacjami usługi Comarch e-Sklep Sync dostępny do pobrania powyżej.(*opcja niedostępna w Comarch ERP Optima Chmura Standard) 8. Wprowadź zmiany w szablonie Szafir według instrukcji udostępnionej powyżej. Po przeprowadzeniu modyfikacji zapisz je, a następnie opublikuj. 9. Wykonaj synchronizację danych z systemu ERP. Wówczas do e-Sklepu zostaną przesłane dane o konfigurowalnych elementach towaru. Usługa Comarch e-Sklep Sync pobierze z pliku XML informację o cenach poszczególnych składowych produktu. 10. Powyższa instrukcja pozwala na przygotowanie na szczegółach produktu w szablonie Szafir w sklepie w wersji B2B następującego towaru konfigurowalnego. Podczas zakupu, Klient może samodzielnie dopasować warianty elementów, które są udostępnione przez sprzedawcę do samodzielnej konfiguracji: Po wybraniu dostępnych opcji, należy kliknąć w Zapisz - wówczas usługa Comarch e-Sklep Sync pobierze z pliku XML (przypisanego do towaru w pkt. 4) informację o cenach poszczególnych składowych produktu i na tej podstawie zostanie wyliczona cena indywidualnego projektu Klienta. Obok ceny pojawi się opcja dodania towaru do koszyka. W koszyku będzie widoczna jedna pozycja wraz z informacją o wybranych elementach oraz całkowita cena produktu: 11. Sprzedawca w panelu administracyjnym na szczegółach zamówienia będzie miał widoczną również jedną pozycję towarową wraz z elementami wybranymi przez Klienta. Po synchronizacji do Comarch ERP Optima, na Rezerwacji Odbiorcy na szczegółach pozycji (po użyciu przycisku lupki) będzie dostępna informacja o szczegółach projektu Klienta: Przenosi się ona również na dokumenty powiązane (Wydania zewnętrzne, Faktury Sprzedaży), co ułatwia szybką realizację indywidualnego zamówienia pochodzącego z e-Sklepu.
Wskazówka
Podczas minifikacji plików js może dojść do sytuacji, gdzie otrzymamy błąd informujący o zbyt dużym rozmiarze pliku. W takiej sytuacji proponujemy dodać plik init-ui3.js. Do tego pliku należy przekleić cały kod, który został dodany do init-ui2.js. Następnie na końcu pliku _layout.html proszę znaleźć następującą linijkę: <script src="js/init-ui2.js?v={{ lqTS }}"></script> Bezpośrednio pod tą linijką proszę wkleić następujący kod:<script src="js/init-ui3.js?v={{ lqTS }}"></script>  

Więcej informacji

Przykład konfiguratora produktu - zobacz >> Kod źródłowy przykładu - pobierz >> Więcej informacji na temat konfiguracji usługi Sync można znaleźć w artykule Comarch e-Sklep Sync.

Jakie są możliwości zarządzania szablonami w e-Sklepie?

Szablony w sklepie

W tym artykule dowiesz się o zaawansowanych możliwościach zarządzania sza

Jak wybrać szablon w panelu?

W obszarze Panel administracyjny/ Gotowe szablony Comarch możliwe jest wybranie szablonu z dostępnych szablonów domyślnych. Jeżeli jesteśmy ciekawi jak dany szablon prezentuje się to po kliknięciu w link Zobacz demo zostaniemy przekierowani na stronę z wersją demonstracyjną danego szablonu. Edycja nazwy szablonu jest możliwa po wejściu do zakładki Szablon w Zaawansowanych ustawieniach: Wygląd sklepu/ Ustawienia/ Więcej/ Edytuj ustawienia zaawansowane/ Szablon Włączenie opcji Podgląd zmian wyglądu sklepu w czasie rzeczywistym (dla administratora) pozwala na bieżąco sprawdzać przez administratora zmiany wprowadzone w szablonach(wystarczy odświeżyć stronę).
Wskazówka
Pamiętaj, że zmiany wprowadzane w szablonach widoczne są w sklepie po ich opublikowaniu.

Co to są testy A/B w panelu e-Sklepu?

Administrator ma możliwość przeprowadzenia testów A/B. Aby móc je aktywować należy się udać do: Wygląd sklepu/ Ustawienia/ Więcej/ Edytuj ustawienia zaawansowane następnie wybieramy zakładkę Testy A/B. Po zaznaczeniu funkcji Testy A/B należy aktywować przynajmniej dwa spośród wgranych szablonów.

Jak można dodać ustawienia dla szablonu w panelu?

Dodawanie ustawień dla szablonu dostępne jest w panelu administracyjnym sklepu w obszarze Wygląd sklepu/ Ustawienia/ Więcej/ Edytuj ustawienia zaawansowane/ Ustawienia (JSON).

Ustawienia dla szablonu dostępne są w formacie JSON.

Zdefiniowane ustawienia dla obiektu dostępne są w szablonie poprzez obiekt globalny settings.

Obiekt globalny settings dostępny jest także w plikach arkuszy stylów (css).

Gdzie można dodać bannery do szablonów?

Dodawanie bannerów do szablonów Liquid odbywa się w obszarze Wygląd sklepu/ Ustawienia/ Bannery. Stworzone bannery przypisywane są do konkretnego szablonu. Więcej informacji o bannerach można znaleźć tutaj.

Dodawanie szablonu

Gdzie jest dostępna lista plików szablonu?

Lista plików szablonu dostępna jest w panelu administracyjnym sklepu w obszarze Wygląd sklepu/ Ustawienia/ Więcej/ Edytuj ustawienia zaawansowane/ Edytuj HTML.  

Jak można dodać plik szablonu?

Plik szablonu można dodać w panelu administracyjnym w menu Wygląd sklepu/ Ustawienia/ Więcej/ Edytuj ustawienia zaawansowane/ Edytuj HTML za pomocą przycisku Dodaj: Przed dodaniem pliku szablonu należy wybrać, dla którego szablonu oraz jakiego rodzaju interfejsu dodajemy szablon. Dostępne rodzaje to:
  • szablon wykorzystywany w sklepie,
  • szablon wykorzystywany w wersji mobilnej sklepu,
  • szablon wykorzystywany w sklepie na Facebook.

Edycja plików szablonu

Pliki szablonu mogą być edytowane bezpośrednio z listy plików szablonu. Wystarczy kliknąć na plik, który nas interesuje, aby pojawiło się okno z możliwością edycji.

Zapis zmian możliwy jest także poprzez skrót klawiaturowy Ctrl + S

Wskazówka
Od wersji 2020 w szablonie Topaz została dodana informacja na temat godziny wygenerowania szablonu w kreatorze. Z listy plików należy wybrać _layout.html. Informacje na temat modyfikacji, w tym godzina ostatniej modyfikacji, znajdują się nad oknem edycji pliku. Jeżeli plik nie był modyfikowany, wówczas godzina odpowiada godzinie wygenerowania szablonu w kreatorze.
Wskazówka
Od wersji 2022 w standardowych szablonach Comarch wprowadziliśmy optymalizacje widoków poszczególnych stron w oparciu o przeprowadzony audyt Grupy iCEA. Dodatkowo wprowadziliśmy usprawnienia do prowadzenia efektywnych działań pozycjonujących za pomocą panelu Comarch e-Sklep, dzięki czemu jest to obecnie stosunkowo wygodne narzędzie do zarządzania zawartością sklepu internetowego, a także do skutecznego pozycjonowania.

Dodawanie obiektów

Obiekty zwracają dane dostępne w sklepie, przykładowo:
  • informacje o towarach,
  • informacja o zalogowanym kontrahencie,
  • informacje o zamówieniach,
  • koszyk
Obiekt należy wykorzystać w szablonach w celu wyświetlenia tych informacji w sklepie.

Więcej informacji o obiektach i ich podziałach można znaleźć w artykule Obiekty w sklepie.

 

Lista obiektów lokalnych

Lista obiektów lokalnych dostępna jest w Panelu administracyjnym sklepu w obszarze Wygląd sklepu/ Ustawienia/ Więcej/ Edytuj ustawienia zaawansowane/ Obiekty. Kolumny na liście:
  • Nazwa – nazwa danego obiektu
  • Typ -Typ obiektu

Dodawanie obiektów

Obiekt należy dodać używając przycisku Dodaj. Na formularzu dodawania należy wybrać typ obiektu oraz wprowadzić jego nazwę, następnie nacisnąć przycisk Dodaj. Zostanie dodany obiekt z domyślna konfiguracją.

Nazwa obiektu wykorzystywana jest w szablonie do odwołania się do tego obiektu. Zmiana nazwy jest niedostępna.

 

Konfiguracja obiektu

Konfiguracja obiektu możliwa jest po kliknięciu w link JSON.   Zostaniemy przekierowani na stronę gdzie będziemy mogli:
  • Ustawić opcje konfiguracyjne obiektu
  • Wybrać strony, na których obiekt ma być aktywny
Zmiany możemy zapisać przyciskiem Zapisz znajdującym się w prawym górnym rogu. Obiekty należy aktywować tylko na stronach, na których będą one wykorzystywane. Każdy aktywowany obiekt wpływa na szybkość ładowania i wyświetlania stron w sklepie.  

Tłumaczenia w szablonie

Zmiany fraz i ich tłumaczenie odbywa się w obszarze Wygląd sklepu/ Ustawienia/ Tłumaczenia. Aby dodać nowe tłumaczenie należy nacisnąć przycisk Dodaj. Istnieje możliwość dodawania tłumaczeń dla różnych języków. Możemy również importować listę tłumaczeń z pliku XML. Służy do tego przycisk Import z pliku XML znajdujący się w rozwijanym menu w prawnym górnym rogu.

Powiązanie stron z szablonem i obiektami

Powiązanie stron z plikami szablonu oraz aktywnymi na tych stronach obiektami dostępne jest w Panelu administracyjnym sklepu w obszarze Wygląd sklepu/ Ustawienia/ Więcej/ Edytuj ustawienia zaawansowane/ Strony. Przed powiązaniem stron należy wybrać, dla którego oraz jakiego rodzaju interfejsu wykonujemy powiązanie. Dla każdej strony należy ustawić:
  • Plik szablonu, który będzie wykorzystany na stronie.
  • Obiekty, które mają być dostępne dla strony.
Ustawienie pliku szablonu. W polu Szablon należy wprowadzić nazwę pliku i zapisać zmiany przyciskiem Zapisz. Wybór obiektów dla wskazanej strony możliwy jest po naciśnięciu przycisku Obiekty. Należy wybrać obiekty, które mają być dostępne na danej stronie i zapisać zmiany przyciskiem Zapisz. Ponadto dla każdej strony można ustawić wstawkę szablonu, która będzie dołączona do pliku szablonu poprzez obiekt page(property TemplateInclude). W polu Include należy wprowadzić nazwę pliku i zapisać zmiany przyciskiem Zapisz.

Obiekty należy aktywować tylko na stronach, na których będą one wykorzystywane. Każdy aktywowany obiekt wpływa na szybkość ładowania i wyświetlania stron w sklepie.

 

Import / Eksport szablonu

Import, eksport oraz przywracanie domyślnego szablonu odbywa się w obszarze Wygląd sklepu / Ustawienia/ Więcej/ Edytuj ustawienia zaawansowane/ Import/Eksport z pliku XML.  

Import z szablonu

W celu zaimportowania gotowego szablonu, należy za pomocą przycisku Wybierz plik XML wybrać plik z szablonem z dysku. Jeżeli importowany szablon posiada hasło, to należy je podać podczas importu. Jeżeli opcja Podmień istniejące bannery zostanie niezaznaczona, to podczas importu istniejące bannery nie zostaną nadpisane. Od wersji 2019.2 wprowadzono możliwość importu i eksportu bannerów bez sprawdzania limitu danych. Dzięki temu można przenosić dużą ilość bannerów bez obciążania szablonu. Opcja Importuj bannery zastępuje dotychczasowe bannery w e-Sklepie. Zmiany należy zatwierdzić opcją ‚Publikuj’ dostępną w menu rozwijanym Więcej . Zaimportowane bannery widoczne są w Wygląd sklepu/ Ustawienia/ Bannery.  

Eksport szablonu/ banneru

Eksport do pliku odbywa się w zakładce Eksport do pliku XML. Eksportowany szablon można podpisać danymi autora, takimi jak jego nazwa, adres e-mail, telefon oraz adres www. W wersji 2019.2 została wprowadzona możliwość eksportu oraz importu szablonu bez bannerów. Dodatkowo można do e-Sklepu zaimportować oddzielnie bannery (bez sprawdzania limitu danych). Dzięki temu można przenosić szablony, do których dodano dużą ilość bannerów.
Uwaga
Maksymalny rozmiar importowanego oraz eksportowanego szablonu nie może przekraczać 8MB.

Zabezpieczenie szablonu hasłem

Istnieje możliwość zabezpieczenia tworzonego szablonu przed niepowołanym dostępem. Blokady można zdefiniować w obszarze Wygląd sklepu/ Ustawienia/ Więcej/ Edytuj ustawienia zaawansowane/ Szablon. Na samym dole strony dostępna jest opcja Zmień hasło.

Dedykowany szablon dla wersji mobilnej

Darmowe szablony Comarch tworzone są w technologi RWD, co sprawia, że są one wyświetlane poprawnie zarówno na urządzeniach typu desktop, jak i na urządzeniach mobilnych. W takim przypadku aktywacja dodatkowej wersji mobilnej, bez modyfikacji plików szablonu, może powodować błędy w wyświetlaniu sklepu na urządzeniu mobilnym. W panelu administracyjnym Ustawienia/ Ustawienia sklepu/ Ogólne widoczny jest parametr "Dedykowany szablon dla wersji mobilnej", który znajduje zastosowanie dla specjalnie przygotowanych dedykowanych szablonów posiadających osobną wersję mobilną. Dodatkowo zablokowano możliwość aktywacji tej funkcji, jeżeli w e-Sklepie nie ma wymaganego szablonu. Podczas aktualizacji e-Sklepu, w przypadku, gdy w sklepie nie utworzono specjalnego szablonu dla wersji mobilnej, następuje deaktywacja wersji mobilnej.

Obiekty w sklepie

W Comarch e-Sklep oddaliśmy do Państwa dyspozycji obiekty. Wyróżniamy dwa rodzaje obiektów, są to obiekty globalne oraz obiekty lokalne.
Wskazówka
Aktywacja obiektów w Comarch e-Sklep odbywa się w Panelu Administracyjnym, w sekcji Wygląd sklepu/ Ustawienia/ Więcej/ Edytuj ustawienia zaawansowane/ Obiekty.
comarch-e-sklep-panel-administracyjny
Uwaga
Obiekty globalne nie wymagają aktywacji, są importowane wraz z szablonem. Obiekty tego typu są dostępne na każdej stronie sklepu.
Do obiektów globalnych zaliczamy:
  1. config,
  2. page,
  3. customer,
  4. currency,
  5. usr,
  6. __action,
  7. __actionGET,
  8. settings,
  9. translations
Wskazówka
Więcej na temat obiektów globalnych mogą Państwo przeczytać w artykule o obiektach globalnych
Uwaga
Obiekty lokalne domyślnie nie są dostępne w sklepie. Obiekt należy dodać, oraz aktywować na wybranych stronach. Obiekty lokalne są importowane wraz z szablonem. Odwołania do obiektów przez Zmienne Lokalne. Nazwa zmiennej nadawana w momencie aktywacji obiektu. Obiekt udostępnia informacje o aktualnej stronie.
Przykładowe obiekty lokalne dostępne w Comarch e-Sklep to:
  1. productnew,
  2. manufacturersbrands,
  3. productrecommended,
  4. productlist,
  5. cart,
  6. productdetails,
  7. blog,
  8. customerprofile,
  9. productcomparisontool,
  10. productuserreviews,
  11. productlastviewed
Wskazówka
Jest to przykładowa lista obiektów.Więcej na temat obiektów lokalnychmogą Państwo przeczytać w Obiekty lokalne

Akcje

W Comarch e-Sklep udostępniliśmy do Państwa dyspozycji Akcje -  są to działania na stronie związane z interakcją użytkownika (kupującego jak i zarządzającego sklepem), takie jak np. dokonywanie zakupów, dodawanie produktów do koszyka czy zmiana waluty.

Lista dostępnych akcji znajduje się w Panelu Administracyjnym sklepu w następującej ścieżce: Panel administracyjny/Wygląd sklepu/Dokumentacja.

Związane z Klientem

Akcje te możemy określić jako powiązane z Klientem i jego działaniami na stronie. W skład tych akcji wchodzą:
CompanyChange EmployeeUnlock
CompanyDefaultUpdate EmployeeUpdate
ConsentAccept LanguageChange
ConsentsLoginAccept LanguageDefaultUpdate
ConsentWithdraw Login
CurrencyChange Logout
DeliveryAddressAdd OldPasswordChange
DeliveryAddressDelete PasswordChange
DeliveryAddressUpdate PasswordRecover
EmailChange Register
EmployeeAdd ReviewAuthorUpdate
EmployeeDelete Update
EmployeeLock
 

Dotyczące zamówienia

Akcje w tej grupie dotyczą składanych zamówień. W skład tych akcji wchodzą:
Accept DeliveryCountryChange
Add DeliveryDateChange
Cancel EmailSet
AttachmentAdd FastDeliveryCheck
AttachmentDelete InvoiceAddressUpdate
AttributesSet InvoiceChange
ComplaintAdd NoteAdd
BuyerChange PaymentMake
BuyerUpdate PointsUse
ComplaintCancel RestorePayment
Copy ReturnAdd
CouponAdd StatusGet
CouponDelete TinUpdate
DeliveryAddressUpdate StepNext
DeliveryChange StepPrev
DeliveryCollectionPointChange
 

Newsletter

Akcja odpowiada za działanie związane z newsletterem. W skład tych akcji wchodzą:
Subscribe Unsubscribe
 

Akcje GET

Akcje te umożliwiają pobieranie danych z serwera celem utworzenia np. breadcrumbs. W skład tych akcji wchodzą:
CollectionPointCities SearchAdvanced
CollectionPoints SearchAutocomplete
Groups SearchFilters
Search ProductId
 

Produkty

Akcje te odpowiadają za działania związane z produktami, takimi jak możliwość dodania opinii na temat produktu. W skład tych akcji wchodzą:
AskForPrice ReviewAdd
CollectionPointsStockLevelsGet StockLevelsGet
ComparisonToolAdd WishListAdd
ComparisonToolDelete WishListCheck
DeliveryCostGet WishListDelete
FastDeliveryCheck WishListUpdate
NotifyAboutProductAvailability
 

Koszyk

Akcje te odpowiadają za działania związane z koszykiem, np. dodaniem produktu do koszyka. W skład tych akcji wchodzą:
Add NameSet
AttributesSet PositionDelete
Change QuantityChange
Create Recalculate
Delete SetAdd
ExternalAdd SetExtAdd
ImportCSV
 

Kontakt

Akcje te odpowiadają za kontakt, np. w celu zapytania o dany produkt. W skład tych akcji wchodzą:
AskAboutProduct TellFriendAboutProduct
Send
 

Edycja zamówienia

Akcje te związane są z edycją zamówienia. W skład tych akcji wchodzą:
Accept PositionAttributesSet
AttributesSet PositionDelete
Cancel PositionQuantityChange
CartCreate PositionUndo
CartMerge Recalculate
Edit Undo
 

External

Akcje te odpowiedzialne są za możliwość logowania się poprzez Facebook lub Google. W skład tych akcji wchodzą:
FbAccountLink GoogleAccountLink
FbAccountUnlink GoogleAccountUnlink
FbLogin GoogleLogin
 

Sync

Akcje te odpowiadają za działania związane z pobieraniem danych z baz systemów. Więcej informacji można znaleźć klikając w odnośnik - Comarch e-Sklep Sync. W skład tych akcji wchodzą:
Exec
 

Zapytania ofertowe

Akcje te odpowiadają za działania związane ze składaniem zapytań ofertowych. W skład tych akcji wchodzą:
Add Set
CartMerge
 

Sesja użytkownika

Akcje te odpowiadają za działania związane z utrzymywaniem sesji użytkownika. W skład tych akcji wchodzą:
Ping
 

 

Opis używanych akcji:

 
CompanyChange
Akcja odpowiada za zmianę firmy. Parametry:
  • id (int, pole obowiązkowe).
<form action="{{ page.Url }}{{ page.QueryString | H }}" method="post">
<input type="hidden" name="__action" value="Customer/CompanyChange"/>
<input type="hidden" name="id" value=""/>
</form>
 
 
CompanyDefaultUpdate
Akcja odpowiada za wczytanie domyślnych ustawień firmy. Parametry:
  • id (int, pole obowiązkowe).
<form action="{{ page.Url }}{{ page.QueryString | H }}" method="post">
<input type="hidden" name="__action" value="Customer/CompanyDefaultUpdate"/>
<input type="hidden" name="id" value=""/>
</form>
 
 
ConsentAccept
Akcja odpowiadająca za akceptację zgody, na przykład podczas składania zamówienia. Parametry:
  • tos (int lub null),
  • channelKey (string).
{% for tos in customer-profile.Consents -%}
   {% if tos.Checked == false -%}
     <div class="form-lq tos-ui">
     <div class="tos-name-ui">{{ tos.Text }}</div>
       {% assign channelsSize = tos.Channels | Size -%}
        {% if channelsSize > 0 -%}
         {% for channel in tos.Channels -%}
          <div class="channel-ui">
          <button class="agreements-in-profile-lq" data-action="Customer/ConsentAccept" data-key="{{ channel.Key }}">{{translations.Accept}}</button>
          <span class="channel-name-ui">{{channel.Name}}</span>
          </div>
         {% endfor -%}
         {% else -%}
          <div class="date-container-ui">
          <button class="agreements-in-profile-lq tos-lq" data-action="Customer/ConsentAccept" data-key="{{ tos.Id }}">{{translations.AcceptAgreement}}</button>
          </div>
         {% endif -%}
      </div>
    {% endif -%}
{% endfor -%}
 
 
ConsentsLoginAccept
Akcja odpowiadająca za akceptację zgody obowiązkowej podczas logowania. Parametry:
  • tos (int[]) - może zostac przekazane wielokrotnie w ramach jednej akcji (int),
  • channelKey (string[]) - może zostać przekazane wielokrotnie w ramach jednej akcji (string).
<form method="POST">
<input type="hidden" name="__action" value="Customer/ConsentsLoginAccept"/>
{% for tos in __consents -%}
   {% if tos.Required and tos.Statement == false -%}
     {% assign requiredExists = true -%}
     {% break -%}
   {% endif -%}
{% endfor -%}
</form>
 
 
ConsentWithdraw
Akcja odpowiada za wycofanie zgody. Parametry:
  • tos (int lub null),
  • channelKey (string).
{% for tos in customer-profile.Consents -%}
   {% if tos.Checked -%}
     <div class="form-lq tos-ui">
     <div class="tos-name-ui">{{ tos.Text }}</div>
       {% assign channelsSize = tos.Channels | Size -%}
        {% if channelsSize > 0 -%}
         {% for channel in tos.Channels -%}
          <div class="channel-ui">
          {% if channel.Checked -%}
              <button class="agreements-in-profile-js btn-pure-ui f-left-ui" data-action="Customer/ConsentWithdraw" data-key="{{ channel.Key }}">{{translations.Withdraw}}</button>
              <span class="channel-name-with-date-ui">{{channel.Name}}</span>
              <span class="date-label-ui">{{translations.AcceptanceDate}}: </span>
              <span class="date-ui"> <strong>{{channel.Date | Date:dateFormat}}</strong></span>
	      {% assign checkedChannelsSize = checkedChannelsSize | Plus:1 -%}
	  {% endif -%}
          </div>
         {% endfor -%}
         {% else -%}
          <div class="date-container-ui">
		<button class="agreements-in-profile-js tos-js btn-pure-ui" data-action="Customer/ConsentWithDraw" data-key="{{ tos.Id }}">{{translations.WithdrawAgreement}}</button>
		<span class="date-label-ui">{{translations.AgreementAccepted}}: </span>
                <span class="date-ui"> <strong>{{tos.Date | Date:dateFormat}}</strong></span>
		{% if tos.Required -%}
		     <div class="withdraw-required-info-ui error-ui">{{translations.WithdrawRequiredInfo}}!</div>
		{% endif -%}
	  </div>
         {% endif -%}
      </div>
    {% endif -%}
{% endfor -%}
 
 
CurrencyChange
Akcja odpowiada za zmianę waluty. Parametry:
  • currency (string, pole obowiązkowe).
<form method="post">
<select name="currency" required>
{% for currency in config.Currencies -%}
<option value="{{ currency.Code }}">{{ currency.Code }}</option>
{% endfor -%}
</select>
<button type="submit">Zmień</button>
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" required />
<input type="hidden" name="__action" value="Customer/CurrencyChange" required />
</form>
 

 
DeliveryAddressAdd
Akcja odpowiada za dodanie adresu do dostawy. Parametry:
  • addresId (int lub null),
  • default (bool),
  • name (string, pole obowiązkowe) - maksymalna długość to 64 znaki,
  • name2 (string) - maksymalna długość to 64 znaki,
  • name3 (string) - maksymalna długość to 250 znaków,
  • countryCode (string, pole obowiązkowe) - maksymalna długość to 2 znaki,
  • zipCode (string)- maksymalna długość to 20 znaków,
  • city (string) - maksymalna długość to 50 znaków,
  • street (string) - maksymalna długość to 150 znaków,
  • streetNo (string) - maksymalna długość to 20 znaków,
  • unitNo (string) - maksymalna długość to 20 znaków,
  • state (string) - maksymalna długość to 50 znaków,
  • phoneNo (string) - maksymalna długość to 50 znaków.
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Customer/DeliveryAddressAdd" />
<input type="hidden" name="__template" value="customer/profile-data.html" />
{% include 'customer/profile-data-address.html' %}
<button>Zatwierdź</button>
</form>
 

 
DeliveryAddressDelete
Umożliwia usunięcie adresu dostawy. Parametry:
  • addressId (int, pole obowiązkowe).
{% assign address = customer.DeliveryAddresses[0] -%}
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Customer/DeliveryAddressDelete" />
<input type="hidden" name="addressId" value="{{ address.Id }}" />
</form>
 

 
DeliveryAddressUpdate
Akcja umożliwia edycję adresu. Parametry:
  • addresId (int lub null),
  • default (bool),
  • name (string, pole obowiązkowe) - maksymalna długość to 64 znaki,
  • name2 (string) - maksymalna długość to 64 znaki,
  • name3 (string) - maksymalna długość to 250 znaków,
  • countryCode (string, pole obowiązkowe) - maksymalna długość to 2 znaki,
  • zipCode (string) - maksymalna długość to 20 znaków,
  • city (string) - maksymalna długość to 50 znaków,
  • street (string) - maksymalna długość to 150 znaków,
  • streetNo (string) - maksymalna długość to 20 znaków,
  • unitNo (string) - maksymalna długość to 20 znaków,
  • state (string) - maksymalna długość to 50 znaków,
  • phoneNo (string) - maksymalna długość to 50 znaków.
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Customer/DeliveryAddressUpdate" />
<input type="hidden" name="__template" value="customer/profile-data.html" />
<input type="hidden" name="addressId" value="{{ address.Id }}" />
{% if address.Default %}
<input type="hidden" name="default" value="1" />
{% endif %}
<div>
{% if address.Street == "" %}
{% include 'customer/profile-data-address.html' with -1 %}
{% else %}
{% include 'customer/profile-data-address-pr.html' with address.Id %}
{% endif %}
</div>
<button>Zatwierdź</button>
{% if address.Default == false %}
<button data-id="{{ address.Id }}">{{ translations.Cst_RemoveDeliveryAddress}}</button>
{% endif %}
{% if address.Default == false %}
<button>Zatwierdź</button>
{% endif %}
</form>
 

 
EmailChange
Akcja odpowiadająca zmianie adresu e-mail. Parametry:
  • email (string, pole obowiązkowe, wyrażenie regularne) - maksymalna długość to 192 znaki,
  • emailRepeat (string, pole obowiązkowe, wyrażenie regularne) - maksymalna długość to 192 znaki,
  • password (string, pole obowiązkowe),
  • doNotChangeCompanyEmail (bool) - występuje tylko w wersji enterprise.
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Customer/EmailChange" />
<input type="hidden" name="__template" value="customer/profile-account.html" />
<input type="email" name="email" placeholder="* {{ translations.Prf_NewEmail }}" required />
<input type="email" name="emailRepeat" placeholder="* {{ translations.Prf_RepeatEmail }}" required />
<input type="password" name="password" placeholder="* {{ translations.Com_Password }}"
required />
<button>Zmień</button>
</form>
 

 
EmployeeAdd
Akcja odpowiada za dodanie pracownika. Parametry:
  • email (string, pole obowiązkowe, wyrażenie regularne) - maksymalna długość to 192 znaki.
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}"/>
<input type="hidden" name="__action" value="Customer/EmployeeAdd" />
<input type="email" name="email" placeholder="" required />
<button>Zatwierdź</button>
</form>
 

 
EmployeeDelete
Akcja odpowiada za usunięcie pracownika. Parametry:
  • id (int, pole obowiązkowe).
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}"/>
<input type="hidden" name="__action" value="Customer/EmployeeDelete" />
<input type="number" name="id" placeholder="" required />
<button>Zatwierdź</button>
</form>
 
 
EmployeeLock
Akcja odpowiada za zablokowanie pracownika. Parametry:
  • id (int, pole obowiązkowe).
<form method="POST"> <input type="hidden" name="__csrf" value="{{ page.CSRF }}"/> 
<input type="hidden" name="__action" value="Customer/EmployeeLock" /> 
<input type="number" name="id" placeholder="" required /> 
<button>Zatwierdź</button> 
</form>
 
 
EmployeeUnlock>
Akcja odpowiada za odblokowanie pracownika. Parametry:
  • id (int, pole obowiązkowe).
<form method="POST"> <input type="hidden" name="__csrf" value="{{ page.CSRF }}"/> 
<input type="hidden" name="__action" value="Customer/EmployeeUnock" /> 
<input type="number" name="id" placeholder="" required /> 
<button>Zatwierdź</button> 
</form>
 
 
EmployeeUpdate
Akcja ta odpowiada za aktualizację danych pracowników w profilu. Parametry:
  • name (string) - maksymalna długość to 50 znaków,
  • name2 (string) - maksymalna długość to 50 znaków,
  • phoneNo (string) - maksymalna długość to 50 znaków,
  • languageId (short lub null).
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}"/>
<input type="hidden" name="__action" value="Customer/EmployeeUpdate" />
<input type="text" name="name" placeholder=" "/>
<input type="text" name="name2" placeholder=" " />
<input type="tel" name="phoneNo" placeholder=" " />
<button>Zatwierdź</button>
</form>
 

 
LanguageChange
Odpowiada za wybór i zmianę języka w sklepie. Parametry:
  • languageId (short, pole obowiązkowe).
{% assign lngCount = config.Languages | Size -%}
{% if lngCount > 1 -%}
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Customer/LanguageChange" />
<select name="languageId">
{% for lng in config.Languages -%}
<option value="{{ lng.Id }}" {% if page.LanguageId == lng.Id -%} selected {% endif -%}>{{ lng.Name }}</option>
{% endfor -%}
</select>
{% endif -%}
</form>
 

 
LanguageDefaultUpdate
Odpowiada za ustawienie domyślnego języka. Parametry:
  • languageId (short, pole obowiązkowe).
{% assign lngCount = config.Languages | Size -%}
{% if lngCount > 1 -%}
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Customer/LanguageDefaultUpdate" />
<select name="languageId">
{% for lng in config.Languages -%}
<option value="{{ lng.Id }}" {% if page.LanguageId == lng.Id -%} selected {% endif -%}>{{ lng.Name }}</option>
{% endfor -%}
</select>
{% endif -%}
</form>
 

 
Login
Akcja odpowiadająca za logowanie. Parametry:
  • email (string, pole obowiązkowe, wyrażenie regularne) - maksymalna długość to 192 znaki,
  • password (string, pole obowiązkowe),
  • remember (bool).
<form method="POST">
<input type="hidden" name="__action" value="Customer/Login" />
<input type="email" name="email" value="{{ customer.Email }}"
{% if customer.Email == blank %} placeholder="* {{ translations.Com_EmailAddress }} "
{% endif %}
required autofocus />
<input type="password" name="password" placeholder="* {{ translations.Com_Password }}"
required />
<a href="{{ config.DefinedPages.PasswordReminder.Url }}" class="remind">{{ translations.Lgn_DontRememberPassword }}</a>
<button>Login</button>
</form>
 

 
Logout
Akcja ta odpowiada za wylogowanie zalogowanego użytkownika (Klienta).
<form action="{{ page.Url }}{{ page.QueryString | H}}" method="post">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Customer/Logout" />
<button>Wyloguj</button>
</form>
 

 
OldPasswordChange
Akcja odpowiadająca za zmianę hasła. Parametry:
  • oldPassword (string, pole obowiązkowe),
  • password (string, pole obowiązkowe),
  • passwordRepeat (string, pole obowiązkowe).
<form method="POST">
<input type="hidden" name="__action" value="Customer/OldPasswordChange" />
<input type="hidden" name="__template" value="customer/profile-account.html" />
<input type="password" name="oldPassword" placeholder="" required />
<input type="password" name="password" placeholder=" " required />
<input type="password" name="passwordRepeat" placeholder=" " required />
<button>Zatwierdź</button>
</form>
 

 
PasswordChange
Akcja odpowiadająca za zmianę hasła (np. przy pomocy formularza ,,zapomniałem hasła"). Parametry:
  • password (string, pole obowiązkowe),
  • passwordRepeat (string, pole obowiązkowe),
  • hash (string, pole obowiązkowe).
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Customer/PasswordChange" />
<input type="hidden" name="hash" value="{{ page.GET['hash'] }}" >
<input type="password" name="password" value="" required/>
<input type="password" name="passwordRepeat" value="" required/>
<button>Zatwierdź</button>
</form>
 

 
PasswordRecover
Akcja której zadaniem jest odzyskanie hasła. Parametry:
  • email (string, pole obowiązkowe, wyrażenie regularne) - maksymalna długość to 192 znaki.
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Customer/PasswordRecover" />
<input type="email" name="email" value="{{ customer.Email }}" required/>
<button>Zatwierdź</button>
</form>
 

 
Register
Akcja ta odpowiada za rejestrację użytkownika. Parametry:
  • company (bool),
  • email (string, pole obowiązkowe, wyrażenie regularne) - maksymalna długość to 192 znaki,
  • password (string, pole obowiązkowe),
  • passwordRepeat (string),
  • phoneNo (string) - maksymalna długość to 50 znaków,
  • name (string) - maksymalna długość to 64 znaki,
  • name2 (string) - maksymalna długość to 64 znaki,
  • name3 (string) - maksymalna długość to 250 znaków,
  • countryCode (string) - maksymalna długość to 2 znaki,
  • zipCode  (string) - maksymalna długość to 20 znaków,
  • city (string) - maksymalna długość to 50 znaków,
  • street (string) - maksymalna długość to 150 znaków,
  • streetNo (string) - maksymalna długość to 20 znaków,
  • unitNo (string) - maksymalna długość to 20 znaków,
  • state (string) - maksymalna długość to 50 znaków,
  • tin (string) - maksymalna długość to 20 znaków,
  • ssn (string) - maksymalna długość to 20 znaków,
  • tos (int[]) - może zostać przekazane wielokrotnie w ramach jednej akcji (int),
  • channelKey (string[]) - może zostać przekazane wielokrotnie w ramach jednej akcji (string),
  • vateu (string) - występuje tylko w wersji Enterprise, maksymalna długość to 2 znaki.
Uwaga
W przypadku użytkowników nie będących firmami pola obowiązkowe to jedynie mail oraz password, przykładowy kod dla takiego rozwiązania zawierałby jedynie te dwa pola.
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Customer/Register" />
<input type="hidden" name="company" value="{% if registerCompany %}1{% endif %}" />
{% if registerCompany == 0 %}
    <input type="email" name="email" value="{{ customer.Email }}" {% if customer.Email == blank %} placeholder=" " {% endif %} required autofocus />
    <input type="password" name="password" placeholder="* {{ translations.Com_Password }}" required />
    {% if registerCompany %}
        {% if config.ENTERPRISE %}
        <select name="vateu" class="small">
        {% for v in config.VATEU %}
            <option value="{{ v.Value }}">{{ v.Name }}</option>
        {% endfor %}
        </select>
    {% endif %}
    <input type="text" name="tin" class="small nm" placeholder=" " />
{% endif %}
{% if registerConf.AddressVisible %}
    <input type="text" name="name" placeholder=" " {% if customerAddressRequired %} required {% endif %} />
    <input type="text" name="name2" />
    <select name="countryCode" placeholder=" " {% if customerAddressRequired %} required {% endif %} >
    {% for c in config.Countries %}
        <option {% if config.DefaultCountry == c.ISOCode %} selected {% endif %} value="{{ c.ISOCode }}">{{ c.Name }}</option>
    {% endfor %}
    </select>
    <input type="text" name="street" placeholder=" " {% if customerAddressRequired %} required {% endif %} />
    <input type="text" name="streetNo" placeholder=" " {% if customerAddressRequired %} required {% endif %} />
    <input type="text" name="unitNo" placeholder=" " />
    <input type="text" name="zipCode" placeholder=" " {% if customerAddressRequired %} required {% endif %} />
    <input type="text" name="city" placeholder=" " {% if customerAddressRequired %} required {% endif %} />
    {% comment %}
    <input type="text" name="state" placeholder=" " {% if customerAddressRequired %} required {% endif %} />
    {% endcomment %}
{% endif %}
{% if registerConf.PhoneVisible %}
    <input type="tel" name="phoneNo" placeholder=" " {% if registerConf.PhoneRequired %} required {% endif %} />
{% endif %}
<div class="switch">
    {% for tos in config.TOS.Consents.Registration -%}
        {% if tos.Statement %}
            <label>{{tos.Text}}</label>
        {% else %}
            <input name="tos" id="tos{{ tos.Id }}" type="checkbox" value="{{ tos.Id }}" {% if tos.Required %} required {% endif %} />
            <label for="tos{{ tos.Id }}">{% if tos.Required %}*{% endif %} {{tos.Text}}</label>
        {% endif %}
    {% endfor -%}
</div>
<a href="{{ config.DefinedPages.Login.Url }}">{{ translations.Lgn_LoginB }}</a>
</form>
 

 
ReviewAuthorUpdate
Odpowiada za dodanie nicku dla użytkownika który dodaje opinie o produkcie. Parametry:
  • author (string, pole obowiązkowe) - maksymalna długość to 50 znaków.
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Customer/ReviewAuthorUpdate" />
<input type="hidden" name="__template" value="customer/profile-account.html" />
<input type="text" name="author" value="{{ customer.ReviewAuthor }}"
placeholder=" " required />
<button>Zatwierdź</button>
</form>
 

 
Update
Akcja odpowiadająca za zmianę danych konta. Parametry:
  • email (string, wyrażenie regularne) - maksymalna długość to 192 znaki,
  • company (bool),
  • name (string, pole obowiązkowe) - maksymalna długość to 64 znaki,
  • name2 (string) - maksymalna długość to 64 znaki,
  • name3 (string) - maksymalna długość to 250 znaków,
  • countryCode (string, pole obowiązkowe) - maksymalna długość to 2 znaki,
  • zipCode (string) - maksymalna długość to 20 znaków,
  • city (string) - maksymalna długość to 50 znaków,
  • street (string) - maksymalna długość to 150 znaków,
  • streetNo (string) - maksymalna długość to 20 znaków,
  • unitNo (string) - maksymalna długość to 20 znaków,
  • state (string) - maksymalna długość to 50 znaków,
  • phoneNo (string) - maksymalna długość to 50 znaków,
  • tin (string) - maksymalna długość to 20 znaków,
  • ssn (string) - maksymalna długość to 20 znaków,
  • invoice (bool),
  • vateu (string) - występuje tylko w wersji Enterprise, maksymalna długość to 2 znaki,
  • subtotalPrices (bool) - występuje tylko w wersji enterprise.
<form action="{{ page.Url }}{{ page.QueryString | H}}" method="post" novalidate>
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Customer/Update" />
<input type="hidden" name="__template" value="customer/profile-data.html" />
<input type="hidden" name="company" value="{% if customer.Company %}1{% endif %}" />
<input type="hidden" name="invoice" value="{% if customer.Invoice %}1{% endif %}" />
<div>
{% if customer.Address.Street <> "" %}
{% include 'customer/profile-data-address-pr.html' with -1 %}
{% if customer.Company %}
{% include 'customer/profile-data-compaddr-pr.html'%}
{% endif %}
{% else %}
{% include 'customer/profile-data-address.html' with -1 %}
{% if customer.Company %}
{% include 'customer/profile-data-compaddr.html'%}
{% endif %}
{% endif %}
</div>
<button>Zatwierdź</button>
{% if customer.Address.Street <> "" %}<button>Zatwierdź</button>{% endif %}<div>
{{ translations.Prf_AccountFor }}: {% if customer.Company == false %}{{ translations.Prf_RetailCustomer }}{%else%}{{ translations.Prf_Company }}{%endif%}
</div>
</form>
 

 
Accept
Umożliwia akceptację zamówienia w sytuacji, gdy mamy do czynienia z np. negocjowalnym kosztem transportu. Parametry:
  • id (int, pole obowiązkowe),
  • hash (string).
<div class="form-js no-message-lq">
    <input type="hidden" name="__action" value="Order/Accept" />
    <input type="hidden" name="id" value="{{ order.Id }}" />
    <input type="hidden" name="hash" value="{{ order.Hash }}" />
    <button class="post-lq parent-container-reload-js">
        {{ translations.OrderAccept }}
    </button>
</div>
 
 
Add
Odpowiada za dodanie zamówienia. Parametry:
  • tos (int[]) - może zostać przekazane wielokrotnie w ramach jednej akcji (int),
  • channelKey (string[]) - może zotać przekazane wielokrotnie w ramach jednej akcji (string).
<div class="form-js adding-order-form-js tos-form-ui {% if settings.cartVersion == 'comfortable' -%} comfortable-tos-ui {% endif -%}">
    <input  aria-label="action-order-add" type="hidden" name="__action" value="Order/Add" />
    {% for tos in config.TOS.Consents.Order -%}
        {% assign channelsSize = tos.Channels | Size -%}
        {% if channelsSize > 0 -%}
            {% assign onlyEmail = false -%}
            {% if channelsSize == 1 and tos.Channels[0].Type == 1 -%}
                {% assign onlyEmail = true -%}
            {% endif -%}
            {% if onlyEmail == false -%}
                <span class="error-ui validation-info-js validation-channel-js hidden-js">{{ translations.ChooseOption }}</span>
            {% endif -%}
        {% endif -%}
        <div class="tos-container-js {% if tos.Statement -%} statement-ui statement-lq {% endif -%}" >
            {% if tos.Statement -%}
                {% unless channelsSize == 1 -%}
                    {% if tos.Required-%}<span class="required-ui">* </span>{% endif -%} {{tos.Text | Remove: '.' }} {{translations.Consents_InTheFormOf}}:
                {% endunless -%}
            {% else -%}
            <label class="checkbox-ui tos-js">
            {% if channelsSize == 1 -%}
                <input aria-label="tos" type="checkbox" name="tos" value="{{ tos.Id }}" {% if tos.Required -%} required {% endif -%} />
            {% elsif channelsSize > 0 -%}
                <input aria-label="tos" type="checkbox" name="tos" value="{{ tos.Id }}" {% if tos.Required -%} required {% endif -%} />
                <span>{% if tos.Required-%}<span class="required-ui">* </span>{% endif -%} {{tos.Text | Remove: '.' }} {{translations.Consents_InTheFormOf}}:</span>
                {% if tos.Required -%}
                    <span class="error-ui validation-info-js validation-required-js hidden-js">{{ translations.RequiredField }}</span>
                {% endif -%}
            {% else -%}
                <input  aria-label="tos" type="checkbox" name="tos" value="{{ tos.Id }}" {% if tos.Required -%} required {% endif -%} />
                <span class="label-ui">{% if tos.Required -%}<span class="required-ui">*</span> {% endif -%}{{ tos.Text }}</span>
                {% if tos.Required -%}
                    <span class="error-ui validation-info-js validation-required-js hidden-js">{{ translations.RequiredField }}</span>
                {% endif -%}
            {% endif -%}
            </label>
            {% endif -%}
            {% if channelsSize > 0 -%}
                {% if onlyEmail == false -%}
                    <span class="error-ui validation-info-js validation-channel-js hidden-js">{{ translations.ChooseOption }}</span>
                {% endif -%}
            {% endif -%}
            {% for channel in tos.Channels -%}
                <label class="checkbox-ui channel-ui {% if channelsSize > 0 -%} channel-js {% endif -%}">
                {% if tos.Statement -%}
                    {% if channelsSize == 1 -%}
                        <input aria-label="channelKey" type="hidden" name="channelKey" value="{{ channel.Key }}" checked />
                        <input aria-label="channelKey" type="checkbox" checked disabled />
                        <span class="statementLabel-ui">{% if tos.Required-%}<span class="required-ui">* </span>{% endif -%} {{tos.Text | Remove: '.' }} {{translations.Consents_InTheFormOf}} {% unless channel.Name == "SMS" -%} {{ channel.Name | Downcase }}. {% else -%} {{ channel.Name }}. {% endunless -%}</span>
                    {% elsif channelsSize > 0 -%}
                        <input aria-label="channelKey" type="checkbox" name="channelKey" value="{{ channel.Key }}" checked />
                        <span class="statementLabel-ui" >{{ channel.Name }}</span>
                    {% endif -%}
                {% else -%}
                    {% if channelsSize == 1 -%}
                        <input  aria-label="channelKey" type="checkbox" name="channelKey" value="{{ channel.Key }}" />
                        <span class="label-ui" style="margin-left: 0 !important;">{% if tos.Required-%}<span class="required-ui">* </span>{% endif -%} {{tos.Text | Remove: '.' }} {{translations.Consents_InTheFormOf}} {% unless channel.Name == "SMS" -%} {{ channel.Name | Downcase }}. {% else -%} {{ channel.Name }}. {% endunless -%}</span>
                    {% elsif channelsSize > 0 -%}
                        <input  aria-label="channelKey" type="checkbox" name="channelKey" value="{{ channel.Key }}" />
                        <span class="label-ui">{{ channel.Name }}</span>
                    {% endif -%}
                {% endif -%}
                </label>
            {% endfor -%}
        </div>
    {% endfor -%}
    <small class="mb10-ui block-ui"><span class="required-ui">*</span> {{ translations.RequiredFields }}</small>
    <div class="order-validation-lq hidden-js message-bar-ui warning-bar-ui">{{translations.ConfirmAll}}</div>
        {% if customer.CreditLimit and creditStatus == 2 -%}
            <div class="order-validation-lq credit-limit-error-ui message-bar-ui error-bar-ui">{{ translations.CreditLimitStatus_2 }}</div>
        {% elsif customer.CreditLimit and creditStatus == 1 -%}
            <div class="order-validation-lq credit-limit-error-ui message-bar-ui warning-bar-ui">{{ translations.CreditLimitStatus_1 }}</div>
        {% endif -%}
        {% if usr.Authenticated or notAuthWithData -%}
            <div class="summary-with-btn-js summary-with-btn-ui" {% if settings.cartVersion == "comfortable" -%} style="display: none;" {% endif -%}>
            <div class="clear-after-ui box-ui">
                <div class="f-left-ui half-ui total-amount-label-ui"><strong>{{ translations.AmountDue }}</strong></div>
                <div class="f-right-ui half-ui total-amount-ui">{{ order.OrderTotalValue | ToPrice }} {{ order.CurrencyExt }}</div>
            </div>
            <button aria-label="order-recalculate" class="order-button-ui parent-container-reload-js {% if creditStatus != 2 -%} add-order-lq {% endif -%}" {% if creditStatus == 2 -%}disabled{% endif -%}>
                {{translations.PayAndOrder}}
            </button>
    </div>
{% endif -%}
</div>
 

 
Cancel
Akcja ta odpowiada za anulowanie zamówienia. Parametry:
  • id (int, pole obowiązkowe),
  • hash (string).
<div class="form-js form-into-data-lq" data-success="{{ translations.OrderCanceled }}">
    <input type="hidden" name="__action" value="Order/Cancel" />
    <input type="hidden" name="id" value="{{ order.Id }}" />
    <input type="hidden" name="hash" value="{{ order.Hash }}" />
    <button class="btn-gray-ui parent-container-reload-js cancel-order-lq">
        {{ translations.OrderCancel }}
    </button>
</div>
 

 
AttachmentAdd
Akcja odpowiada za dodawanie załącznika do zamówienia. Parametry:
  • file - pole do wczytywania plików.
function processFilesList(fileInput, fileList) {
    var file = fileList.pop();
    if (file) {
        var fd = new FormData();
        fd.append('__csrf',__CSRF);
        fd.append('__action','Order/AttachmentAdd');
        fd.append('__template','order/attachements.html');
        fd.append('file', file);
        $.ajax({data: fd, processData: false, contentType: false, type: 'POST',
            success: function(data){
                fileInput.val('');
                if(data.action.Result){
                    $('.attachements-lq').html(data.template);
                } else {
                    if(window.AttachementsNotAdded == undefined){
                        window.AttachementsNotAdded = [];
                    }
                    var attachement = '<div style="padding: 20px;"><strong>'+file.name+'</strong>: '+data.action.Message+'</div>';
                    window.AttachementsNotAdded.push(attachement);
                }
                processFilesList(fileInput, fileList);
            }
        });
 

 
AttachmentDelete
Akcja odpowiada za usuwanie załącznika do zamówienia. Parametry:
  • id (guid, pole obowiązkowe).
function removeAttachementInOrder(e) {
    $.post('', {__csrf: __CSRF, __action: 'Order/AttachmentDelete', id: $(e.currentTarget).data('id')}, function(result) {
        $(e.currentTarget).parents('.file-container-lq').remove();
    });
};
 

 
AttributesSet
Akcja odpowiada za ustawienie atrybutów zamówienia. Parametry:
  • attribute (string[]) - może zotać przekazane wielokrotnie w ramach jednej akcji (string), maksymalna długość to 1000 znaków.
{% assign headerSize = config.Orders.AttributesCart.Header | Size -%}
    {% if headerSize > 0 and settings.cartVersion != "comfortable" -%}
        <div class="form-js header-attributes-set-form-js">
            <input  aria-label="action-order-attributesset" type="hidden" name="__action" value="Order/AttributesSet" />
            <div class="box-ui mt20-ui clear-after-ui address-ui">
                {% for headerAttr in config.Orders.AttributesCart.Header -%}
                    <div class="header-attribute-cart-ui">
                        <label>
                            {{ headerAttr.Name }}
                            {% if headerAttr.Required -%}
                                <span class="required-ui">*</span>
                            {% endif -%}
                        </label>
                        {% case headerAttr.Format -%}
                            {% when 1 -%}
                                <input  aria-label="attribute" type="text" name="attribute" value="" maxlength="50" {% if headerAttr.Required -%} required {% endif -%} {% if positionAttr.Editable -%} data-editable="true" {% endif -%} />
                            {% when 2 -%}
                                <input  aria-label="attribute" type="number" name="attribute" value="" maxlength="50" {% if headerAttr.Required -%} required {% endif -%} {% if positionAttr.Editable -%} data-editable="true" {% endif -%} />
                            {% when 3 -%}
                                <span class="select-background-ui">
                                    <select aria-label="attribute" name="attribute" {% if positionAttr.Editable -%} data-editable="true" {% endif -%}>
                                        {% for val in headerAttr.Values %}
                                            <option {% if val.ValueId == headerAttr.Values[0].ValueId -%} selected="selected" {% endif -%} value="{{ val.ValueId }}">{{ val.Value }}</option>
                                        {% endfor -%}
                                    </select>
                                </span>
                                <i class="ti-angle-down select-arrow-ui"></i>
                            {% when 4 -%}
                                <input aria-label="attribute" type="date" name="attribute" value="" placeholder="rrrr-mm-dd" {% if headerAttr.Required -%} required {% endif -%} {% if positionAttr.Editable -%} data-editable="true" {% endif -%} />
                        {% endcase -%}
                        <div class="error-ui validation-info-js validation-required-js hidden-js">
                            {{ translations.FillAttributeValue }}
                        </div>
                    </div>
                {% endfor -%}
            </div>
        </div>
    {% endif -%}
 

 
ComplaintAdd
Akcja odpowiada za dodanie reklamacji. Parametry:
  • orderId (int, pole obowiązkowe),
  • no (int, pole obowiązkowe),
  • quantity (decimal) - może przyjąć wartość od 0.01 do 99999,
  • message (string) - maksymalna długość to 1000 znaków,
  • accountNumber (string) - maksymalna długość to 50 znaków,
  • defectId (int lub null),
  • requestId (int lub null),
  • defectDate (string, pole obowiązkowe, wyrażenie regularne),
  • files - pole do wczytywania plików.
<form method="POST">
    <input type="text" name="quantity" min="1" placeholder="{{translations.Com_Quantity}}" />
    {% if config.Complaints.Defects <> null -%}
        {% assign defectsSize = config.Complaints.Defects | Size -%}
        <select name="defectId">
        {% if defectsSize > 1 -%}
            <option value="">{% if defectsSize > 1 -%}* {% endif -%} {{translations.Prf_Defect}}</option>
        {% endif -%}
        {% for def in config.Complaints.Defects -%}
            <option value="{{def.Id}}">{{def.Name}}</option>
        {% endfor -%}
        </select>
    {% endif -%}
    <input type="date" name="defectDate" placeholder="RRRR-MM-DD" data-placeholder="year-month-day" value="{{config.Now | Date: "yyyy-MM-dd"}}" max="{{config.Now | Date: "yyyy-MM-dd"}}" min="{{order.Date | Date: "yyyy-MM-dd"}}"/>
    <textarea name="message" placeholder="{{translations.Com_AditionalInfo}}"></textarea>
    {% if config.Complaints.Requests <> null -%}{% assign requestsSize = config.Complaints.Requests | Size -%}
        <select name="requestId">
       {% if requestsSize > 1 -%}
           <option value="">{% if requestsSize > 1 -%}* {% endif %} {{translations.Prf_ComplainRequest}}</option>
       {% endif %}
       {% for req in config.Complaints.Requests -%}
           <option value="{{req.Id}}">{{req.Name}}</option>
       {% endfor -%}
       </select>
    {% endif -%}
    <input type="text" name="accountNumber" placeholder="{{translations.Crt_BankAccountNumber}}" />send
    <button>{{translations.Prf_SubmitAComplaint}}</button>
    <input type="hidden" name="no" value="{{ product.No }}"/>
    <input type="hidden" name="orderId" value="{{ order.Id }}"/>
    <input type="hidden" name="__action" value="Order/ComplaintAdd" />
    <input type="hidden" name="__CSRF" value="{{page.CSRF}}"/>
</form>
 
 
BuyerChange
Akcja odpowiedzialna za zmianę nabywcy. Parametry:
  • buyer (bool).
{% if order.Customer.Buyer == null -%}
    <script>
        $.post('', {__action: 'Order/BuyerChange', buyer: true, __csrf: __CSRF});
    </script>
{% endif -%}
 

 
BuyerUpdate
Akcja odpowiedzialna za aktualizację danych nabywcy. Parametry:
  • name (string, pole obowiązkowe) - maksymalna długość to 64 znaki,
  • name2 (string) - maksymalna długość to 64 znaki,
  • name3 (string) - maksymalna długość to 250 znaków,
  • countryCode (string, pole obowiązkowe) - maksymalna długość to 2 znaki,
  • zipCode (string) - maksymalna długość to 20 znaków,
  • city (string) - maksymalna długość to 50 znaków,
  • street (string) - maksymalna długość to 150 znaków,
  • streetNo (string) - maksymalna długość to 20 znaków,
  • unitNo (string) - maksymalna długość to 20 znaków,
  • state (string) - maksymalna długość to 50 znaków,
  • phoneNo (string) - maksymalna długość to 50 znaków,
  • vateu (string) - maksymalna długość to 2 znaki,
  • tin (string),
  • ssn (string) - maksymalna długość to 20 znaków,
  • invoice (bool),
  • company (bool).
<form method="POST">  
   <input type="text" name="name" value="{% if customerDeliveryAddress.Name != "" -%}{{ customerDeliveryAddress.Name | H }}{% else -%}{{ customerAddress.Name | H }}{% endif -%}" required/> 
   <input type="text" name="street" value="{% if customerDeliveryAddress.Street != "" -%}{{ customerDeliveryAddress.Street | H }}{% else -%}{{ customerAddress.Street | H }}{% endif -%}" required/> 
   <input type="text" name="streetNo" value="{% if customerDeliveryAddress.StreetNo != "" -%}{{ customerDeliveryAddress.StreetNo }}{% else -%}{{ customerAddress.StreetNo }}{% endif -%}" required/> 
   <input type="text" name="countryCode" value="{% if customerDeliveryAddress.CountryCode != "" -%}{{ customerDeliveryAddress.CountryCode }}{% else -%}{{ customerAddress.CountryCode }}{% endif -%}" required/>
   <input type="text" name="unitNo" value="{% if customerDeliveryAddress.UnitNo != "" -%}{{ customerDeliveryAddress.UnitNo }}{% else -%}{{ customerAddress.UnitNo }}{% endif -%}"/> 
   <input type="text" name="zipCode" value="{% if customerDeliveryAddress.ZipCode != "" -%}{{ customerDeliveryAddress.ZipCode }}{% else -%}{{ customerAddress.ZipCode }}{% endif -%}" required/> 
   <input type="text" name="city" value="{% if customerDeliveryAddress.City != "" -%}{{ customerDeliveryAddress.City | H }}{% else -%}{{ customerAddress.City | H }}{% endif -%}" required/> 
   <input type="hidden" name="__csrf" value="{{ page.CSRF }}" /> 
   <input type="hidden" name="__action" value="Order/BuyerUpdate" /> 
</form>
 

 
ComplaintCancel
Akcja ta odpowiada za anulowanie reklamacji. Parametry:
  • complaintId (int, pole obowiązkowe).
<div class="form-js form-into-data-lq">
	<input type="hidden" name="__action" value="Order/ComplaintCancel" />
	<input type="hidden" name="complaintId" value="{{ complaint.ComplaintId }}" />
	<button class="btn-gray-ui parent-container-reload-js cancel-complaint-lq">
   		{{ cancel }}
	</button>
</div>
 

 
Copy
Akcja odpowiadająca za kopiowanie zamówienia. Parametry:
  • orderId (int, pole obowiązkowe),
  • hash (string).
async function copyToCart(trigger, changeToInquiry){
    document.getElementsByClassName('during-ajax-modal-js')[0].classList.remove('hidden-js');
    if(trigger.classList == undefined){
        var trigger = this;
    }
    const id = trigger.dataset.id;
    const hash = trigger.dataset.hash;
    const data = {
        orderId: id,
        hash: hash,
        __action: 'Order/Copy'
    };
    const result = await js.post(data);
 

 
CouponAdd
Akcja pozwalająca na dodanie kuponu. Parametry:
  • code (string, pole obowiązkowe) - maksymalna długość to 40 znaków,
  • email (string, wyrażenie regularne) - maksymalna długość to 192 znaki.
<div class="form-js form-into-data-lq block-ui clear-after-ui {% if settings.cartVersion == 'comfortable' -%} comfortable-coupon-container-ui {% endif -%}">
    <input aria-label="action-order-couponadd" type="hidden" name="__action" value="Order/CouponAdd" />
    <div class="inputs-wrapper-ui clear-after-ui f-left-ui">
        <input aria-label="email" type="hidden" name="email" value="{{ customer.Email }}" />
        <div class="f-left-ui input-wrapper-ui full-ui">
            <span class="f-left-ui">{{ translations.DiscountCode }}</span>
            <input aria-label="code" type="text" class="f-left-ui no-email-ui" name="code" maxlength="50"/>
            <div class="error-ui validation-info-js validation-required-js hidden-js">{{ translations.FillDiscountCode }}</div>
        </div>
    </div>
    <button aria-label="add-coupon" class="add-coupon-lq enter-key-trigger-lq parent-container-reload-js add-coupon-ui f-right-ui">{{ translations.Calculate }}</button>
</div>
 

 
CouponDelete
Akcja umożliwiająca usunięcie kuponu.
<div class="form" id="coupon-delete">
    <button aria-label="deleteCouponButton" type="submit" class="coupon-delete-post"><span class="glyphicon glyphicon-remove"></span> {{translations.Crt_CouponDelete}}</button>
    <p>{{cart.Coupon}}</p>
    <input aria-label="action" type="hidden" name="__action" value="Order/CouponDelete"/>
</div>
 

 
DeliveryAddressUpdate
Akcja odpowiada za uaktualnienie adresu dostawy. Parametry:
  • email (string, pole obowiązkowe, wyrażenie regularne) - maksymalna długość to 192 znaki,
  • name (string, pole obowiązkowe) - maksymalna długość to 64 znaki,
  • name2 (string) - maksymalna długość to 64 znaki,
  • name3 (string) - maksymalna długość to 250 znaków,
  • zipCode (string) - maksymalna długość to 20 znaków,
  • city (string) - maksymalna długość to 50 znaków,
  • street (string) - maksymalna długość to 150 znaków,
  • streetNo (string) - maksymalna długość to 20 znaków,
  • unitNo (string) - maksymalna długość to 20 znaków,
  • state (string) - maksymalna długość to 50 znaków,
  • phoneNo (string) - maksymalna długość to 50 znaków.
<form method="POST">
    <input type="email" name="email" value="{% if cart.Customer.Email != "" -%}{{ cart.Customer.Email }}{% else -%}{{ customer.Email }}{% endif -%}" required/>
    <input type="text" name="name" value="{% if customerDeliveryAddress.Name != "" -%}{{ customerDeliveryAddress.Name | H }}{% else -%}{{ customerAddress.Name | H }}{% endif -%}" required/>
    <input type="text" name="name2" value="{% if customerDeliveryAddress.Name != "" -%}{{ customerDeliveryAddress.Name2 | H }}{% else -%}{{ customerAddress.Name2 | H }}{% endif -%}"/>
    <input type="text" name="name3" value="{% if customerDeliveryAddress.Name != "" -%}{{ customerDeliveryAddress.Name3 | H }}{% else -%}{{ customerAddress.Name3 | H }}{% endif -%}"/>
    <input type="text" name="street" value="{% if customerDeliveryAddress.Street != "" -%}{{ customerDeliveryAddress.Street | H }}{% else -%}{{ customerAddress.Street | H }}{% endif -%}" required/>
    <input type="text" name="streetNo" value="{% if customerDeliveryAddress.StreetNo != "" -%}{{ customerDeliveryAddress.StreetNo }}{% else -%}{{ customerAddress.StreetNo }}{% endif -%}" required/>
    <input type="text" name="unitNo" value="{% if customerDeliveryAddress.UnitNo != "" -%}{{ customerDeliveryAddress.UnitNo }}{% else -%}{{ customerAddress.UnitNo }}{% endif -%}"/>
    <input type="text" name="zipCode" value="{% if customerDeliveryAddress.ZipCode != "" -%}{{ customerDeliveryAddress.ZipCode }}{% else -%}{{ customerAddress.ZipCode }}{% endif -%}" required/>
    <input type="text" name="city" value="{% if customerDeliveryAddress.City != "" -%}{{ customerDeliveryAddress.City | H }}{% else -%}{{ customerAddress.City | H }}{% endif -%}" required/>
    <input type="text" name="countryCode" value="{{ config.Countries[customerDeliveryAddress.Country].Name }}" readonly/>
    <input type="tel" name="phoneNo" value="{% if customerDeliveryAddress.PhoneNo != "" -%}{{ customerDeliveryAddress.PhoneNo }}{% else -%}{{ customerAddress.PhoneNo }}{% endif -%}" {% if cart.SelectedDelivery.PhoneRequired -%} required {% endif -%}/>
    <input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
    <input type="hidden" name="__action" value="Order/DeliveryAddressUpdate" />
</form>
 

 
DeliveryChange
Akcja odpowiedzialna za zmianę metody dostawy towaru. Parametry:
  • id (int, pole obowiązkowe),
  • channel (string).
<div class="form-js no-message-lq delivery-form-js">
    <input aria-label="action-order-deliverychange" type="hidden" name="__action" value="Order/DeliveryChange" />
    <input aria-label="id" type="hidden" name="id" data-type="{{ order.SelectedDelivery.CollectionPointTypeId }}" value="{{order.SelectedDeliveryPaymentId}}" />
</div>
 

 
DeliveryCollectionPointChange
Pozwala na wybranie miejsca odbioru paczki (np. przy korzystaniu z paczkomatów). Parametry:
  • id (int, pole obowiązkowe),
  • data (string).
function chooseCollectionPointOnList(e) {
    var id = $(e.currentTarget).data('id');
    $.post(null, {__csrf: __CSRF, __action: 'order/DeliveryCollectionPointChange', id: id});
    window.choosenCollectionPointId = true;
    window.pointChoosen = true;
    $('.choose-collection-point-lq').removeClass('grey-ui');
    $(e.currentTarget).addClass('grey-ui');
    app.replaceTemplate(e);
}
 

 
DeliveryCountryChange
Akcja odpowiedzialna za zmianę kraju dostawy. Parametry:
  • countryCode (string).
<div class="{% if settings.cartVersion != 'comfortable' -%} f-left-ui golden-big-ui {% else -%} comfortable-country-ui {% endif -%} country-ui">
    <div class="form-js no-message-lq half-ui-with-space-ui choose-country-in-cart-ui">
    {% if settings.cartVersion == "comfortable" -%}
        <label class="label-ui">{{ translations.DelivCountry }}</label>
        <div>
    {% else -%}
        <span>{{ translations.DelivCountryInfo }}:</span>
        <span>
    {% endif -%}
    {% assign countriesSize = config.Countries | Size -%}
    {% if countriesSize > 1 -%}
        <span class="select-background-ui">
        <select  aria-label="change-delivery-country" class="change-delivery-country-lq parent-container-reload-js" name="countryCode">
            {% if order.Customer.DeliveryAddress.Country != '' -%}
                {% assign countryCode = order.Customer.DeliveryAddress.Country -%}
            {% elseif customer.Address.Country != '' -%}
                {% assign countryCode = customer.Address.Country -%}
            {% else -%}
                {% assign countryCode = config.DefaultCountry -%}
            {% endif -%}

            {% for country in config.Countries -%}
                <option class="parent-container-reload-js" {% if country.ISOCode == countryCode -%} selected="selected" {% endif -%} value="{{ country.ISOCode }}">
                    {{ config.Countries[country.ISOCode].Name }}
                </option>
            {% endfor -%}
        </select>
        </span>
        <i class="ti-angle-down select-arrow-ui"></i>
    {% else -%}
        {{ config.Countries[0].Name }}
        <input type="hidden" name="countryCode" value="{{config.Countries[0].ISOCode}}">
    {% endif -%}
    {% if settings.cartVersion == "comfortable" -%}
        </div>
    {% else -%}
        </span>
    {% endif -%}
    <input  aria-label="action-order-deliverycountrychange" type="hidden" name="__action" value="Order/DeliveryCountryChange" />
    </div>
</div>
 

 
DeliveryDateChange
Akcja odpowiada za zmianę terminu dostawy. Parametry:
  • date (string, wyrażenie regularne).
<label class="mt20-ui labeui">{{ translations.ScheduledDeliveryDate }}</label>
<div class="form-lq delivery-date-change-form-lq">
  <input type="hidden" name="__action" value="Order/DeliveryDateChange" />
  <input type="{{type}}" name="date" min="{{minDate}}" max="{{maxDate}}" value="{{dateValue}}" />
 </div>
{% elseif order.SelectedDelivery.DateText != "" -%}
<label class="mt20ui labelui">{{ translations.ScheduledDeliveryDate }}</label>
    {{ order.SelectedDelivery.DateText }}
{% endif -%}
 

 
EmailSet
Akcja odpowiada za ustawienie adresu email. Parametry:
  • email (string, pole obowiązkowe, wyrażenie regularne) - maksymalna długość to 192 znaki.
<form method="POST">
    <input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
    <input type="hidden" name="__action" value="Order/EmailSet" />
    <input id="email" type="text" name="email" />
    <button>Zatwierdź</button>
</form>
 
 
FastDeliveryCheck
Akcja ta odpowiada za sprawdzenie możliwości szybszej dostawy kurierskiej. Parametry:
  • zipCode (string) - maksymalna długość to 50 znaków.
<div class="info-ui">
    <div class="mb30-ui">{{ translations.DeligooTextInCart }}</div>
    <div class="mb30-ui form-js form-js check-deligoo-availability-form-js">
        <label>{{ translations.ZipCode }} <span class="required-ui">*</span></label>
        <input aria-label="zipCode" type="text" name="zipCode" value="{{ order.Customer.DeliveryAddress.ZipCode }}" required maxlength="20" {% if order.Customer.DeliveryAddress.ZipCode != '' -%} readonly {% endif -%}/>
        <input aria-label="countryCode" type="hidden" name="countryCode" value="" data-zip-regex="^\d{2}-\d{3}$"/>
        <input aria-label="action" type="hidden" name="__action" value="Order/FastDeliveryCheck"/>
        <button class="check-deligoo-availability-ui check-deligoo-availability-js {% if deligooSelected and order.Customer.DeliveryAddress.ZipCode != '' -%} check-deligoo-when-enter-cart-js {% endif -%} {% if order.Customer.DeliveryAddress.ZipCode != '' -%} hidden-js {% endif -%}">{{ translations.Check }}</button>
        <i class="va-mid-ui ti-check deligoo-success-icon-ui deligoo-success-icon-js hidden-js"></i>
        <i class="va-mid-ui ti-close deligoo-error-icon-ui deligoo-error-icon-js hidden-js"></i>
        <div class="validation-info-js validation-required-js hidden-js register-login-validation-error-text-ui small-input-error-ui small-input-error-ui">
            {{ translations.FillZipCode }}
        </div>
        <div class="validation-info-js validation-zip-code-lq hidden-js register-login-validation-error-text-ui small-input-error-ui">
            {{ translations.FillProperZipCode }} XX-XXX
        </div>
    </div>
    <div class="deligoo-success-js hidden-js">{{ translations.DeligooSuccessInCart }}</div>
    <div class="deligoo-error-js hidden-js">{{ translations.DeligooErrorInCart }}</div>
</div>
 

 
InvoiceAddressUpdate
Akcja ta odpowiada za zmianę danych faktury. Parametry:
  • name (string, pole obowiązkowe) - maksymalna długość to 64 znaki,
  • name2 (string) - maksymalna długość to 64 znaki,
  • name3 (string) - maksymalna długość to 250 znaków,
  • countryCode (string, pole obowiązkowe) - maksymalna długość to 2 znaki,
  • zipCode (string) - maksymalna długość to 20 znaków,
  • city (string) - maksymalna długość to 50 znaków,
  • street (string) - maksymalna długość to 150 znaków,
  • streetNo (string) - maksymalna długość to 20 znaków,
  • unitNo (string) - maksymalna długość to 20 znaków,
  • state (string) - maksymalna długość to 50 znaków,
  • phoneNo (string) - maksymalna długość to 50 znaków,
  • tin (string),
  • ssn (string) - maksymalna długość to 20 znaków,
  • invoice (bool),
  • company (bool),
  • vateu (string) - występuje tylko w wersji Enterprise, maksymalna długość to 2 znaki.
<form id="invoice-address-data">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Order/InvoiceAddressUpdate" />
<input type="hidden" name="company-or-not" value="{% if customer.Company -%}company{% endif -%}" />
<input type="checkbox" name="invoice" {% if cart.Customer.Invoice == true -%}checked{% endif -%}/>
<input id="company" type="checkbox" name="company" {% if cart.Customer.Company -%} checked {% endif -%} />
<input type="hidden" name="company-change" />
<input type="text" name="tin" value="{{ cart.Customer.TIN }}" {% if cart.Customer.Company == false -%} class="hidden" required {% endif -%}/>
<input type="text" name="name" value="{{ cart.Customer.InvoiceAddress.Name | H }}" required/>
<input type="text" name="street" value="{{ cart.Customer.InvoiceAddress.Street | H }}" required/>
<input type="text" name="streetNo" value="{{ cart.Customer.InvoiceAddress.StreetNo }}" required/>
<input type="text" name="unitNo" value="{{ cart.Customer.InvoiceAddress.UnitNo }}"/>
<input type="text" name="zipCode" value="{{ cart.Customer.InvoiceAddress.ZipCode }}" required/>
<input type="text" name="city" value="{{ cart.Customer.InvoiceAddress.City | H }}" required/>
<input type="hidden" name="countryCode" value="{{ country.ISOCode }}" required/>
<select id="select-country">
{% for country in config.Countries -%}
{% if country.ISOCode == customerDeliveryAddress.Country -%}
<option selected="selected" name="countryCode" value="{{ country.ISOCode }}">{{ config.Countries[country.ISOCode].Name }}</option>
{% else -%}
<option name="countryCode" value="{{ country.ISOCode }}">{{ config.Countries[country.ISOCode].Name }}
</option>
{% endif -%}
{% endfor -%}
</select>
<button>Zatwierdź</button>
</form>
 

 
InvoiceChange
Akcja odpowiada za wybranie opcji wystawienia faktury. Parametry:
  • invoice (bool).
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Order/InvoiceChange" />
<input type="checkbox" name="invoice"/>
</form>
 

 
NoteAdd
Akcja odpowiada za dodanie wiadomości do zamówienia. Parametry:
  • note (string) - maksymalna długość to 500 znaków.
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Order/NoteAdd" />
<textarea name="note"></textarea>
</form>
 

 
PaymentMake
Akcja odpowiada za dokonywanie płatności. Parametry:
  • id (int, pole obowiązkowe),
  • hash (string, pole obowiązkowe).
<form method="POST">
    <input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
    <input type="hidden" name="__action" value="Order/PaymentMake" />
    <input type="hidden" name="id" value="{{ order.Id }}" />
    <input type="hidden" name="hash" value="{{ customer-profile.Order.Hash }}" />
</form>
 

 
PointsUse
Akcja odpowiada za płacenie punktami.
<div class="flex-ui vertically-centered-ui">
   <p class="f-left-ui">{{translations.WantToUsePoints}}</p>
 <div class="form-lq no-message-lq block-ui">
<input type="hidden" name="__action" value="Order/PointsUse" />
<button class="post-lq parent-container-reload-lq f-right-ui wider-button-ui"><i class="ti-cup"></i> {{ translations.PayViaLoyaltyPoints }}</button>
 </div>
 </div>
 

 
RestorePayment
Akcja odpowiada za możliwość opłacenia zamówienia gdy wcześniej się to nie udało (np. w wyniku awarii internetu). Parametry:
  • id (int, pole obowiązkowe),
  • hash (string).
<div class="form-lq form-into-data-lq">
    <input type="hidden" name="__action" value="Order/RestorePayment" />
    <input type="hidden" name="id" value="{{ order.Id }}" />
    <input type="hidden" name="hash" value="{{ order.Hash }}" />
    <button class="post-lq parent-container-reload-lq" data-url="{{ page.Url }}?{{ orderString | H }}={{ order.Id }}{% if tab -%}&tab={{tab}}{% endif -%}">
        {{ translations.Pay }}
    </button>
</div>
 

 
ReturnAdd
Akcja odpowiedzialna za zwrot. Parametry:
  • orderID (int, pole obowiązkowe),
  • no (int, pole obowiązkowe),
  • quantity (decimal) - może przyjąć wartość od 0.01 do 99999,
  • message (string) - maksymalna długość to 1000 znaków,
  • accountNumber (string) - maksymalna długość to 50 znaków,
  • returnId (int lub null),
  • files - pole do wczytywania plików.
<form method="POST">
<input type="text" name="quantity" min="1" placeholder="{{translations.Com_Quantity}}"/> <span class="unit"></span>
{% assign returnTyppes = config.Complaints.Returns | Size -%}
{% if returnTyppes > 1 -%}
<select name="returnId" placeholder="{{ translations.Prf_ChooseReturn }}">
<option value="">* {{ translations.Prf_ChooseReturn }}</option>
{% for ret in config.Complaints.Returns -%}
<option value="{{ret.Id}}">{{ret.Name}}</option>
{% endfor -%}
</select>
<span class="cs-validation" data-field="returnId" data-validator="required">{{translations.Com_RequiredField}}</span>
{% endif -%}
<textarea name="message" placeholder="{{translations.Com_AditionalInfo}}"></textarea>
<span data-field="message" data-validator="maxLength" data-value="1000">{{translations.Com_MaxLenghtExceeded}}: 1000</span>
<input type="text" name="accountNumber" placeholder="{{translations.Crt_BankAccountNumber}}" />
<span data-field="accountNumber" data-validator="maxLength" data-value="50">{{translations.Com_MaxLenghtExceeded}}: 50</span>
<button>Zatwierdź</button>
<input type="hidden" name="no" value=""/>
<input type="hidden" name="orderId" value=""/>
<input type="hidden" name="__action" value="Order/ReturnAdd" />
<input type="hidden" name="__CSRF" value="{{page.CSRF}}"/>
</form>
 

 
StatusGet
Akcja odpowiedzialna za pobranie statusu zamówienia. Parametry:
  • id (int, pole obowiązkowe),
  • email (string, pole obowiązkowe, wyrażenie regularne) - maksymalna długość to 192 znaki.
<form>
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Order/StatusGet" />
<input type="hidden" name="id" value="{{ customer-profile.Order.Id }}" />
<input type="email" name="email" placeholder="" required />
<button>Zatwierdź</button>
</form>
 
 
TinUpdate
Akcja odpowiedzialna za aktualizację numeru TIN. Parametry:
  • vateu (string) - maksymalna długość to 2 znaki,
  • tin (string),
  • ssn (string) - maksymalna długość to 20 znaków.
<form> 
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Order/TinUpdate" /> 
<input type="email" name="tin" value="{{ config.Shop.TIN }}"/>
<button>Zatwierdź</button> 
</form>
 

 
StepNext
Akcja odpowiedzialna za kolejny krok w przypadku składania zamówienia.
<div class="no-message-lq">
	<input type="hidden" name="__action" value="Order/StepNext" />
    <button class="post-lq parent-container-reload-lq">
        <i class="fa fa-angle-right"></i>
    </button>
</div>
 

 
StepPrev
Akcja odpowiedzialna za powrót do poprzedniego kroku podczas składania zamówienia.
<div class="no-message-lq">
	<input type="hidden" name="__action" value="Order/StepPrev" />
    <button class="post-lq parent-container-reload-lq">
        <i class="fa fa-angle-left"></i>
    </button>
</div>
 

 
Subscribe
Kod odpowiadający za subskrypcję do newslettera. Parametry:
  • email (string, pole obowiązkowe, wyrażenie regularne) - maksymalna długość to 192 znaki,
  • tos (int[]) - może zostać przekazane wielokrotnie w ramach jednej akcji (int),
  • channelKey (string[]) - może zostać przekazane wielokrotnie w ramach jednej akcji (string).
<form id="NewsletterSubscribeForm" action="{{ page.Url }}{{ page.QueryString | H}}" method="post" novalidate>
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Newsletter/Subscribe" />
<input type="email" name="email" value="{{ customer.Email }}"
{% if customer.Email == blank -%} placeholder="* {{ translations.Com_EmailAddress }}" {% endif -%} required />
<button title="{{ translations.Nls_NewsletterSubscribeTooltip }}">+</button>
<div class="switch ">
{% for tos in config.TOS.Consents.Newsletter -%}
{% if tos.Statement -%}
<label>{{tos.Text}}</label>
{% else -%}
<input name="tos" id="tos{{ tos.Id }}" type="checkbox" value="{{ tos.Id }}" {% if tos.Required -%} required {% endif -%} />
<label for="tos{{ tos.Id }}">{% if tos.Required -%}*{% endif -%} {{tos.Text}}</label>
{% endif -%}
{% endfor -%}
</div>
<span class="legend">* {{ translations.Reg_RequiredFieldsExp }} </span>
</form>

{% for channel in tos.Channels -%}
<label class="checkbox-ui channel-ui {% if onlyEmail == false -%} channel-lq {% endif -%} {% if tos.Statement == false -%} disabled-channel-lq {% endif -%}">
{% if onlyEmail == false -%}
<input type="checkbox" name="channelKey" value="{{ channel.Key }}" {% if tos.Statement == false -%} disabled {% endif -%} />
{% else -%}
<input type="hidden" name="channelKey" value="{{ channel.Key }}" checked />
<input type="checkbox" checked disabled />
{% endif -%}
<span class="label-ui">{{ channel.Name }}</span></label>
{% endfor -%}
 

 
Unsubscribe
Kod odpowiedzialny za wypisanie się z subskrypcji mailowej.
<form id="NewsletterUnsubscribeForm" action="{{ page.Url }}{{ page.QueryString | H}}" method="post">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Newsletter/Unsubscribe" />
<input type="hidden" name="__template" value="customer/profile-account.html" />
<p>{{ customer.Email }}</p>
<button>Anuluj subskrypcję</button>
</form>
 

CollectionPointCities
Akcja odpowiada za pobranie miast, w których znajdują się punkty odbioru. Parametry:
  • country (string) - maksymalna długość to 2 znaki,
  • typeId (short),
  • all (bool),
  • stockLevels (bool).
     $.get('', {__csrf:__CSRF, __action:'Get/CollectionPointCities', stockLevels: true}, function(res){
            window.CitiesWithPOO = res.action.Object;
            $('.show-shops-infos-lq').html('');
            var size = window.CitiesWithPOO.length;
            for(i=0; i<size; i++){
                $('.show-shops-infos-lq').append(''+window.CitiesWithPOO[i]+'');
            }
        });
 

 
CollectionPoints
Akcja odpowiada za pobranie punktów odbioru towarów. Parametry:
  • country (string) - maksymalna długość to 2 znaki,
  • city (string) - maksymalna długość to 50 znaków,
  • typeId (short),
  • all (bool),
  • stockLevels (bool).
<div class="box-ui clear-after-ui"/>
{% if order.SelectedDelivery.CollectionPoint -%}
    <div class="f-left-ui cart-option-ui address-ui half-ui-with-space-ui collection-point-info-lq"/>
        <p/>
            {% if order.SelectedDelivery.CollectionPointTypeId == 2 -%}
                {{ translations.ChoosenInpostMachine }}
            {% else -%}
                {{ translations.ChoosenCollectionPoint }}
            {% endif -%}
        <p/>
        <div class="right-corner-ui">
            <button class="btn-pure-ui other-address-ui show-map-in-order-lq">
                  <i class="va-mid-ui ti-pencil"></i>
                  <span class="va-mid-ui line-height-1-ui"/<{{translations.Change}}</span>
             </button>
         </div >
         <div class="box-ui clear-after-ui">
  {% assign cp = order.SelectedDelivery.CollectionPoint -%}
            {% assign name = cp.Address | Split:',' | Last | Split:'(' | First -%}
            {% if name == '' or name == ' ' or name == '  ' -%}
                {% assign name = cp.Address | Split:'(' | Last | Remove:')' -%}
                {% capture name -%}{{name}}{% endcapture -%}
            {% endif -%}
<p><strong>{{name}}</strong></p>
<p>{{cp.Street}} {{cp.StreetNo}}{% if cp.UnitNo != null and cp.UnitNo != '' -%}/{{cp.UnitNo}}{% endif -%}</p>
<p>{{cp.ZipCode}} {{cp.City}}</p>
<p>{{cp.Country}}</p>


 

 
Groups
Pobiera grupy podrzędne dla wskazanej grupy. Akcja ta umożliwia zbudowanie dynamicznego menu czy breadcrumbs. Parametry:
  • groupId (int),
  • languageId (short),
  • levels (int).
<script type="text/javascript">
 (function () {
$(function () {
 $('nav.breadcrumbs>ol>li').hover( 
 function () { 
 var t = $(this), gId = ('' + t.data('id')).split(',')[1]; 
 if (gId && t.find('ol').length == 0) { 
 $.get(null, { __action: 'Get/Groups', groupId: gId, languageId: __lngId }, function (d) { 
 var obj = d.action.Object; 
 if (obj.length) { 
 var ol = $('<ol></ol>'); 
 t.append(ol); 
 $.each(obj, function (i, el) { 
 var a = $('<a></a>').attr('href', el.Url).text(el.Title); 
 ol.append(a); 
 a.wrap('<li></li>') 
});
}
});
}
 else t.find('ol').show(); 
},
 function () { 
 $(this).find('ol').hide(); 
}
);
});
 })(jQuery); 
</script>
 

 
Search
Akcja odpowiada za wyszukiwarkę. Parametry:
  • search (string, pole obowiązkowe) - maksymalna długość to 100 znaków.
<div class="form-js input-field-search-ui {{ noSearchOnMobile }} quick-search-form-js {% if settings.autofill == 'yes' %} autocomplete-form-js {% endif -%}">
    <input type="hidden" name="__action" aria-label="get/search-action" value="Get/Search" />
    <input placeholder="{{ translations.SearchArticleDots }}" aria-label="search" type="search" class="search-ui" value="" name="search" maxlength="100" {% if settings.autofill == 'yes' %} autocomplete="off" data-max-autocomplete-products="{{settings.autofillQuantity}}" {% endif -%} />
    <button class="ti-search search-btn-ui quick-search-js enter-key-trigger-lq" title="{{ translations.Search }}"></button>
</div>
 

 
SearchAdvanced
Akcja odpowiada za zaawansowaną wyszukiwarkę. Parametry:
  • search (string) - maksymalna długość to 100 znaków,
  • searchAll (string) - maksymalna długość to 100 znaków,
  • searchAny (string) - maksymalna długość to 100 znaków,
  • searchWild (string) - maksymalna długość to 100 znaków,
  • fields (int) - przyjmuje jedną z podanych niżej wartości:
      • 2 – szukaj w opisie,
      • 4 – szukaj w atrybutach,
      • 8 – szukaj w kodzie produktu,
      • 128 – szukaj w symbolu,
      • 256 – szukaj w EAN,
      • 512 – szukaj w kodzie u producenta.
  • flags (int) - przyjmuje jedną z podanych niżej wartości:
      • 1 – ma zdjęcie,
      • 2 – nowość,
      • 4 – promocja,
      • 8 – produkt z gazetki,
      • 16 – produkt polecany,
      • 32 – wyprzedaż,
      • 64 – super jakość,
      • 128 – super cena,
      • 256 – najlepiej oceniany,
      • 512 – rekomendacja sprzedawcy.
      • 1024 – towar za punkty.
  • priceFrom (long lub null),
  • priceTo (long lub null),
  • groupId (int lub null),
  • manufactureId (int lub null),
  • brandId (int lub null).
Wskazówka
Flagi można sumować — wartość wpisana do metody to suma wartości poszczególnych flag. Jeżeli suma będzie równa np. 14, wyszukanie nastąpi po flagach:
  • nowość,
  • promocja,
  • produkt z gazetki.
<div class='element-attached-lq search-inputs-ui'>
    <input aria-label="action-searchAdvanced" type='hidden' name='__action' value='Get/SearchAdvanced' />
	<input aria-label="search" type='search' name='search' class='attach-on-mobile-lq advanced-search-input-ui advanced-search-input-lq' placeholder="{{translations.SearchPhrase}}" maxlength="100" />
	<select aria-label="groupId" name="groupId" class='groupId'>
		<option value="" >{{translations.AllCategories}}</option>
        {% for category in page.GroupNodes -%}
            {% assign t = category.Id | Split:',' %}
			<option value="{{ t[1] }}">{{category.Name}}</option>
		{% endfor -%}
	</select>
	<i class="ti-angle-down select-arrow-ui"></i>	   
	<button aria-label="advanced-search-button" class="attach-on-mobile-lq post-lq advanced-search-button-ui">
		<span>{{ translations.Search }}</span>
		<i class="ti-search"></i>
	</button>
</div>
<div class="categories-adv-search-mobile-ui">{{ translations.SearchIn }}</div>
<div class='price-and-phrase-container'>
	<label class="checkbox-ui control-ui control-radio-ui">
        <input aria-label="tos-search" name="tos" type="radio" class='search-radio-ui search-radio-lq' value='search' checked>
            {{translations.WithSequence}}
        <span class="control-indicator-ui"></span>
    </label>
    <label class="checkbox-ui control-ui control-radio-ui">
        <input aria-label="tos-searchall" name="tos" type="radio" class='search-radio-ui search-radio-lq' value="searchAll">
            {{ translations.WithAllWords }}
		<span class="control-indicator-ui"></span>
    </label>
	<label class="checkbox-ui control-ui control-radio-ui" >
        <input aria-label="tos-searchany" name="tos" type="radio" class='search-radio-ui search-radio-lq' value="searchAny">
            {{ translations.WithAnyWord }}
		<span class="control-indicator-ui"></span>
    </label>
	<label class="checkbox-ui control-ui control-radio-ui">
        <input aria-label="tos-searchwild" name="tos" type="radio" class='search-radio-ui search-radio-lq' value="searchWild" >
            {{ translations.WithPartOfWord }}
     	<span class="control-indicator-ui"></span>
    </label>
</div>
 

 
SearchAutocomplete
Akcja odpowiada za wyświetlanie podpowiedzi 5 towarów w trakcie wyszukiwania. Parametry:
  • search (string, pole obowiązkowe) - maksymalna długość to 100 znaków.
function autocomplete(e) {
    let phrase = e.target.value.replace(/[*]*/gi, '');
    const maxAutocompleteProducts = e.target.dataset.maxAutocompleteProducts;
    if (phrase != '' && phrase.length > 1) {
        $.get(location.pathname, { __action: 'Get/SearchAutocomplete', search: phrase }).then(function (res) {
            if($(window).width() > 1279){
                var right = 'right: 50px';
            } else if($(window).width() > 680){
                var right = '';
            } else {
                var right = 'right: 61px';
            }
            var loader = '';
            $('.quick-search-form-js.autocomplete-form-js').append(loader);
            var url = res.action.Redirect302;
            $.get(url, {__collection:'products.Products|page.BaseHref|currencyExt.Symbol|config.Products.ShowCode'}, function(res) {
                $('.autocomplete-js').remove();
                var list = res.collection['products.Products'];
                var showCode = res.collection['config.Products.ShowCode'];
                if (list.length > 0){
                    if (list.length > maxAutocompleteProducts) {
                        var size = maxAutocompleteProducts;
                    } else {
                        var size = list.length;
                    }
                    var baseHref = res.collection['page.BaseHref'];
                    var currency = res.collection['currencyExt.Symbol'];
 

 
SearchFilters
Akcja odpowiada za zastosowanie filtrów wyszukiwania. Parametry:
  • __skipParameter (string[]) - może zostać przekazane wielokrotnie w ramach jednej akcji (string).
<input type="hidden" name="__action" value="Get/SearchFilters">

<button class="selected-filter-item-ui selected-filter-item-js" data-field="all">
    <i class="ti-close filter-delete-ui"></i>
    <span>{{translations.ResetFilters}}</span>
</button>

{% unless customer.HidePrices -%}
    {% if products.FilteringOptions.PriceFrom != null and products.FilteringOptions.PriceFrom > 0 -%}
        <button class="selected-filter-item-ui selected-filter-item-js" data-field="$minPrice">
            <i class="ti-close filter-delete-ui"></i>
            <span>{{translations.PriceFrom}} <strong>{{products.FilteringOptions.PriceFrom}}</strong> {{customer.CurrencyExt}}</span>
        </button>
        <input aria-label="minPrice" name="$minPrice" type="hidden" value="{{products.FilteringOptions.PriceFrom}}" maxlength="12">
    {% endif -%}

    {% if products.FilteringOptions.PriceTo != null -%}
        <button class="selected-filter-item-ui selected-filter-item-js" data-field="$maxPrice">
            <i class="ti-close filter-delete-ui"></i>
            <span>{{translations.PriceTo}} <strong>{{products.FilteringOptions.PriceTo}}</strong> {{customer.CurrencyExt}}</span>
        </button>
        <input aria-label="maxPrice" name="$maxPrice" type="hidden" value="{{products.FilteringOptions.PriceTo}}" maxlength="12">
    {% endif -%}
{% endunless -%}
 

 
ProductId
Akcja ta pozwala na zwrócenie wartości ID towaru znajdującego się w bazie e-Sklepu na podstawie ID towaru w bazie systemu ERP (GIDNumber). Może być przydatna podczas pisania własnych dodatków dla Comarch e-Sklep Sync. Parametry:
  • gidNumbers (int[], pole obowiązkowe).
<script type="text/javascript">
function getProductID(...gidNumbers) {
	jQuery.get(null, jQuery.param(
		{__action:'Get/ProductId', gidNumbers: gidNumbers}, true), 
		res => res.action.Object
	);
},
</script>
Uwaga
Akcja dostępna jest w sklepach B2B od wersji 2021.2.

 
AskForPrice
Akcja odpowiada za złożenie zapytania o cenę produktu. Parametry:
  • productId (int, pole obowiązkowe),
  • email (string, pole obowiązkowe, wyrażenie regularne) - maksymalna długość to 192 znaki,
  • phoneNo (string) - maksymalna długość to 20 znaków,
  • quantity (decimal, pole obowiązkowe) - może przyjąć wartość od 0.01 do 99999,
  • unitId (int lub null),
  • message (string) - maksymalna długość to 500 znaków.
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Product/AskForPrice" />
<input type="hidden" name="productId" value="{{ product.Id }}" />
<input type="email" name="email" value="{{ customer.Email }}" required />
<input type="tel" name="phoneNo" value="{{ customer.Address.PhoneNo }}"/>
<input type="button" value="-" />
<input type="text" name="quantity" value="1" min="1" max="99999"/>
<input type="button" value="+" field='quantity'/>
{% if product.Units[1] -%}
{% for unit in product.Units -%}
<input type="button" value="{{ unit.Name }}"/>
<input type="hidden" value="{{ unit.Id }}" data-ratio="{{ unit.Ratio }}"/>
{% endfor -%}
{% endif -%}
{% for unit in product.Units -%}
{% if unit.Default == true or unit.Id == null -%}
<input name="unitId" type="hidden" value="{{ unit.Id }}"/>
{% endif -%}
{% endfor -%}
<textarea type="text" name="message" required></textarea>
<button>Zatwierdź</button>
</form>
 

 
CollectionPointsStockLevelsGet
Akcja odpowiada za pobieranie stanów magazynowych w salonach danego towaru. Parametry:
  • products (string, pole obowiązkowe),
  • country (string) - maksymalna długość to 2 znaki,
  • city (string) - maksymalna długość to 50 znaków,
  • pointTypeId (short),
  • pointId (int lub null).
function showShopsInfos(e) {
    var city = $(e.currentTarget).val();
    if(city != ''){
        var productType = $('[name=productType]').val();
        if (productType == 'batch'){
            var productId = $('[data-product-id]').data('product-id');
            var supplyId = $('[data-supply-id].active-lq').data('supply-id');
        } else if (productType == 'clip'){
            var productId = $('[data-supply-id].active-lq').data('supply-id');
        } else {
            var productId = $('[data-product-id]').data('product-id');
        }
        var downloaded = false;
        var index = '';
        if(window.productsWithPOO){
            var size = window.productsWithPOO.length;
            for(i=0; i<size; i++){
                index = i;
                if(window.productsWithPOO[i].name == city+'-'+productId+'-'+supplyId){
                    downloaded = true;
                    index = i;
                    break;
                }
            }
            if(!downloaded){
                window.productsWithPOO.push({name: city+'-'+productId+'-'+supplyId});
                index = index + 1;
            }
        } else {
            window.productsWithPOO = [];
            window.productsWithPOO.push({name: city+'-'+productId+'-'+supplyId});
            index = 0;
        }
        if(!downloaded){
            $('.during-ajax-modal-lq').removeClass('hidden-lq');
            $.post(null, {__csrf:__CSRF, __action:'Product/CollectionPointsStockLevelsGet',city:city ,products:JSON.stringify([{ProductId:productId, SupplyId:supplyId}])},function(res){
                if(window.productsWithPOO[index].name == city+'-'+productId+'-'+supplyId){
                    window.productsWithPOO[index].shops = res.action.Object;
                    appendShopsInfos(window.productsWithPOO[index].shops);
                    $('.during-ajax-modal-lq').addClass('hidden-lq');
                }
            });
        } else {
            appendShopsInfos(window.productsWithPOO[index].shops);
        }
    }
};

 
Wskazówka
Jeżeli chcesz pokazać w e-Sklepie ilości towaru w podziale na magazyny (e-Sklepu i hurtowni), to można je pobrać akcją 'Product/StockLevelsGet'.
 

 
ComparisonToolAdd
Akcja odpowiadająca za dodanie produktu do porównania z innym produktem. Parametry:
  • productId (int, pole obowiązkowe).
<form action="{{ page.Url }}{{ page.QueryString | H }}" method="post">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}"/>
<input type="hidden" name="__action" value="Product/ComparisonToolAdd" />
<input type="hidden" name="productId" value="{{ productD.Id }}"/>
<input type="hidden" name="url" value="{{ page.BaseHref }}{{ config.DefinedPages.ProductComparisonTool.Url }}"/>
</form>
 

 
ComparisonToolDelete
Akcja odpowiada za usunięcie przedmiotu z porównania. Parametry:
  • productId (int, pole obowiązkowe).
{% for product in comparer.Products -%}
<form action="{{ page.Url }}{{ page.QueryString | H }}" method="post">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}"/>
<input type="hidden" name="__action" value="Product/ComparisonToolDelete" />
<input type="hidden" name="productId" value="{{ product.Id }}"/>
<button>Zatwierdź</button>
</form>
{% endfor -%}
 

 
DeliveryCostGet
Akcja odpowiada za pobranie najniższej ceny dostawy dla danego towaru. Parametry:
  • id (int, pole obowiązkowe),
  • unitId (int lub null, pole obowiązkowe).
<p class="delivery hidden">{{translations.Com_DeliveryFrom}}: {{currency}}</p>
<script>
    Number.prototype.format = function(n, x, s, c) {
       var re = '\\d(?=(\\d{' + (x || 3) + '})+' + (n > 0 ? '\\D' : '$') + ')',
       num = this.toFixed(Math.max(0, ~~n));
       return (c ? num.replace('.', c) : num).replace(new RegExp(re, 'g'), '$&' + (s || ','));
    };
    Number.prototype.toPrice = function () {
       var decimalPlaces = __decimalPlacesPrice || 2;
       return this.format(decimalPlaces, 3, __decThoSep, __decSep);
    }
    $.get('', {__action:'Product/DeliveryCostGet', id: '{{_pd.Id}}' },function(res){
       if(res.action.Object.Cost > 0){
           $('.delivery').removeClass('hidden');
           $('.delivery-cost').text(res.action.Object.Cost.toPrice());
       }
    });
</script>
 
 
FastDeliveryCheck
Akcja odpowiadająca za sprawdzenie dostępności usługi szybkiej dostawy w podanej lokalizacji. Parametry:
  • products (string, pole obowiązkowe),
  • country (string) - maksymalna długość to 2 znaki,
  • zipCode (string) - maksymalna długość to 50 znaków.
<form action="{{ page.Url }}{{ page.QueryString | H }}" method="post">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input aria-label="action" type="hidden" name="__action" value="Product/FastDeliveryCheck" />
<input aria-label="zipCode" type="text" name="zipCode" value="{{ customer.Address.ZipCode }}" maxlength="50"/>
<input aria-label="country" type="hidden" name="country" value="" />
<input aria-label="products" type="hidden" name="products" value='[{"ProductId":{{ product.Id }}}]' />
<button>Zatwierdź</button>
</form>
 
 
NotifyAboutProductAvailability
Akcja odpowiadająca za złożenie zapytania odnośnie poinformowania użytkownika o ponownej dostępności towaru. Parametry:
  • productId (int, pole obowiązkowe),
  • name (string, pole obowiązkowe) - maksymalna długość to 50 znaków,
  • email (string, pole obowiązkowe, wyrażenie regularne) - maksymalna długość to 192 znaki,
  • phoneNo (string) - maksymalna długość to 20 znaków.
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Product/NotifyAboutProductAvailability" />
<input type="hidden" name="productId" value="{{ product.Id }}" />
<input type="email" name="email" value="{{ customer.Email }}" required />
<input type="text" name="name" value="{{ customer.Address.Name }}" required />
<input type="tel" name="phoneNo" value="{{ customer.Address.PhoneNo }}"/>
<button>Zatwierdź</button>
</form>
 

 
ReviewAdd
Akcja odpowiadająca za dodanie opinii na temat produktu. Parametry:
  • rating (short, pole obowiązkowe) - może przyjąć wartość od 1 do 5,
  • comment (string, pole obowiązkowe) - maksymalna długość to 4000 znaków,
  • author (string, pole obowiązkowe) - maksymalna długość to 50 znaków,
  • productId (int, pole obowiązkowe),
  • orderHash (string).
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}"/>
<input type="hidden" name="__action" value="Product/ReviewAdd" />
<input type="text" name="author" {% if customer.Authenticated == true -%}{% if customer.ReviewAuthor != "" -%} value="{{ customer.ReviewAuthor | H }}" {% else -%} value="{{ customer.Address.Name | H }}" {% endif -%}{% endif -%} required />
<textarea type="text" name="comment" required></textarea>
<input type="hidden" name="rating" value="5"/>
<input type="hidden" name="productId" value="{{ product.Id }}"/>
<input type="hidden" name="orderHash" value=""/>
<button>Zatwierdź</button>
</form>
 
 
StockLevelsGet
Akcja odpowiada za pobieranie stanów magazynowych z podziałem na magazyny (e-Sklepu i hurtowni). Parametry:
  • id (int lub int[], pole obowiązkowe).
const productsId = [13, 27, 31]; 
$.get(null, {__action:'Product/StockLevelsGet', id: productsId}, function(res) { 
      if(res.action.Object) { 
          console.log(res.action.Object); 
      } 
});
Dla powyższej akcji zostanie zwrócony ten sam obiekt Stock (jak np. na szczegółach towaru), ale z dwoma dodatkowymi właściwościami: > WarehouseId, > WarehouseName. Właściwości mogą być puste (null) - jeśli jest to stan z ERP, a nie z hurtowni.  

 
WishListAdd
Akcja odpowiedzialna za dodanie produktu do listy życzeń. Parametry:
  • productId (int, pole obowiązkowe),
  • quantity (decimal) - może przyjąć wartość od 1 do 99999,
  • note (string) - maksymalna długość to 500 znaków.
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}"/>
<input type="hidden" name="__action" value="product/WishListAdd" />
<input type="hidden" name="productId" value="{{ product.Id }}" required />
<input type="text" name="quantity" value="1"/>
<input type="button" value="+" field="quantity"/>
<textarea name="note"></textarea>
<button>Zatwierdź</button>
</form>
 
 
WishListCheck
Akcja odpowiedzialna za sprawdzenie czy produkt należy do listy życzeń. Parametry:
  • products (int[]).
$.get(null, { __action: 'Product/WishListCheck', products: JSON.stringify([parseInt(productId)]) }, function (result) {
                if (result.action.Object != '') {
                    //Product in wishlist
                    if (!($('.productDetails-buttons--wishList').hasClass('wishListPopup-js'))) {
                        $('input[aria-label="wishListAdd"]').val('Product/WishListDelete');
                        $('.productDetails-buttons--wishList__removeProduct').removeClass('hidden');
                        $('.productDetails-buttons--wishList__addProduct').addClass('hidden');
                        $('.productDetails-buttons--wishList__svgIcon').html('<use xlink:href="css/img/icons-sprite.svg#heart-solid"></use>');
                        $('.productDetails-buttons--wishList').removeClass('productWishListAdd-js').addClass('productWishListRemove-js');
                    }
                } else {
                    //Product not in wishlist
                    if (!($('.productDetails-buttons--wishList').hasClass('wishListPopup-js'))) {
                        $('input[aria-label="wishListAdd"]').val('Product/WishListAdd');
                        $('.productDetails-buttons--wishList__removeProduct').addClass('hidden');
                        $('.productDetails-buttons--wishList__addProduct').removeClass('hidden');
                        $('.productDetails-buttons--wishList__svgIcon').html('<use xlink:href="css/img/icons-sprite.svg#heart-light"></use>');
                        $('.productDetails-buttons--wishList').removeClass('productWishListRemove-js').addClass('productWishListAdd-js');
                    }
                }
            });
 

 
WishListDelete
Akcja odpowiadająca za usuwanie przedmiotu z listy życzeń. Parametry:
  • productId (int lub null).
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}"/>
<input type="hidden" name="__action" value="product/WishListDelete" />
<input type="hidden" name="productId" value="{{ product.Id }}" required />
<button>Zatwierdź</button>
</form>
 

 
WishListUpdate
Akcja odpowiada za ustawienie/zmianę daty na liście życzeń. Parametry:
  • productId (int),
  • note (string) - maksymalna długość to 500 znaków,
  • notify (bool),
  • notifyDate (string, wyrażenie regularne).
function updateReminderDate(e) {
    var container = $('.after-adding-to-wishlist-popup-lq .after-adding-to-cart-popup-container-lq');
    var message = $(e.currentTarget).data('success');
    var productId = $(e.currentTarget).data('id');
    var inputVal = $(e.currentTarget).val();
    var data = {
        productId: productId,
        __csrf: __CSRF,
        __action: 'Product/WishListUpdate'
    };
    if(inputVal != ""){
        var date = inputVal + ' 06:00:00';
        data.notify = true;
        data.notifyDate = date;
    } else {
        data.notify = false;
    }
    $.post(null, data);
};
 

Add
Odpowiada za dodanie produktów do koszyka. Parametry:
  • productId (int, pole obowiązkowe),
  • quantity (decimal) - może przyjąć wartość od 0.01 do 99999,
  • unitId (int lub null),
  • attributeId (long[]) - może zostać przekazane wielokrotnie w ramach jednej akcji (long),
  • attributeEditable (string[]) - może zostać przekazane wielokrotnie w ramach jednej akcji (string),
  • supplyId (int lub null),
  • cartId (int lub null).
<form method="POST">
<input type="number" name="quantity" value="1" required/>
<input type="hidden" name="productId" value="{{productdetails.Product.Id}}" />
<input type="hidden" name="__CSRF" value="{{page.CSRF}}" />
<input type="hidden" name="__action" value="Cart/Add" />
<button type="submit">Dodaj do koszyka</button>
</form>
 

 
AttributesSet
Akcja odpowiada za ustawianie atrybutów na koszyku. Parametry:
  • no (int lub null),
  • attribute (string[]) - może zostać przekazane wielokrotnie w ramach jednej akcji (string), maksymalna długość to 1000 znaków.
<form method="POST">
{% if page.PageId == config.DefinedPages.Order.Id -%}
        {% assign attributes = config.Orders.AttributesCart.Position -%}
	{% assign positionAttrSize = attributes | Size -%}
	{% assign showInCart = true -%}
	{% assign action = 'Cart/AttributesSet' -%}
{% endif %}
	<input type="hidden" name="__action" value="{{ action }}" />
	<input type="hidden" name="no" value="{{ product.No }}" />
</form>
 

 
Change
Akcja odpowiada za zmianę koszyka. Parametry:
  • id (int, pole obowiązkowe).
<form method="POST">
{% if customer.Carts[1] -%}
            <input type="hidden" name="__action" value="Cart/Change" />
            <input type="hidden" name="id" />
            <ul>
                {% for cart in customer.Carts -%}
                    <li class="choose-cart-lq" data-id="{{ cart.Id }}" data-name="{{ cart.Name | H }}">{{ translations.Cart }} {{ cart.Name }}</li>
                {% endfor -%}
            </ul>
{% endif -%}
</form>
 
 
Create
Akcja odpowiada za utworzenie nowego koszyka. Parametry:
  • inquiry (bool).
if(parameters && !validationError){
            var obj = {
                parameters: JSON.stringify(parameters),
                loadParent: loadParent,
                e: e,
                form: form
            };
            var activeInquiryId = window.app.getCookie('activeInquiryId');
            if((activeInquiryId == -1 || activeInquiryId == '') && $(e.currentTarget).hasClass('add-to-inquiry-lq')){
                $.post('', {__action: 'Cart/Create', inquiry: true, __csrf: __CSRF}, function(result) {
                    var inquiryId = result.action.Object.CartId;
                    for(var i=0; i<parameters.length; i++){
                        parameters[i].cartId = inquiryId;
                    }
                    obj.parameters = JSON.stringify(parameters);
                    js.addManyProductsToCart(obj, e);
                });
            } else {
                js.addManyProductsToCart(obj, e);
            }
        }
 

 
Delete
Akcja ta umożliwia usunięcie wszystkich produktów z koszyka.
<form method="POST">
<input type="hidden" name="__CSRF" value="{{page.CSRF}}" />
<input type="hidden" name="__action" value="Cart/Delete" />
<button type="submit">USUŃ</button>
</form>
 

 
ExternalAdd
Akcja dla konfiguratora produktów. Dodaje do koszyka zawartość zwróconą z sync. Parametry:
  • id (int, pole obowiązkowe),
  • type (int).
if(a.Result && e.hasClass('sendCart-lq')){ 
                $('.set-price-lq').html('');
                $.post(null, {__CSRF:__CSRF, __action:'cart/externalAdd', id:a.Object.Id}, result => {
                    var cartId = window.app.getCookie('lastCartId');
                    $.get('', {__collection: 'customer.Cart.Count|customer.Cart.Value|customer.Cart.EditedOrderId|customer.CurrencyExt.Symbol'}, function (result) {
                        var cartCount = result.collection['customer.Cart.Count'];
                        var cartValue = result.collection['customer.Cart.Value'].toPrice();
                        var editedOrderId = result.collection['customer.Cart.EditedOrderId'];
                        if(editedOrderId != null && activeInquiryId == -1){
                            window.app.setCookie('lastCartId', -1);
                        }
                        $('.carts-change-popup-lq .selected-cart-ui').removeClass('selected-cart-ui');
                        $('.change-cart-link-js[data-id='+cartId+']').parent().addClass('selected-cart-ui');
                        $('.cart-count-lq').text(cartCount);
                        $('.counter-bg-lq').removeClass('hidden-js');
                        $('.cart-value-lq').text(cartValue);
                        $('.cart-value-with-currency-lq').text(cartValue+' '+result.collection['customer.CurrencyExt.Symbol']);
                        $('.load-cart-lq[data-cart-id]').attr('data-cart-id', cartId);
                    });

                    app.afterAddingToCart(e, result.action.message, null, result.template);
                }); 
            }
 

 
ImportCSV
Akcja odpowiada za importowanie koszyka z pliku. Parametry:
  • file - pole do wczytywania plików,
  • separator (char lub null),
  • decimalSeparator (char lub null).
importCSV: function(e){
        $('.during-ajax-modal-lq').removeClass('hidden-lq');
        var file = $(e.currentTarget);
        file.addClass('prevent-double-change-lq');
        var fd = new FormData();
        fd.append('__csrf',__CSRF);
        fd.append('__action','Cart/ImportCSV');
        fd.append('file', e.currentTarget.files[0]);
        $.ajax({data: fd, processData: false, contentType: false, type: 'POST',
            success: function(data){
                file.val('');
                if(data.action.Multiple){
                    var results = data.action.Results;
                    var imported = true;
                    var validationArr = [];
                    for(var i=0; i<results.length; i++){
                        if(!results[i].Result){
                            imported = false;
                            var name = results[i].Object.NameNoHtml;
                            var message = results[i].Message
                            if(results[i].Description != null){
                                message += ' ' + results[i].Description;
                            }
                            validationArr.push({name:name, message:message});
                        }
                    }
                } else {
                    if(data.action.Result){
                        var imported = true;
                    } else {
                        var imported = false;
                    }
                }


 

 
NameSet
Akcja odpowiada za ustawienie nazwy wybranego koszyka. Parametry:
  • id (int, pole obowiązkowe),
  • name (string) - maksymalna długość to 30 znaków.
$('body').on('change','.carts-change-popup-lq input',function(e){
        $.post(null,{__csrf:__CSRF,__action:'Cart/NameSet',id:$(this).data('id'),name:$(this).val()},function(){location.reload();});
    });
 

 
PositionDelete
Odpowiada za usuwanie danej pozycji z koszyka. Parametry:
  • no (int, pole obowiązkowe),
  • position (bool).
<div class="form-js flr-ui no-message-lq">
    <input type="hidden" name="__action" value="Cart/PositionDelete" />
    <input type="hidden" name="no" value="{{ product.No }}" />
    {% if product.IsSetElement -%}
	<input type="hidden" name="position" value="true" />
    {% endif -%}
    <button class="remove-product-from-cart-lq parent-container-reload-js btn-pure-ui ti-trash {% if productsSize == 1 -%} last-product-lq {% endif -%}" title="{{ translations.Delete }}"></button>
    <span class="remove-product-from-cart-lq parent-container-reload-js mobile-ui {% if productsSize == 1 -%} last-product-lq {% endif -%}">{{ translations.Delete }}</span>
</div>
 

 
QuantityChange
Akcja powoduje zmianę ilości przedmiotu w koszyku. Parametry:
  • quantity (decimal, pole obowiązkowe) - może przyjąć wartość od 0.01 do 99999,
  • no (int, pole obowiązkowe).
<form method="POST">
Produkt: {{cart.Products[forloop.index0].NameNoHtml}}<br/>
Ilość: {{cart.Products[forloop.index0].Quantity}}<br/>
<button>Zwiększ ilość o 1</button>
<input type="hidden" name="quantity" value="{{cart.Products[forloop.index0].Quantity | ToInt | Plus: 1}}"/>
<input type="hidden" name="no" value="{{cart.Products[forloop.index0].No}}"/>
<input type="hidden" name="__CSRF" value="{{page.CSRF}}" />
<input type="hidden" name="__action" value="cart/QuantityChange" />
</form>
 

 
Recalculate
Odpowiada za ponowne przeliczenie koszyka.
<form method="post">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="cart/Recalculate" />
<input type="hidden" name="__template" value="order/cart.html" />
<input type="hidden" name="__collection" value="customer.Cart.Value" />
</form>
 

 
SetAdd
Akcja obsługuje dodawanie zestawu produktów. Parametry:
  • productId (int, pole obowiązkowe),
  • setId (int, pole obowiązkowe),
  • quantity (int) - może przyjąć wartość od 1 do 99,
  • attributeId (int[]) - może zotać przekazane wielokrotnie w ramach jednej akcji (int),
  • supplyId (int[]) - może zostać przekazane wielokrotnie w ramach jednej akcji (int).
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}"/>
<input type="hidden" name="__action" value="cart/SetAdd" />
<input type="hidden" name="productId" value="{{ product.Id }}" />
<input type="text" name="productId" value="{{set.SetId }}" required/>
<input type="text" name="setId" value="1"/>
<button>Zatwierdź</button>
</form>
 

 
SetExtAdd
Akcja obsługuje dodawanie nowego zestawu produktów. Parametry:
  • setId (int, pole obowiązkowe),
  • quantity (int) - może przyjąć wartość od 1 do 99,
  • products (Object[], pole obowiązkowe) - jako argument przyjmuje tablicę obiektów zawierających dane produktów z zestawu.
if(form.hasClass('add-set-to-cart-lq')){
	var set = {setId:Number($(e.currentTarget).data('set-id')), quantity:1, products:[]};
    var setProducts = form.find('.set-product-lq');
    setProducts.each(function () {
		var setProduct = {
			setElementId: Number($(this).data('set-element-id')),
			setProductId: Number($(this).data('set-product-id'))
		};
		if($(this).find('[name=attributePolyvalent]').length > 0){
			var attributesPolyvalent = [];
			$(this).find('[name=attributePolyvalent]').each(function(){
				var attribute = {
					id: Number($(this).data('id')),
					valueId:  Number($(this).val())
				};
				attributesPolyvalent.push(attribute);
			});
			setProduct.attributesPolyvalent = attributesPolyvalent;
		}
		if($(this).find('[name=attributeEditable]').length > 0){
			var attributesEditable = [];
			$(this).find('[name=attributeEditable]').each(function(){
				var attribute = {
					id: Number($(this).data('id')),
					value:  $(this).val()
				};
				attributesEditable.push(attribute);
			});
			setProduct.attributesEditable = attributesEditable;
		}
		set.products.push(setProduct);
    });
	var data = [
		{name: "__csrf", value: __CSRF}, 
		{name: "__action", value: 'Cart/SetExtAdd'}, 
		{name: "set", value: JSON.stringify(set)}
	];
}
 

 
AskAboutProduct
Akcja pozwalająca na złożenie zapytania o produkt. Parametry:
  • productId (int, pole obowiązkowe),
  • email (string, pole obowiązkowe, wyrażenie regularne) - maksymalna długość to 192 znaki,
  • phoneNo (string) - maksymalna długość to 20 znaków,
  • name (string, pole obowiązkowe) - maksymalna długość to 50 znaków,
  • message (string, pole obowiązkowe) - maksymalna długość to 500 znaków,
  • copy (bool).
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Contact/AskAboutProduct" />
<input type="hidden" name="productId" value="{{ product.Id }}" />
<input type="email" name="email" value="{{ customer.Email }}" required />
<input type="text" name="name" value="{{ customer.Address.Name }}" required />
<input type="tel" name="phoneNo" value="{{ customer.Address.PhoneNo }}"/>
<textarea type="text" name="message" required></textarea>
<input type="checkbox" name="copy"/>
<button>Zatwierdź</button>
</form>
 

 
Send
Akcja odpowiadająca za wysłanie zawartości formularza kontaktowego. Parametry:
  • email (string, pole obowiązkowe, wyrażenie regularne) - maksymalna długość to 192 znaki,
  • name (string) - maksymalna długość to 50 znaków,
  • phoneNo (string) - maksymalna długość to 20 znaków,
  • subject (string, pole obowiązkowe) - maksymalna długość to 50 znaków,
  • message (string, pole obowiązkowe) - maksymalna długość to 500 znaków,
  • copy (bool),
  • contactId (int lub null),
  • files - pole do wczytywania plików. Maksymalna ilość załączników jest określona w obiekcie config.Contact.AttachmentsMaxCount,
  • macro_xx (string) - pole zdefiniowane przez użytkownika. Może występować wiele razy. Napis xx jest edytowalny, ale przedrostek musi pozostać taki sam. Przykładem poprawnej nazwy jest: macro_Pole1.
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Contact/Send" />
<input type="hidden" name="copy" value="1" />
<input type="email" name="email" value="{{ customer.Email }}"
{% if customer.Email == blank -%} placeholder="* {{ translations.Com_EmailAddress }}" {% endif -%}
required />
<input type="tel" name="phoneNo" value="{{ customer.Address.PhoneNo }}"
placeholder="{{ translations.Prf_Telephone }}" />
<input type="text" name="subject" placeholder="* {{ translations.Cfm_Subject }}" required autofocus />
<textarea type="text" name="message" placeholder="* {{ translations.Pps_Message }}" required /></textarea>
<input 
	type="file" 
	name="resume" 
	id="resume"  
	required 
	accept="{{ config.Contact.AttachmentExtensions }}" 
	data-file-size="{{ config.Contact.AttachmentMaxSize }}" 
	data-size-exceeded="{{ translations.Com_FileSizeExceeded | Format: maxSize }}"
	data-invalid-file="{{ translations.Com_InvalidFile | Format: config.Contact.AttachmentExtensions }}"
	data-not-added-info="{{translations.AttachementsNotAdded}}"
>
<button>Zatwierdź</button>
</form>
Przykład modyfikacji w szablonie Bursztyn z użytymi polami macro_xx:
<div class="contact-form {% if settings.googleMapsKey != '' and config.Shop.Address.Latitude != 0 and config.Shop.Address.Longitude != 0 -%} col-md-4 {% endif%} col-sm-12 col-xs-12">
			<div class="row">
				<div class="content form-content">
					<div class="title">{{ translations.Cff_WriteEmail }}</div>
					<form class="reg-form"
					id="ContactSendForm" action="{{ page.Url }}{{ page.QueryString | H}}" method="post">
						<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
						<input type="hidden" name="__action" value="Contact/Send" />
						<input type="hidden" name="copy" value="1" />

						<input type="email" name="email" value="{{ customer.Email }}" 
						{% if customer.Email == blank -%} placeholder="* {{ translations.Com_EmailAddress }}" {% endif -%} 
						required />	
						<input type="tel" name="phoneNo"  value="{{ customer.Address.PhoneNo }}" 
						placeholder="{{ translations.Prf_Telephone }}" />
						<input type="text" name="subject" placeholder="* {{ translations.Cfm_Subject }}" required autofocus />
						<textarea type="text" name="message" placeholder="* {{ translations.Pps_Message }}" required /></textarea>

						<input type="text" name="macro_Pole1" placeholder="* Pole1" required />
						<input type="text" name="macro_Pole2" placeholder="* Pole2" required />

						<span class="legend">* {{ translations.Reg_RequiredFieldsExp }} </span>
						<button class="primary-action">{{ translations.Com_Send }}</button>
					</form>
				</div>
			</div>
		</div>
		
		{% if settings.googleMapsKey != '' and config.Shop.Address.Latitude != 0 and config.Shop.Address.Longitude != 0 -%}
			<div id="map-canvas" class="col-md-8 col-xs-12"></div>
		{% endif %}
	</div>
Aby pola użytkownika były widoczne w mailu ze strony kontakt należy należy dodać w ich treści zdefiniowane pola. Przykład dodania takich pól poniżej:
<div style="padding: 20px; margin: 20px; font-family: Arial, Helvetica, sans-serif; text-align: left; border: 1px solid #cc6600; font-size: 12pt;"><h2 style="color: #cc6600;">ZAPYTANIE ZE STRONY INTERNETOWEJ</h2><br />
<p>Nadawca: <a href="mailto:{{ customer.Email }}"><b>{{ customer.Email }}</b></a><br />Temat: <b>{{ subject }}</b></p>
<p>Treść wiadomości:<br /> {{ message }}</p> 

<pre>
  Pole 1 {{userFields.macro_Pole1}}
  Pole 2 {{userFields.macro_Pole2}}
</pre>

</div>
Tworzymy pomocniczą tablice zawierającą ścieżki do plików. Przykład:
 addAttachementInResume: function(e) {
        window.attachementsInResume = [];
        var filesArr = $(e.currentTarget).parents('.inputs-container-js').find('.addAttachementInResume-js');
        filesArr.each(function () {
            if(this.files.length > 0){
                var maxSize = $(this).data('file-size');
                if(this.files[0].size > maxSize){
                    var message = $('[data-not-added-info]').data('not-added-info') + '.
' + this.files[0].name + '
: ' + $(this).data('size-exceeded');
                    app.showTemporaryPopup(message, 'error', '', 8000);
                    $(this).val('');
                    $(this).next().hide();
                } else {
                    window.attachementsInResume.push(this.files[0]);
                    $(e.currentTarget).siblings('.fileInfo-js').html(this.files[0].name);
                }
            }
        });
    }
W celu przesłania ciała akcji najlepiej użyć FormData (JavaScript API), do której przekażemy kolejne pola. Pliki przekazujemy jako file0, file1, .. fileN. Przykład poniżej:
postResume: function(e) {
        if(app.validationBeforePost(e) != 'error'){
            var form = $(e.currentTarget).parents('.inputs-container-js');
            var dataFromHTML = form.find('input:not([disabled]), select:not([disabled]), textarea:not([disabled])').serializeArray();
            var fileList = window.attachementsInResume;
            if(fileList != undefined){
                var filesSize = fileList.length;
            }
            var fd = new FormData();
            fd.append('__csrf', __CSRF);
            for(var i=0; i<dataFromHTML.length; i++){ fd.append(dataFromHTML[i].name,dataFromHTML[i].value); } if (filesSize > 0) {
                window.AttachementsErrors = 0;
                function addAttachementError(file, message) {
                    if(window.AttachementsNotAdded == undefined){
                        window.AttachementsNotAdded = [];
                    }
                    var attachement = ' '+file.name+': '+message+' ';
                    window.AttachementsNotAdded.push(attachement);
                    window.AttachementsErrors += 1;
                };
                var input = form.find('[type=file]').eq(0);
                var extensions = input.attr('accept').split(', ');
                var fileSize = input.data('file-size');
                for (var i=0; i<filesSize; i++) {
                    var file = fileList.pop();
                    if(file.size < fileSize){
                        var extensionArr = file.name.split('.');
                        var extension = '.' + extensionArr[extensionArr.length - 1].toLowerCase();
                        var wrongExtension = true;
                        for(var j=0; j<extensions.length; j++){
                            if(extension == extensions[j]){
                               fd.append('file'+i, file);
                               var wrongExtension = false;
                            }
                        }
                        if(wrongExtension){
                           var message = input.data('invalid-file');
                           addAttachementError(file, message); 
                        }
                    } else {
                        var message = input.data('size-exceeded');
                        addAttachementError(file, message);
                    }
                }
                if(window.AttachementsNotAdded){
                    var message = $('[data-not-added-info]').data('not-added-info') + window.AttachementsNotAdded.join('');
                    app.showTemporaryPopup(message, 'error', '', 8000);
                    window.AttachementsNotAdded = undefined; window.AttachementsErrors = undefined;
                }
            }
            $.ajax({ data: fd, processData: false, contentType: false, type: 'POST', success: function (data) {
                $('.addAttachementInResume-js').val('');
                if (data.action.Result) {
                    var message = form.data('success-info');
                    app.showTemporaryPopup(message, 'success', '', 8000);
                    $('.clearFileInput-js').hide();
                    app.hidePopup(e);
                } else {
                    app.showTemporaryPopup(data.action.Description, 'error', '', 8000);
                }
            }};
            $('.fileInfo-js').html('');
        }
},
 

 
TellFriendAboutProduct
Akcja odpowiedzialna za wysłanie powiadomienia odnośnie danego produktu do innej osoby poprzez e-mail. Parametry:
  • productId (int, pole obowiązkowe),
  • email (string, pole obowiązkowe, wyrażenie regularne) - maksymalna długość to 192 znaki,
  • name (string) - maksymalna długość to 50 znaków,
  • message (string, pole obowiązkowe) - maksymalna długość to 500 znaków,
  • copy (bool),
  • friendEmail (string, pole obowiązkowe, wyrażenie regularne) - maksymalna długość to 192 znaki,
  • friendName (string) - maksymalna długość to 50 znaków.
<form method="POST">
<input type="hidden" name="__csrf" value="{{ page.CSRF }}" />
<input type="hidden" name="__action" value="Contact/TellFriendAboutProduct" />
<input type="hidden" name="productId" value="{{ product.Id }}" />
<input type="email" name="email" value="{{ customer.Email }}" required />
<input type="text" name="name" value="{{ customer.Address.Name }}" />
<input type="email" name="friendEmail" required />
<input type="text" name="friendName" />
<textarea type="text" name="message" required></textarea>
<button>Zatwierdź</button>
</form>
 

 
Accept
Akcja odpowiedzialna za wysłanie żądania o zastosowanie wszystkich zmian. Parametry:
  • orderId (int, pole obowiązkowe).
 this.accept = function (aditionalRequestData) {
                var data = {
                    __action: 'OrderEdit/Accept',
                    __csrf: __CSRF,
                    orderId: this.orderId,
                    __template: this.orderTemplateUrl,
                };

                if (aditionalRequestData) {
                    data = $.extend(data, aditionalRequestData);
                }

                var thisRef = this;
                return window.UIFeatures.makePostRequest(data, thisRef.orderRequestUrl, function (res) {
                    window.UIFeatures.pureReplaceTemplate(thisRef.orderTemplateContainer, null, null, res.template, thisRef.orderRequestUrl);
                    if (!res.action.Result) {
                        $('.during-ajax-modal-lq').addClass('hidden-lq');
                        var messagesContainer = $(messagesContainerSelector);
                        window.app.temporaryMessage(messagesContainer, window.UIFeatures.makeMessageHtml(res.action, 'warning'));
                    }
                    thisRef.recalculationRequired = false;
                    window.app.setCookie('lastCartId', -1);
                });
            }
 

 
AttributesSet
Akcja odpowiedzialna za edycję atrybutów odnoszących się bezpośrednio do zamówienia. Parametry:
    • orderId (int, pole obowiązkowe),
    • attribute (string[]) - może zostać przekazane wielokrotnie w ramach jednej akcji (string), maksymalna długość to 1000 znaków.
<div class="remarks-ui">
    <div class="form-js header-attributes-set-form-js">
        <input type="hidden" name="__action" value="OrderEdit/AttributesSet" />
        <input type="hidden" name="orderId" value="{{ order.Id }}" />
        {% assign i = 0 -%}
        {% for headerAttr in config.Orders.AttributesEdit.Header -%}
            {% assign intId = headerAttr.Id | ToInt -%}
            {% unless headerAttr.Editable == false and order.Attributes[intId].Value == null -%}
                {% assign i = i | Plus: 1 -%}
                {% assign modulo = i | Modulo: 3 -%}
                {% if modulo == 1 -%}
                    <div class="order-info-row-ui">
                {% endif -%}
                <div class="order-info-item-ui">
                    <div class="name-ui">
                        {{ headerAttr.Name }}
                        {% if headerAttr.Required -%}
                            <span class="required-ui">*</span>
                        {% endif -%}
                    </div>
                    <div class="content-ui">
                        {% if headerAttr.Editable -%}
                            {% case headerAttr.Format -%}
                                {% when 1 -%}
                                    <input type="text" name="attribute" value="{{ order.Attributes[intId].Value }}" maxlength="50" {% if headerAttr.Required -%} required {% endif -%} />
                                {% when 2 -%}
                                    <input type="number" name="attribute" value="{{ order.Attributes[intId].Value }}" maxlength="50" {% if headerAttr.Required -%} required {% endif -%} />
                                {% when 3 -%}
                                    <span class="select-background-ui">
                                        <select name="attribute">
                                            {% for val in headerAttr.Values %}
                                                <option {% if val.ValueId == headerAttr.Values[0].ValueId or val.ValueId == order.Attributes[intId].ValueId -%} selected="selected" {% endif -%} value="{{ val.ValueId }}">{{ val.Value }}</option>
                                            {% endfor -%}
                                        </select>
                                    </span>
                                    <i class="ti-angle-down select-arrow-ui"></i>
                                    {% when 4 -%}
                                        <input type="date" name="attribute" value="{{ order.Attributes[intId].Value | Date:dateFormat }}" {% if headerAttr.Required -%} required {% endif -%} />
                            {% endcase -%}
                            <div class="error-ui validation-info-js validation-required-js hidden-js">
                                {{ translations.FillAttributeValue }}
                            </div>
                        {% else -%}
                            {{ order.Attributes[intId].Value }}
                        {% endif -%}
                    </div>
                </div>
                {% if modulo == 0 or i == ordAttrSize -%}
		    </div>
		{% endif -%}
	    {% endunless -%}
	{% endfor -%}
    </div>
    <div class="mt20-ui small-text-ui"><span class="required-ui">*</span> {{ translations.RequiredFields }}</div>
</div>
 

 
Cancel
Akcja odpowiedzialna za wysłanie żądania o anulowaniu wszystkich zmian. Parametry:
    • orderId (int, pole obowiązkowe).
    this.cancel = function (aditionalRequestData) {
                var data = {
                    __action: 'OrderEdit/Cancel',
                    __csrf: __CSRF,
                    orderId: this.orderId,
                    __template: this.orderTemplateUrl,
                };

                if (aditionalRequestData) {
                    data = $.extend(data, aditionalRequestData);
                }

                var thisRef = this;
                return window.UIFeatures.makePostRequest(data, thisRef.orderRequestUrl, function (res) {
                    window.UIFeatures.pureReplaceTemplate(thisRef.orderTemplateContainer, null, null, res.template, thisRef.orderRequestUrl);
                    if (!res.action.Result) {
                        var messagesContainer = $(messagesContainerSelector);
                        window.app.temporaryMessage(messagesContainer, window.UIFeatures.makeMessageHtml(res.action, 'warning'));
                    }
                    thisRef.recalculationRequired = false;
                    window.app.setCookie('lastCartId', -1);
                    if($('.escape-editing-lq').length > 0 ){
                        $('.escape-editing-lq').trigger('click');
                    }
                });
            }
 

 
CartCreate
Akcja odpowiedzialna za wysłanie żądania o utworzenie koszyka do edycji zamówienia.
    • orderId (int, pole obowiązkowe).
  this.cartCreate = function (aditionalRequestData) {
                var data = {
                    __action: 'OrderEdit/CartCreate',
                    __csrf: __CSRF,
                    orderId: this.orderId,
                    __template: this.orderTemplateUrl,
                    __collection: 'config.DefinedPages.Home.Url|customer-profile.OrderQueryGET'
                };

                if (aditionalRequestData) {
                    data = $.extend(data, aditionalRequestData);
                }

                var thisRef = this;
                return window.UIFeatures.makePostRequest(data, thisRef.orderRequestUrl, function (res) {
                    // check if cartId avalible, and put in cookies
                    if (!res.action.Result) {
                        var messagesContainer = $(messagesContainerSelector);
                        window.app.temporaryMessage(messagesContainer, window.UIFeatures.makeMessageHtml(res.action, 'warning'));
                    } else {
                        window.app.setCookie('OrderQueryGET', res.collection['customer-profile.OrderQueryGET']);
                        window.app.newUrl(res.collection['config.DefinedPages.Home.Url']);
                    }
                });
            }
 

 
CartMerge
Akcja odpowiedzialna za wysłanie żądania o połączenie koszyka z edytowanym zamówieniem. Parametry:
    • orderId (int lub null).
    this.cartMerge = function (messagesContainerSelector, aditionalRequestData) {
                var data = {
                    __action: 'OrderEdit/CartMerge',
                    __csrf: __CSRF,
                    __collection: 'config.DefinedPages.CustomerProfile.Url'
                };

                if (aditionalRequestData) {
                    data = $.extend(data, aditionalRequestData);
                }

                var thisRef = this;
                return window.UIFeatures.makePostRequest(data, null, function (res) {
                    if (res.action.Result) {
                        //temp order url - to change in future (when profile routing will be implemented)
                        var orderQueryGET = window.app.getCookie('OrderQueryGET');
                        window.app.setCookie('OrderQueryGET', '', -1);
                        if(orderQueryGET.indexOf('&tab=order-details') === -1){
                            window.app.newUrl(res.collection + '?' + orderQueryGET + '=' + thisRef.orderId + '&tab=order-details');
                        } else {
                            window.app.newUrl(res.collection + '?' + orderQueryGET + '=' + thisRef.orderId);
                        }
                    } else {
                        var messagesContainer = $(messagesContainerSelector);
                        window.app.temporaryMessage(messagesContainer, window.UIFeatures.makeMessageHtml(res.action));
                    }
                });
            }
 

 
Edit
Akcja odpowiedzialna za wysłanie żądania o rozpoczęcie procesu edycji.
    • orderId (int, pole obowiązkowe).
       this.edit = function (aditionalRequestData) {
                var data = {
                    __action: 'OrderEdit/Edit',
                    __csrf: __CSRF,
                    orderId: this.orderId,
                    __template: this.orderTemplateUrl,
                    __collection: 'customer-profile.Order.RecalculationRequired'
                };

                if (aditionalRequestData) {
                    data = $.extend(data, aditionalRequestData);
                }

                var thisRef = this;
                return window.UIFeatures.makePostRequest(data, thisRef.orderRequestUrl, function (res) {
                    window.UIFeatures.pureReplaceTemplate(thisRef.orderTemplateContainer, null, null, res.template, thisRef.orderRequestUrl);
                    if (!res.action.Result) {
                        var messagesContainer = $(messagesContainerSelector);
                        window.app.temporaryMessage(messagesContainer, window.UIFeatures.makeMessageHtml(res.action, 'warning'));
                    }
                    thisRef.recalculationRequired = res.collection;
                });
            }
 

 
PositionAttributesSet
Akcja odpowiedzialna za edycję atrybutów poszczególnych towarów w zamówieniu. Parametry:
    • orderId (int, pole obowiązkowe),
    • no (int, pole obowiązkowe),
    • attribute (string[]) - może zostać przekazane wielokrotnie w ramach jednej akcji, maksymalna długość to 1000 znaków.
<div class="form-js position-attributes-set-form-js">
    <input type="hidden" name="__action" value="OrderEdit/PositionAttributesSet" />
    <input type="hidden" name="no" value="{{ product.No }}" />
    {% if showInCustomerProfile -%}
	<input type="hidden" name="orderId" value="{{ order.Id }}" />
    {% endif -%}
    {% for positionAttr in attributes -%}
	{% assign intId = positionAttr.Id | ToInt -%}
	{% if nullAttributes != '' -%}
		{% assign isNull = false -%}
		{% for nullAttribute in nullAttributes -%}
			{% if nullAttribute == positionAttr.Id -%}
			        {% assign isNull = true -%}
				{% break -%}
			{% endif -%}
		{% endfor -%}
	{% else -%}
		{% assign isNull = false -%}
	{% endif -%}
	{% if isNull == false -%}
		{% assign mod = i | Modulo:5 -%}
		{% if mod == 0 -%}
			{% assign pageNo = pageNo | Plus:1 -%}
		{% endif -%}
  		<div class="div-table-cell-ui attributes-view-cell-ui {% if order.EditingAllowed -%} order-edit-active-ui {% endif -%} attributes-view-lq hidden-js page{{pageNo}}-lq">
			{% if positionAttr.Editable -%}
				<label class="mobile-ui">{{ positionAttr.Name }} {% if positionAttr.Required -%} <span class="required-ui"> *</span>{% endif -%}</label>
	  			{% case positionAttr.Format -%}
					{% when 1 -%}
		    	  			<input type="text" name="attribute" value="{{ product.Attributes[intId].Value }}" maxlength="50" {% if positionAttr.Required -%} required {% endif -%} />
					{% when 2 -%}
						<input type="number" name="attribute" value="{{ product.Attributes[intId].Value }}" maxlength="50" {% if positionAttr.Required -%} required {% endif -%} />
					{% when 3 -%}
				    		<span class="select-background-ui">
							<select name="attribute">
								{% for val in positionAttr.Values %}
									<option {% if val.ValueId == positionAttr.Values[0].ValueId or val.ValueId == product.Attributes[intId].ValueId -%} selected="selected" {% endif -%} value="{{ val.ValueId }}">{{ val.Value }}</option>
								{% endfor -%}
							</select>
				        	</span>
				        	<i class="ti-angle-down select-arrow-ui"></i>
					{% when 4 -%}
						<input type="date" name="attribute" value="{{ product.Attributes[intId].Value | Date:'yyyy-MM-dd' }}" placeholder="rrrr-mm-dd" {% if positionAttr.Required -%} required {% endif -%} />
				{% endcase -%}
				<div class="error-ui validation-info-js validation-required-js hidden-js">
			    		{{ translations.FillAttributeValue }}
				</div>
			{% else -%}
				{{ product.Attributes[intId].Value }}
			{% endif -%}
    		</div>
    		{% assign i = i | Plus:1 -%}
    	{% endif -%}
    {% endfor -%}
    {% assign mod = i | Modulo:5 -%}
    {% if mod != 0 -%}
    	{% for obj in (mod..4) -%}
		<div class="div-table-cell-ui attributes-view-cell-ui {% if order.EditingAllowed -%} order-edit-active-ui {% endif -%} attributes-view-lq hidden-js page{{pageNo}}-lq"></div>
	{% endfor -%}
    {% endif -%}
</div>
 

 
PositionDelete
Akcja odpowiedzialna za wysłanie żądania o usunięcie pozycji. Parametry:
    • orderId (int, pole obowiązkowe),
    • no (int, pole obowiązkowe).
  this.positionDelete = function (posNo, aditionalRequestData) {
                var data = {
                    __action: 'OrderEdit/PositionDelete',
                    __csrf: __CSRF,
                    no: posNo,
                    orderId: this.orderId,
                    __template: this.orderTemplateUrl,
                    __collection: 'customer-profile.Order.RecalculationRequired'
                };

                if (aditionalRequestData) {
                    data = $.extend(data, aditionalRequestData);
                }

                var thisRef = this;
                return window.UIFeatures.makePostRequest(data, thisRef.orderRequestUrl, function (res) {
                    window.UIFeatures.pureReplaceTemplate(thisRef.orderTemplateContainer, null, null, res.template, thisRef.orderRequestUrl);
                    if (!res.action.Result) {
                        var messagesContainer = $(messagesContainerSelector);
                        window.app.temporaryMessage(messagesContainer, window.UIFeatures.makeMessageHtml(res.action, 'warning'));
                    }
                    thisRef.recalculationRequired = res.collection;
                });
            }
 

 
PositionQuantityChange
Akcja odpowiedzialna za wysłanie żądania o zmianę ilości danej pozycji. Parametry:
    • orderId (int, pole obowiązkowe),
    • no (int, pole obowiązkowe),
    • quantity (decimal, pole obowiązkowe) - może przyjąć wartość od 0.01 do 99999.
this.positionQuantityChange = function (posNo, quantity, messagesContainerSelector, aditionalRequestData) {
                var data = {
                    __action: 'OrderEdit/PositionQuantityChange',
                    __csrf: __CSRF,
                    no: posNo,
                    orderId: this.orderId,
                    quantity: quantity,
                    __template: this.orderTemplateUrl,
                    __collection: 'customer-profile.Order.RecalculationRequired'
                };

                if (aditionalRequestData) {
                    data = $.extend(data, aditionalRequestData);
                }

                var thisRef = this;
                if(aditionalRequestData.orderDetPageId && thisRef.orderRequestUrl.indexOf('orderDetPageId='+aditionalRequestData.orderDetPageId) === -1){
                    if(thisRef.orderRequestUrl.indexOf('orderDetPageId') !== -1){
                        thisRef.orderRequestUrl = thisRef.orderRequestUrl.substring(0, thisRef.orderRequestUrl.indexOf('&orderDetPageId')) + '&orderDetPageId=' + aditionalRequestData.orderDetPageId;
                    } else {
                        thisRef.orderRequestUrl = thisRef.orderRequestUrl + '&orderDetPageId=' + aditionalRequestData.orderDetPageId;
                    }
                }

                return window.UIFeatures.makePostRequest(data, thisRef.orderRequestUrl, function (res) {
                    window.UIFeatures.pureReplaceTemplate(thisRef.orderTemplateContainer, null, null, res.template, thisRef.orderRequestUrl);
                    if (!res.action.Result) {
                        var container = $(messagesContainerSelector);
                        container.find('.error-msg-lq').remove();
                        var messageContainer = '<div class="quantity-error-ui error-msg-lq">'+res.action.Description+'</div>';
                        container.append(messageContainer);
                        container.find('.error-msg-lq').delay(3000).fadeOut(300, function(){
                            $(this).remove();
                        });
                    }
                    thisRef.recalculationRequired = res.collection;
                });
            }
 

 
PositionUndo
Akcja odpowiedzialna za wysłanie żądania o cofnięcie wszystkich zmian danej pozycji w zamówieniu. Parametry:
    • orderId (int, pole obowiązkowe),
    • no (int, pole obowiązkowe).
 this.undo = function (aditionalRequestData) {
                var data = {
                    __action: 'OrderEdit/Undo',
                    __csrf: __CSRF,
                    orderId: this.orderId,
                    __template: this.orderTemplateUrl,
                    __collection: 'customer-profile.Order.RecalculationRequired'
                };

                if (aditionalRequestData) {
                    data = $.extend(data, aditionalRequestData);
                }

                var thisRef = this;

                return window.UIFeatures.makePostRequest(data, thisRef.orderRequestUrl, function (res) {
                    window.UIFeatures.pureReplaceTemplate(thisRef.orderTemplateContainer, null, null, res.template, thisRef.orderRequestUrl);
                    if (!res.action.Result) {
                        var messagesContainer = $(messagesContainerSelector);
                        window.app.temporaryMessage(messagesContainer, window.UIFeatures.makeMessageHtml(res.action, 'warning'));
                    }
                    thisRef.recalculationRequired = res.collection;
                });
            }
 

 
Recalculate
Akcja odpowiedzialna za wysłanie żądania o przeliczenie zamówienia. Parametry:
  • orderId (int, pole obowiązkowe).
     this.recalculate = function(aditionalRequestData) {
                var data = {
                    __action: 'OrderEdit/Recalculate',
                    __csrf: __CSRF,
                    orderId: this.orderId,
                    __template: this.orderTemplateUrl,
                };

                if (aditionalRequestData) {
                    data = $.extend(data, aditionalRequestData);
                }

                var thisRef = this;
                return window.UIFeatures.makePostRequest(data, thisRef.orderRequestUrl, function (res) {
                    window.UIFeatures.pureReplaceTemplate(thisRef.orderTemplateContainer, null, null, res.template, thisRef.orderRequestUrl);
                    if (!res.action.Result) {
                        var messagesContainer = $(messagesContainerSelector);
                        window.app.temporaryMessage(messagesContainer, window.UIFeatures.makeMessageHtml(res.action, 'warning'));
                    }
                    thisRef.recalculationRequired = false;
                });
            }
 

 
Undo
Akcja odpowiedzialna za wysłanie żądania o cofnięcie wszystkich zmian w zamówieniu. Parametry:
    • orderId (int, pole obowiązkowe).
     this.undo = function (aditionalRequestData) {
                var data = {
                    __action: 'OrderEdit/Undo',
                    __csrf: __CSRF,
                    orderId: this.orderId,
                    __template: this.orderTemplateUrl,
                    __collection: 'customer-profile.Order.RecalculationRequired'
                };

                if (aditionalRequestData) {
                    data = $.extend(data, aditionalRequestData);
                }

                var thisRef = this;

                return window.UIFeatures.makePostRequest(data, thisRef.orderRequestUrl, function (res) {
                    window.UIFeatures.pureReplaceTemplate(thisRef.orderTemplateContainer, null, null, res.template, thisRef.orderRequestUrl);
                    if (!res.action.Result) {
                        var messagesContainer = $(messagesContainerSelector);
                        window.app.temporaryMessage(messagesContainer, window.UIFeatures.makeMessageHtml(res.action, 'warning'));
                    }
                    thisRef.recalculationRequired = res.collection;
                });
            }
 

 
FbAccountLink
Akcja odpowiedzialna za połączenie konta w sklepie z kontem na Facebooku. Parametry:
  • userID (int).
    function connectFb(e) {
    if (fbLoginStatus.status === 'connected') {
        var userIdNum = fbLoginStatus.authResponse.userID;
        var data = {
            __csrf: __CSRF,
            __action: 'External/FbAccountLink',
            userID: userIdNum
        };
        $.post(null, data, function (result) {
            if (result.action.Result) {
                location.reload();
            } else {
                application.createMessage(result.action);
            }
        });
    } else {
        var loginMessage = $(e.currentTarget).data('error-msg');
        application.createMessage(loginMessage);
    }
}
 

 
FbAccountUnlink
Akcja odpowiedzialna za rozłączenie konta w sklepie z kontem na Facebooku.
function disconnectFb() {
    var data = {
        __csrf: __CSRF,
        __action: 'External/FbAccountUnlink'
    };
    $.post(null, data, function (result) {
        if (result.action.Result) {
            location.reload();
        } else {
            application.createMessage(result.action);
        }
    });
}
 

 
FbLogin
Akcja odpowiedzialna za zalogowanie. Parametry:
    • response (string, pole obowiązkowe).
function connectToFb(response) {
    FB.api('/me', {
        fields: 'email,name'
    }, function (u) {
        response.user = u;
        $.post(null, {
            __csrf: __CSRF,
            __action: 'external/fblogin',
            response: JSON.stringify(response)
        }, function (result) {
            if (result.action.Result) {
                window.location.replace('');
            } else if (result.action.Code != 100) {
                application.createMessage(result.action);
            }
        });
    });
}
 

 
GoogleAccountLink
Akcja odpowiedzialna za połączenie konta w sklepie z kontem Google. Parametry:
    • userID (int).
  $('#linkGoogleAccount').off().click(function(){
                bodyTag.style.cursor = 'wait';
                au.signIn().then(function(googleUser){
                    return googleUser.getBasicProfile().getId();
                }).then(function (value) {
                    setTimeout(function() {
                        $.post(null,{ __action: 'External/GoogleAccountLink', __csrf: __CSRF, userID: value },function(result){
                            if (result.action.Result) {
                                location.reload();
                            } else {
                                createMessage(result);
                                bodyTag.style.cursor = 'default';
                            }
                        });
                    }, 1000);
                });
            });
 

 
GoogleAccountUnlink
Akcja odpowiedzialna za rozłączenie konta w sklepie z kontem Google.
 $('#unlinkGoogleAccount').off().click(function(){
                $.post(null,{ __action: 'External/GoogleAccountUnlink', __csrf: __CSRF },function(result){
                    if (result.action.Result) {
                        location.reload();
                    } else {
                        createMessage(result);
                        bodyTag.style.cursor = 'default';
                    }
                });
            });
 

 
GoogleLogin
Akcja odpowiedzialna za zalogowanie. Parametry:
  • id_token (int, pole obowiązkowe).
   $('#google-signin').off().click(function(){
                bodyTag.style.cursor = 'wait';
                au.signIn().then(function(googleUser){
                    return googleUser.getAuthResponse().id_token;
                }).then(function (value) {
                    setTimeout(function() {
                        $.post(null,{ __action: 'External/GoogleLogin', __csrf: __CSRF, id_token: value },function(result){
                            if (result.action.Result) {
                                window.location.replace('');
                            } else if (result.action.Code === 108) {
                                var errMsg = document.querySelector('#google-signin').dataset.errorMsg;
                                application.createMessage(errMsg);
                                bodyTag.style.cursor = 'default';
                            } else {
                                createMessage(result);
                                bodyTag.style.cursor = 'default';
                            }
                        });
                    }, 4000);
                });
            });
 

 
Exec
Akcja odpowiedzialna za pobieranie danych bezpośrednio z ERP. Parametry:
  • message (string, pole obowiązkowe),
  • worker (string) - maksymalna długość to 32 znaki.
  var data = {
    __action: 'sync/exec',
    __CSRF: __CSRF,
    worker: 'erpData',
    message: JSON.stringify({
        command: 'CDN.eShop_GetOrders',
        parameters: { 
            DateFrom: '2019-01-01', 
            DateTo: '2019-12-31', 
            LanguageId: __lngId, 
            PageNo: '1'
       }
    }) 
};

function getData() {
  $.post(null, data, function (d) {
	 if (!d.action.Result) {  
		console.log(JSON.stringify(d));
		return;
	 } else {
		console.log(JSON.stringify(d));

		var res = d.action.Object[0];
		console.log(JSON.stringify(res));

		var res2 = d.action.Object[1];
		console.log(JSON.stringify(res2));

		var res3 = d.action.Object[2];
		console.log(JSON.stringify(res3));
	 }
  });
}
 
 
Add
Akcja odpowiedzialna za dodawanie zapytań ofertowych. Parametry:
  • email (string, pole obowiązkowe) - maksymalna długość to 192 znaki,
  • phoneNo (string) - maksymalna długość to 20 znaków,
  • name (string, pole obowiązkowe) - maksymalna długość to 128 znaków,
  • message (string) - maksymalna długość to 2000 znaków,
  • tos (int),
  • channelKey (string).
<input aria-label="action-inquiry-add" type="hidden" name="__action" value="Inquiry/Add" />
{% for tos in config.TOS.Consents.Inquiries -%}
    <div class="tos-container-js {% if tos.Statement -%} statement-ui statement-lq {% endif -%}" >
        {% if tos.Statement -%}
            {{ tos.Text }}
        {% else -%}
            <label class="checkbox-ui tos-js">
                <input aria-label="tos" type="checkbox" name="tos" value="{{ tos.Id }}" {% if tos.Required -%} required {% endif -%} />
                <span class="label-ui">{% if tos.Required -%}<span class="required-ui">*</span> {% endif -%}{{ tos.Text }}</span>
                {% if tos.Required -%}
                    <span class="error-ui validation-info-js validation-required-js hidden-js">{{ translations.RequiredField }}</span>
                {% endif -%}
            </label>
        {% endif -%}
        {% assign channelsSize = tos.Channels | Size -%}
        {% if channelsSize > 0 -%}
            {% assign onlyEmail = false -%}
            {% if channelsSize == 1 and tos.Channels[0].Type == 1 -%}
                {% assign onlyEmail = true -%}
            {% endif -%}
            {% if onlyEmail == false -%}
                <span class="error-ui validation-info-js validation-channel-js hidden-js">{{ translations.ChooseOption }}</span>
            {% endif -%}
        {% endif -%}
        {% for channel in tos.Channels -%}
            <label class="checkbox-ui channel-ui {% if onlyEmail == false -%} channel-js {% endif -%} {% if tos.Statement == false -%} disabled-channel-js {% endif -%}">
                {% if onlyEmail == false -%}
                    <input aria-label="channelKey" type="checkbox" name="channelKey" value="{{ channel.Key }}" {% if tos.Statement == false -%} disabled {% endif -%} />
                {% else -%}
                    <input aria-label="channelKey" type="hidden" name="channelKey" value="{{ channel.Key }}" checked />
                    <input aria-label="channelKey" type="checkbox" checked disabled />
                {% endif -%}
                <span class="label-ui">{{ channel.Name }}</span>
            </label>
        {% endfor -%}
    </div>
{% endfor -%}
<small class="mb10-ui block-ui"><span class="required-ui">*</span> {{ translations.RequiredFields }}</small>
<button aria-label="inquiry-recalculate" class="order-button-ui parent-container-reload-js add-inquiry-js" data-products-quantity="{{order.Products | Size}}" data-date="{{config.Now | Date:dateFormat}}">
    {{translations.AddInquiry}}
</button>
 
 
CartMerge
Akcja odpowiedzialna za dodanie koszyka do zapytania ofertowego. Parametry:
  • inquiryId (int, pole obowiązkowe).
function produceOffer(e) {
    var id = $(e.currentTarget).data('id');
    var url = $(e.currentTarget).data('redirect-url');
    var data = {
        __action: 'Inquiry/CartMerge',
        __csrf: __CSRF,
        inquiryId: id
    }
    $.post('', data, function(result) {
        if (result.action.Result) {
            app.replace(url);
        }
    });
};
 

 
Set
Akcja odpowiedzialna za ustawienie koszyka jako zapytanie. Parametry:
  • inquiry (bool),
  • cartId (int lub null).
toggleCartType: async function() {
    const trigger = this;
    if(trigger.classList.contains('change-into-cart-js')){
        var inquiry = false;
        if(document.getElementsByClassName('last-inquiry-js').length > 0){
            window.app.setCookie('lastCartId', window.app.getCookie('activeInquiryId'));
            window.app.setCookie('activeInquiryId', -1);
        }
    } else {
        var inquiry = true;
        if(document.getElementsByClassName('last-cart-js').length > 0){
            window.app.setCookie('activeInquiryId', window.app.getCookie('lastCartId'));
            window.app.setCookie('lastCartId', -1);
        }
    }
    const message = trigger.dataset.message;
    const result = await js.post({__action: 'Inquiry/Set', inquiry: inquiry});
    document.body.innerHTML += '<div class="toggle-cart-type-succeed-js message-popup-background-ui">'+
                                    '<div class="message-popup-ui box-ui">'+
                                        '<div class="box-ui" style="padding: 50px">'+
                                            '<i class="va-mid-ui ti-check" style="margin-right: 10px; font-size: 30px; color: #7fba00"></i>'+
                                            '<span class="va-mid-ui line-height-1-ui" style="font-weight: 500; font-size: 18px">'+message+'</span>'+
                                        '</div>'+
                                    '</div>'+
                                '</div>'
},
 
 
Ping
Akcja odpowiada za podtrzymanie sesji użytkownika korzystającego z e-Sklepu. Domyślnie czas bezczynności sesji użytkownika wynosi 15 minut, po upływie których jest usuwana, zaś w szablonach Comarch sesja ta jest podtrzymywana. Poniżej znajduje się przykładowy skrypt, który należy odpowiednio zaimplementować w swoim szablonie, w jednym z plików js. Przykład implementacji akcji Ping w szablonach Comarch znajduje się w artykule: Podtrzymanie sesji użytkownika.
setInterval(() => fetch(document.baseURI + 'xhr?__action=svc/ping'), 600000);

Kompilacja i minifikacja plików

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

Kompilacja i minifikacja plików

W standardowych szablonach style napisane są za pomocą preprocesora języka CSS jakim jest Sass. W efekcie style są umieszczane w plikach .scss. Niestety, przeglądarki nie potrafią ich odczytać, dlatego należy je przekompilować do plików .css, które już mogą zostać przez nie zidentyfikowane. Minifikacja plików to inaczej kompresja pliku, dzięki temu zmniejszamy wagę pliku. Zastosowanie minifikacji spowoduje, że strona internetowa będzie działać szybciej. Minifikację można przeprowadzić ręcznie, jednak jest to praca żmudna i mało wydajna. W tym artykule dowiesz się, jak automatycznie kompilować i minifikować pliki. Podczas tych operacji będziesz pracować na plikach lokalnych. Z pomocą przyjdzie Ci narzędzie Liquid Sync.

1. Node.js

Na początku musisz zainstalować Node.js. Instalator dostępny jest tutaj. W efekcie otrzymasz środowisko do dalszej pracy z plikami.

2. Folder nodejs

Po instalacji Node.js, należy dodać specjalny folder w plikach szablonu o nazwie nodejs. W tym folderze będą znajdować się wszystkie pliki wymagane do uruchomienia minifikacji.
Wskazówka
Pracuj na plikach lokalnych na swoim komputerze, a nie na tych znajdujących się w panelu administracyjnym.

3. Gulp

Gulp to narzędzie, które za Ciebie wykona automatyczną kompilację i minifikację plików. W nowym folderze (nodejs) dodaj plik gulpfile.js o zawartości jak poniżej: var gulp = require('gulp'); var gulpsass = require('gulp-sass')(require('sass')); var uglify = require('gulp-uglify-es').default; var rename = require('gulp-rename'); var minify = require('gulp-minify'); var chokidar = require('chokidar'); function sass() { return gulp.src('../scss/**/*.scss') .pipe(gulpsass()) .pipe(gulp.dest('../css')) }; function watch() { gulp.watch('../scss/**/*.scss', sass); }; function css(){ return gulp.src('../scss/**/*.scss') .pipe(rename({suffix: '.min'})) .pipe(gulpsass({outputStyle: 'compressed'})) .pipe(gulp.dest('../css')) }; function js(){ return gulp.src('../js/**/*.js') .pipe(rename({suffix: '.min'})) .pipe(uglify()) .pipe(gulp.dest('../js')) }; const watchSapphireScssFilesDependencies = { "_collection-points.scss": "../scss/collection-points.scss", "_globals1.scss": "../scss/desktop1.scss", "_header.scss": "../scss/desktop1.scss", "_country-flags.scss": "../scss/desktop1.scss", "_tooltip.scss": "../scss/desktop1.scss", "_stepper.scss": "../scss/desktop1.scss", "_pagination.scss": "../scss/desktop1.scss", "_sliders.scss": "../scss/desktop1.scss", "_categories-navigation.scss": "../scss/desktop1.scss", "_home.scss": "../scss/desktop1.scss", "_product-list.scss": "../scss/desktop1.scss", "_categories-map.scss": "../scss/desktop1.scss", "_order.scss": "../scss/desktop1.scss", "_globals2.scss": "../scss/desktop2.scss", "_globals-m.scss": "../scss/mobile.scss", "_offline.scss": "../scss/offline.scss" }; const watchSapphireJsFiles = ['../js/init.js', '../js/init-ui1.js', '../js/init-ui2.js', '../js/js.js']; function watchTopazRelease() { chokidar.watch('../scss/**/*.scss').on('change', (path) => { console.log(`File '${path}' changed.`) return gulp.src('../scss/layout*.scss') .pipe(gulpsass({outputStyle: 'compressed'})) .pipe(gulp.dest('../css/')) }); chokidar.watch('../js/layout!(*.min).js').on('change', (path) => { console.log(`File '${path}' changed.`) return gulp.src(path) .pipe(minify({ mangle: false, compress: false, noSource: true, ext: { min: ".min.js" } })) .pipe(gulp.dest('../js/')) }); }; function watchSapphireRelease() { chokidar.watch(['../js/layout!(*.min).js', ...watchSapphireJsFiles]).on('change', (path) => { console.log(`File '${path}' changed.`) return gulp.src(path) .pipe(minify({ mangle: false, compress: false, noSource: true, ext: { min: ".min.js" } })) .pipe(gulp.dest('../js/')) }); chokidar.watch('../scss/**/*.scss').on('change', (path) => { console.log(`File '${path}' changed.`) let stringsOfRelativePathParts = []; if(path.includes('/')) stringsOfRelativePathParts = path.split("/"); else stringsOfRelativePathParts = path.split("\\"); let fileName = stringsOfRelativePathParts[stringsOfRelativePathParts.length-1]; if(watchSapphireScssFilesDependencies[fileName] !== undefined) { path = watchSapphireScssFilesDependencies[fileName]; stringsOfRelativePathParts = watchSapphireScssFilesDependencies[fileName].split("/"); return gulp.src(path) .pipe(gulpsass({outputStyle: 'compressed'})) .pipe(gulp.dest('../css/')); } else if (path.includes('static-elements') || path.includes('elements') || path.includes('partials')) { return gulp.src('../scss/layout*.scss') .pipe(gulpsass({outputStyle: 'compressed'})) .pipe(gulp.dest('../css/')) } else if(!fileName.includes('global-variables') ) { return gulp.src(path) .pipe(gulpsass({outputStyle: 'compressed'})) .pipe(gulp.dest('../css/')) } }); }; exports.sass = sass; exports.watch = watch; exports.css = css; exports.js = js; exports.minify = gulp.parallel(js, css); exports.watchTopazRelease = watchTopazRelease; exports.watchSapphireRelease = watchSapphireRelease;  

4. NPM

Ostatni krok, to dodanie NPMa (Node Package Manager). Do tej operacji potrzebny jest terminal. Jeśli nie posiadasz programu do edycji kodu, który udostępniałby taki terminal, to nic nie szkodzi. Wystarczy uruchomić terminal, który jest dostępny w systemie w następujący sposób:
Wskazówka
Jeśli używasz narzędzia Liquid Sync to upewnij się, że jest ono wyłączone przed wykonaniem następnego kroku.
  • Otwórz folder nodejs, wciśnij i przytrzymaj na klawiaturze lewy Shift, a następnie kliknij prawym przyciskiem myszy w dowolne pole tego otwartego folderu,
  • Otworzy się lista opcji, na której wybierz: Otwórz okno polecenia tutaj (w systemie Windows 10 opcja ta nazywa się: Otwórz tutaj okno programu PowerShell),
  • Teraz możesz zainstalować NPM w swoim projekcie. Wystarczy, że wpiszesz komendę: npm init, a następnie zatwierdzisz ją klawiszem ENTER,
  • Podczas instalacji pojawią się pola z informacjami do uzupełnienia (m.in. package name, version, description, entry point, test command, git repository, keywords, author, license) oraz pytanie o poprawność wprowadzonych danych. Informacji tych nie trzeba uzupełniać (z wyjątkiem pierwszej, gdzie wystarczy wpisać cokolwiek), można je pomijać klawiszem ENTER,
  • Gdy operacja się zakończy, wpisz kolejną komendę:
    •  npm install –save-dev gulp@4.0.0 chokidar@3.6.0 sass@1.74.1 gulp-minify@3.1.0 gulp-rename@2.0.0 gulp-uglify-es@3.0.0 gulp-sass@5.1.0
  • Powyższa komenda zainstaluje paczki, które umożliwią poprawne działanie funkcji z pliku gulpfile.js. Komendę najlepiej przekopiować do okna polecenia. Jeśli jednak wpisujesz ją ręcznie, to zwróć uwagę, że przed słowem save są dwa myślniki, a nie jeden.
Wskazówka
Jeśli używasz narzędzia Liquid Sync to teraz należy zmienić nazwę folderu z nodejs na .nodejs. Dzięki dodaniu tej kropki na początku nazwy folderu, będzie on pomijany przy synchronizacji plików.
Komendy do kompilacji i minifikacji Po wykonaniu powyższych kroków, możesz już przystąpić do kompilacji i minifikacji. W pliku gulpfile.js jest zdefiniowanych kilka funkcji. Poniżej krótki opis funkcji oraz sposób ich wywołania:
  • Kompilacja plików .scss do .css: (Agat, Bursztyn, Opal)
Komenda gulp sass spowoduje przekompilowanie plików .scss do plików .css. Dzięki temu będziesz mógł edytować style w plikach .scss.
  • Automatyczna kompilacja plików .scss do .css: (Agat, Bursztyn, Opal)
Jeśli komenda gulp sass przypadła Ci do gustu, to ta spodoba Ci się jeszcze bardziej. Komenda gulp watch spowoduje, że automatycznie po każdej zmianie w dowolnym pliku .scss zostanie uruchomiona kompilacja do pliku .css.
  • Minifikacja plików .css: (Agat, Bursztyn, Opal)
Otrzymane pliki .css możemy zminifikować. Odpowiada za to komenda gulp css. Po jej uruchomieniu wszystkie pliki .scss zostaną przekompilowane do plików .min.css. Taki plik będzie dużo mniejszy od zwykłego pliku .css.
  • Minifikacja plików .js: (Agat, Bursztyn, Opal)
Nie tylko pliki ze stylami mogą być zminifikowane. Warto zminifikować również pliki .js. Zrobisz to komendą gulp js. Tworzy ona kopie z dopiskiem .min w nazwie dla wszystkich plików .js (z folderu JS znajdującego się w Twoim szablonie).
  • Minifikacja plików: (Agat, Bursztyn, Opal)
Ostatnia komenda to gulp minify. Minifikuje jednocześnie pliki .css i pliki .js.
  • Automatyczna minifikacja wszystkich plików: (Topaz)
Komenda gulp watchTopazRelease spowoduje, że automatycznie po każdej zmianie w dowolnym pliku .scss oraz .js zostanie utworzona jego zminifikowana wersja.
  • Automatyczna minifikacja wszystkich plików: (Szafir)
Komenda gulp watchSapphireRelease ma takie same działanie jak powyższa.

Obsługa akcji Product/DeliveryCostGet

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

Obsługa akcji Product/DeliveryCostGet

W tym artykule dowiesz się jak zmodyfikować swój szablon, aby obsłużyć akcję Product/DeliveryCostGet, w zamian za pole o nazwie DeliveryCost na obiekcie ze szczegółami towarów.

Dla kogo przeznaczona jest poniższa instrukcja i kiedy warto z niej skorzystać?

Akcja Product/DeliveryCostGet informuje o minimalnych kosztach dostawy dla wybranego towaru. W standardowych szablonach Comarch informacja ta prezentowana jest na szczegółach towaru.
Przykład zastosowania akcji w szablonie Topaz
Jeżeli chcesz prezentować informacje na temat minimalnych kosztów dostawy dla swoich towarów to zaktualizuj swój szablon do najnowszej wersji (zalecane) lub skorzystaj z poniższej instrukcji i dokonaj jego samodzielnej modyfikacji.

Topaz

W zależności od wybranego widoku szczegółów towaru instrukcja będzie się lekko różnić. Wspólnym dla wszystkich widoków jest: Krok 1. W panelu administracyjnym przejdź do sekcji Wygląd sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane/ Edytuj HML.

Obiekt product-details-1

Krok 2.W pliku elements/productDetails/product-details-1/html.js znajdź warunek {% if product.DeliveryCost != null and product.DeliveryCost > 0 -%} i usuń go wraz z całą jego zawartością a w jego miejsce wklej poniższy kod:

Obiekt product-details-2

Krok 2.W pliku elements/productDetails/product-details-2/html.js znajdź warunek {% if product.DeliveryCost != null and product.DeliveryCost > 0 -%} i usuń go wraz z całą jego zawartością a w jego miejsce wklej poniższy kod:

Obiekt product-details-3

Krok 2.W pliku elements/productDetails/product-details-3/html.js znajdź warunek {% if product.DeliveryCost != null and product.DeliveryCost > 0 -%} i usuń go wraz z całą jego zawartością a w jego miejsce wklej poniższy kod:

Agat

Krok 1. W panelu administracyjnym przejdź do sekcji Wygląd sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane/ Edytuj HML. Krok 2.W pliku partials/product/product-popup.html znajdź klasę info-container i usuń kontener z tą klasą wraz z całą jego zawartością a w jego miejsce wklej poniższy kod:
{% if product.StockLevel.Control -%} {% if product.StockLevel.Type != 4 and product.StockLevel.Text == '' -%} {% assign noText = true -%} {% endif -%}
{{ translations.Com_StockLvl }} {{ product.StockLevel.Text }}
{% endif -%}
{{ translations.Com_Availability }} {{ product.Availability.Text }} {{ product.Availability.Text }}

Bursztyn i Opal

Krok 1. W panelu administracyjnym przejdź do sekcji Wygląd sklepu/ Ustawienia/ Edytuj ustawienia zaawansowane/ Edytuj HML. Krok 2.W pliku productdetails.html znajdź warunek {% if _pd.DeliveryCost > 0 -%} i usuń go wraz z całą jego zawartością a w jego miejsce wklej poniższy kod:
Wskazówka
Po wprowadzeniu zmian pamiętaj o ich zapisaniu oraz publikacji.

Dodanie konfigurowalności strony głównej w szablonie Szafir

Dodanie konfigurowalności strony głównej w szablonie Szafir

W tym artykule dowiesz się jak zmodyfikować szablon Szafir, aby strona główna była konfigurowalna.
Wskazówka
Instrukcja przeznaczona jest dla sklepów od wersji 2022.4, które posiadają starsze szablony. Artykuł przeprowadzi Cię przez proces modyfikacji plików js oraz scss. Dodatkowe informacje o kompilacji i minifikacji znajdziesz w centrum pomocy.

Krok 1.

W panelu administracyjnym przejdź do sekcji Wygląd sklepu/Ustawienia. Następnie, mając wybrany szablon Szafir, w prawym górnym rogu wybierz więcej, po czym przejdź do Edytuj ustawienia zaawansowane/więcej/edytuj HTML.

Krok 2.

Odnajdź plik __settings.liquid. Następnie w drugiej linijce dodaj poniższy kod: {% assign homepage = "Strona główna" -%} {% assign elementsAtHomepage = "Lista elementów na stronie głównej sklepu" -%} {% assign name = "Nazwa" -%} {% assign parameters = "Parametry" -%} {% assign mainBanner = "Baner główny" -%} {% assign mainBannerLink = "Przejdź do edycji tego bannera" -%} {% assign newsSection = "Sekcja Nowości" -%} {% assign newsSectionLink = "Przejdź do edycji zawartości tej sekcji" -%} {% assign newsletter = "Newsletter" -%} {% assign manufacturersSlider = "Slider Producenci" -%} {% assign news = "Aktualności" -%} {% assign newsLink = "Przejdź do listy artykułów bloga" -%} {% assign infographicBanner = "Banner infografika" -%} {% assign infographicBannerLink = "Przejdź do edycji tego bannera" -%} {% assign animationOnHover = "Animacja na hoverze" -%} {% assign brandsSlider = "Slider Marki" -%} Następnie wyszukaj linijkę border-bottom: 1px solid #ddd; i pod nią dodaj display: flex;. Parę linijek niżej znajduje się kod: #lg-settings-content .row::after { display: block; clear: both; content: ''; } #lg-settings-content .cell { border-left: 1px solid #ddd; display: inline-block; vertical-align: middle; width: calc((100% - 308px)/4); min-height: 20px; padding: 10px; float: left; } Usuń go, a następnie wklej następujący kod: #lg-settings-content .cell { border-left: 1px solid #ddd; width: calc((100% - 308px)/4); padding: 10px; } #lg-settings-content .elements-at-homepage .cell.name{ width: 130px; } #lg-settings-content .elements-at-homepage .cell.translation{ width: 160px; } #lg-settings-content .elements-at-homepage .cell.parameters{ width: calc(100% - 515px); } #lg-settings-content .elements-at-homepage .cell.goto{ width: 100%; } Wyszukaj frazę {{navigationBarSettings}} i zamień ją na {{homepage}}. Następnie odszukaj frazę {{newsletter}} i usuń całą sekcję fieldset w której się ona znajduje. To samo zrób w przypadku fraz {{homepageBannerTranslation}}, {{blogOnHomepage}} oraz {{categoryMenu}}. Kilka linijek niżej znajdziesz id="tab1Content". Pod tą linijką dodaj poniższy fragment:

{{navigationBarSettings}}

Następnie znajdź frazę id="tab2Content" i dwie linijki wyżej wklej następujący kod:
{{categoryMenu}}

{{categoryMenuInfo}}

{{elementsAtHomepage}}
{{available}}
{{number}}
{{name}}
{{translationId}}
{{parameters}}
{{mainBanner}}

{{animationTypeTranslation}}

{{newsSection}}

{{animationOnHover}}

{{newsletter}}
{{manufacturersSlider}}

{{animationOnHover}}

{{brandsSlider}}

{{animationOnHover}}

{{news}}

{{blogPresentationOnHomepage}}

{{animationOnHover}}

{{infographicBanner}}

{{animationOnHover}}

Teraz wyszukaj funkcję __SaveLiquidSettings i linijkę wyżej wklej poniższy kod: $('.pa-translation-link').each(function(){ var id = $(this).text(); var url = $(this).attr('href').replaceAll('__ID__', id); $(this).attr('href', url); }); $('.pa-link').each(function(){ var id = $(this).data('id'); var url = $(this).attr('href').replaceAll('__ID__', id); $(this).attr('href', url); });

Krok 3.

Następnie w pliku home.html w pierwszych linijkach znajdziesz taki fragment kodu: {% include 'common/banner.html' -%}

{{translations.NewProducts}}

{% if customer.HidePrices -%} {% include 'product/hidden-prices-msg.html' -%} {% endif -%} {% include 'product/minibox-grid.html' -%}
{% unless customer.NewsletterSubscriber or settings.newsletter == 'no' -%}

Przykładowe modyfikacje

Integracja z edrone - dostosowanie szablonu

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.
Darmowe szablony Comarch od wersji 2018.1 posiadają wbudowaną integrację z zaawansowanym systemem do zarządzania relacjami z klientami edrone. Jeżeli korzystasz z innych szablonów, to ten artykuł może być dla Ciebie pomocny. Poniżej znajduje się lista kroków, które należy wykonać w celu integracji z edrone.
  1. Ustawiamy swój App ID z edrone w panelu administracyjnym (Ustawienia/Ustawienia Sklepu/Ogólne/Integracja z edrone)
  2. W głównym folderze szablonu tworzymy folder edrone, w którym umieszczamy pliki, których zawartość znajduje się w kolejnych punktach
  3. W pliku html, na końcu sekcji head includujemy plik edrone/head.html (dodajemy {% include ‘edrone/head.html’ -%} ) {% if config.External.Edrone.AppId != '' -%} <script type="text/javascript"> (function (srcjs) { window._edrone = window._edrone || {}; _edrone.app_id = '{{ config.External.Edrone.AppId }}'; _edrone.version = '1.0.0'; _edrone.platform_version = '{{ config.Version }}'; _edrone.platform = 'comarch'; _edrone.shop_lang = '{{ page.Language }}';{% if page.PageId != config.DefinedPages.Order.Id -%} _edrone.action_type = 'other'; {% if usr.Authenticated -%} {% if customer.Address.Name != '' -%} {% assign FullName = customer.Address.Name -%} {% if FullName contains ' ' -%} {% assign HalfName = FullName | Split:' ' -%} {% endif %} _edrone.first_name = '{% if HalfName[0] -%}{{ HalfName[0] }}{% else %}{{ FullName }}{% endif %}'; {% if HalfName[1] -%} _edrone.last_name = '{{ HalfName[1] }}'; {% endif %} {% endif -%} {% if customer.Address.Country != '' -%} _edrone.country = '{{ customer.Address.Country }}'; {% endif -%} {% if customer.Address.City != '' -%} _edrone.city = '{{ customer.Address.City }}'; {% endif -%} {% if customer.Address.Phone != '' -%} _edrone.phone = '{{ customer.Address.PhoneNo }}'; {% endif -%} _edrone.email = '{{ customer.Email }}'; {% endif -%} {% endif -%}var doc = document.createElement('script'); doc.type = 'text/javascript'; doc.async = true; doc.src = ('https:' == document.location.protocol ? 'https:' : 'http:') + srcjs; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(doc, s); })("//d3bo67muzbfgtl.cloudfront.net/edrone_2_0.js"); </script> {% endif -%}
  4. W pliku html, na końcu sekcji body includujemy pliki edrone/product-presentation.html oraz edrone/subscribe.html
    • product-presentation.html
    {% if page.PageId == config.DefinedPages.ProductDetails.Id and config.External.Edrone.AppId != '' -%} <script type="text/javascript"> {% if productdetails -%} {% assign product-presentation = productdetails -%} {% elseif product-details -%} {% assign product-presentation = product-details -%} {% endif -%} window._edrone = window._edrone || {}; _edrone.action_type = 'product_view'; _edrone.product_ids = '{{ product-presentation.Product.Id }}'; _edrone.product_titles = '{{ product-presentation.Product.Name }}'; {% if product-presentation.Product.ImageId > 0 -%} _edrone.product_images = 'http:{{ page.BaseHref }}img/large/{{ product-presentation.Product.ImageId }}/{% if product-presentation.Product.Images[0].Name != "" -%}{{ product-presentation.Product.Images[0].Name }}{% else %}.jpg{% endif %}'; {% endif -%} {% if product-presentation.Product.Code != '' -%} _edrone.product_skus = '{{ product-presentation.Product.Code }}'; {% endif -%} _edrone.product_urls = '{{ page.CanonicalLink }}'; _edrone.product_category_ids = '{{ page.GroupId }}'; _edrone.product_category_names = '{{ page.CurrentSiteNode.Name }}'; </script> {% endif %}
    Wskazówka
    Jeżeli w swoim szablonie obiekt ze szczegółami produktu ma inną nazwę, to należy zmodyfikować warunek.
    • subscribe.html
    {% if config.External.Edrone.AppId != '' -%} {% if page.PageId == config.DefinedPages.Home.Id or page.PageId == config.DefinedPages.CustomerProfile.Id -%} <script type="text/javascript"> $(document).ajaxSuccess(function(a,b,c,d) { if(d && d.action && (d.action.Action == 'Newsletter/Subscribe' || d.action.Action == 'newsletter/subscribe') && d.action.Result){ var queryString = c.data.split('&'); for(i=0; i<queryString.length; i++){ if(queryString[i].indexOf('email') != -1){ var email = queryString[i].split('=')[1].replace('%40','@'); } } _edrone.customer_tags = 'From Newsletter Subscribe'; _edrone.email = email; _edrone.subscriber_status = '1'; _edrone.action_type = 'subscribe'; _edrone.init(); } }); </script> {% endif %} {% if page.PageId == config.DefinedPages.CustomerProfile.Id -%} <script type="text/javascript"> $(document).ajaxSuccess(function(a,b,c,d) { if(d && d.action && (d.action.Action == 'Newsletter/Unsubscribe' || d.action.Action == 'newsletter/unsubscribe') && d.action.Result){ var queryString = c.data.split('&'); for(i=0; i<queryString.length; i++){ if(queryString[i].indexOf('email') != -1){ var email = queryString[i].split('=')[1].replace('%40','@'); } } _edrone.customer_tags = 'From Newsletter Subscribe'; _edrone.email = email; _edrone.subscriber_status = '0'; _edrone.action_type = 'subscribe'; _edrone.init(); } }); </script> {% endif %} {% endif %}
    Wskazówka
    Jeżeli w swoim szablonie umożliwiasz zapis do newslettera z innych stron niż strona główna i profil klienta oraz pozwalasz na wypisanie poza profilem klienta, to należy zmodyfikować powyższy plik.
    Uwaga
    W wersji 2018.7 z domyślnych szablonów Comarch usunięto akcję dotyczącą zapisu i wypisu z newslettera, ponieważ dane przekazywane są przez Comarch e-Sklep w tle.
  5. W szablonach Agat, Bursztyn i Opal, w tym samym miejscu includujemy również plik edrone/add-to-cart.html {% if page.PageId == config.DefinedPages.ProductDetails.Id and config.External.Edrone.AppId != '' -%} <script type="text/javascript"> $(document).ajaxSuccess(function(a,b,c,d) { if(d && d.action && (d.action.Action == 'Cart/Add' || d.action.Action == 'cart/add') && d.action.Result ){ _edrone.action_type = 'add_to_cart'; _edrone.init(); } }); </script> {% endif %}
    Wskazówka
    Plik należy dodać do wszystkich szablonów, które nie są oparte o najnowszą wersję szablonu Szafir (w tym szablonie dodawanie do koszyka w edrone obsłużone jest bezpośrednio w funkcjach szablonu – spowodowane jest to możliwością dodawania kilku towarów jednocześnie czego inne szablony nie posiadają).
  6. W szablonie Bursztyn, w tym samym miejscu includujemy również plik edrone/add-to-cart-with-data.html {% if config.External.Edrone.AppId != '' -%} {% if page.PageId == config.DefinedPages.Home.Id or page.PageId == config.DefinedPages.ProductList.Id -%} <script type="text/javascript"> $(document).ajaxSuccess(function(a,b,c,d) { if(d && d.action && (d.action.Action == 'Cart/Add' || d.action.Action == 'cart/add') && d.action.Result ){ window._edrone = window._edrone || {};var products = d.collection["customer.Cart"].Products; var size = products.length; var product = products[size-1];_edrone.product_ids = product.Id; _edrone.product_titles = product.NameNoHtml; if(product.ImageId > 0){ _edrone.product_images = 'http:{{ page.BaseHref }}img/large/'+product.ImageId+'/.jpg'; } if(product.Code != ''){ _edrone.product_skus = product.Code; } _edrone.product_urls = 'http:{{ page.BaseHref }}'+product.Url; _edrone.product_category_ids = product.DefaultGroup; _edrone.action_type = 'add_to_cart'; _edrone.init(); } }); </script> {% endif %} {% endif %}
    Wskazówka
    Kod działa dla dodawania do koszyka ze strony głównej i listy towarów. Jeżeli pozwalasz na dodawanie do koszyka z innych stron, należy go zmodyfikować.
  7. W pliku z podziękowaniami za zakup (Agat – partials/cart/summary.html, Bursztyn i Opal – order/thank-you.html, Szafir – order/thx.html), na końcu pliku (tuż pod includem rich-snippetów), includujemy plik edrone/order.html {% if config.External.Edrone.AppId != '' -%} <script type="text/javascript"> _edrone.action_type = 'order';{% if cart -%} {% assign order = cart -%} {% endif -%}{% assign FullName = order.Customer.DeliveryAddress.Name -%} {% if FullName contains ' ' -%} {% assign HalfName = FullName | Split:' ' -%} {% endif %} _edrone.first_name = '{% if HalfName[0] -%}{{ HalfName[0] }}{% else %}{{ FullName }}{% endif %}'; {% if HalfName[1] -%} _edrone.last_name = '{{ HalfName[1] }}'; {% endif %} _edrone.country = '{{ order.Customer.DeliveryAddress.Country }}'; {% if order.Customer.DeliveryAddress.City != '' -%} _edrone.city = '{{ order.Customer.DeliveryAddress.City }}'; {% endif %} {% if order.Customer.DeliveryAddress.PhoneNo != '' -%} _edrone.phone = '{{ order.Customer.DeliveryAddress.PhoneNo }}'; {% endif %} _edrone.email = '{{ order.Customer.Email }}'; {% assign size = order.PlacedOrder.Products | Size -%} var ids = ''; var titles = ''; var images = ''; var skus = ''; var urls = ''; var categoryIds = ''; var counts = ''; {% for product in order.PlacedOrder.Products -%} ids += '{{ product.Id }}{% if forloop.index != size -%}|{% endif -%}'; titles += '{{ product.NameNoHtml }}{% if forloop.index != size -%}|{% endif -%}'; images += '{% if product.ImageId > 0 -%}http:{{ page.BaseHref }}img/large/{{ product.ImageId }}/.jpg{% endif -%}{% if forloop.index != size -%}|{% endif -%}'; skus += '{{ product.Code }}{% if forloop.index != size -%}|{% endif -%}'; urls += 'http:{{ page.BaseHref }}{{ product.Url }}{% if forloop.index != size -%}|{% endif -%}'; categoryIds += '{{ product.DefaultGroup }}{% if forloop.index != size -%}|{% endif -%}'; counts += '{{ product.Quantity | Normalize }}{% if forloop.index != size -%}|{% endif -%}'; {% endfor -%} _edrone.product_ids = ids; _edrone.product_titles = titles; _edrone.product_images = images; _edrone.product_skus = skus; _edrone.product_urls = urls; _edrone.product_category_ids = categoryIds; _edrone.product_counts = counts; _edrone.order_id = '{{ order.PlacedOrder.Id }}'; _edrone.base_currency = '{{ order.Currency }}'; _edrone.order_currency = '{{ order.Currency }}'; _edrone.base_payment_value = '{{ order.OrderTotalValue | ToString | Replace:",","." }}'; _edrone.order_payment_value = '{{ order.OrderTotalValue | ToString | Replace:",","." }}'; _edrone.init(); </script> {% endif -%}
    Wskazówka
    Jeżeli w swoim szablonie używasz dla koszyka innej nazwy obiektu niż cart lub order, to powyższy kod należy zmodyfikować.
  Edrone i dodawanie towarów w szablonie Szafir:
  1. Plik js/init-ui1.js
  • Funkcja serialAddingToCart
Na samym początku funkcji znajduje się pętla “each”, a w niej instrukcja warunkowa „if (quantity > 0)”. Na końcu tej instrukcji warunkowej wklejamy poniższy kod: if(typeof _edrone !== 'undefined') { var product = form.parents('.product-item-lq'); var base = $('[data-base]').data('base'); if (first) { _edrone.product_ids = productId; _edrone.product_titles = product.find('.product-name-lq').text(); _edrone.product_images = base + product.find('img').data('src'); _edrone.product_skus = product.find('.product-code-lq').text(); _edrone.product_urls = base + product.find('a').attr('href'); _edrone.product_category_ids = $('[data-group-id]').data('group-id'); _edrone.product_category_names = $('[data-group-name]').data('group-name'); first = false; } else { _edrone.product_ids += '|' + productId; _edrone.product_titles += '|' + product.find('.product-name-lq').text(); _edrone.product_images += '|' + base + product.find('img').data('src'); _edrone.product_skus += '|' + product.find('.product-code-lq').text(); _edrone.product_urls += '|' + base + product.find('a').attr('href'); _edrone.product_category_ids += '|' + $('[data-group-id]').data('group-id'); _edrone.product_category_names += '|' + $('[data-group-name]').data('group-name'); } } Kilkanaście linijek niżej (w tej samej funkcji) jest instrukcja warunkowa “if (resGuardian)”. Na początku tej instrukcji warunkowej wklejamy poniższy kod: if(typeof _edrone !== 'undefined') { _edrone.action_type = 'add_to_cart'; _edrone.init(); }
  • Funkcja addManyProducts
Na samym początku funkcji znajduje się pętla “for(var i=0; i<products.length; i++)” iterująca po produktach. Tuż przed nią należy dodać poniższą linijkę: var first = true; Następnie, w tej pętli znajduje się instrukcja warunkowa „if(products[i].askForPriceChild == false && products[i].quantity > 0)”. Na samym jej końcu należy dodać poniższy kod: if(parameters && !validationError && products[i].supply != undefined && typeof _edrone !== 'undefined'){ if(first){ _edrone.product_ids = products[i].supply; _edrone.product_images = products[i].img; _edrone.product_skus = products[i].code; var name = _edrone.product_titles; var url = _edrone.product_urls; var categoryId = _edrone.product_category_ids; var categoryName = _edrone.product_category_names; first = false; } else { _edrone.product_ids += '|' + products[i].supply; _edrone.product_images += '|' + products[i].img; _edrone.product_skus += '|' + products[i].code; _edrone.product_titles += '|' + name; _edrone.product_urls += '|' + url; _edrone.product_category_ids += '|' + categoryId; _edrone.product_category_names += '|' + categoryName; } } Kilkanaście linijek niżej (w tej samej funkcji) jest “$.post”. Na samym jego początku należy dodać poniższy kod: if(typeof _edrone !== 'undefined') { _edrone.action_type = 'add_to_cart'; _edrone.init(); }
  • Dodanie funkcji simpleAddToCartSuccess
Na końcu pliku js/init-ui1.js należy dodać poniższy kod: function simpleAddToCartSuccess(e){ updateClientArea(); if(typeof _edrone !== 'undefined') { if ($('.add-from-presentation-lq').index() == -1) { var product = $(e.currentTarget).parents('.product-item-lq'); var base = product.parents('[data-base]').data('base'); _edrone.product_ids = product.data('product-id'); _edrone.product_titles = product.find('.product-name-lq').text(); _edrone.product_images = base + product.find('img').attr('src'); _edrone.product_skus = product.find('.product-code-lq').text(); _edrone.product_urls = base + product.find('a').attr('href'); _edrone.product_category_ids = product.parents('[data-group-id]').data('group-id'); _edrone.product_category_names = product.parents('[data-group-name]').data('group-name'); } _edrone.action_type = 'add_to_cart'; _edrone.init(); } } Następnie należy zmodyfikować “event”, który jest wywoływany przy kliknięciu w element z klasą “add-to-cart-update-client-area-lq”. Zmieniamy zawartość tego eventa na: app.post(e, simpleAddToCartSuccess, e); Cały event powinien wyglądać następująco: $('body').on('click', '.add-to-cart-update-client-area-lq', function(e) { app.post(e, simpleAddToCartSuccess, e); });
  1. Plik js/init-ui2.js
  • Funkcja serialAddingFromWishlist
Na samym początku funkcji znajduje się pętla “each”. Tuż przed nią należy dodać poniższą linijkę: var first = true; Następnie, w tej pętli znajduje się instrukcja warunkowa „if (quantity > 0)”. Na samym jej końcu należy dodać poniższy kod: if(typeof _edrone !== 'undefined') { if (first) { _edrone.product_ids = productId; _edrone.product_titles = productContainer.find('.product-name-lq').text(); _edrone.product_images = base + productContainer.find('img').attr('src'); _edrone.product_skus = productContainer.find('.product-code-lq').text(); _edrone.product_urls = base + productContainer.find('a').attr('href'); _edrone.product_category_ids = categoryId; first = false; } else { _edrone.product_ids += '|' + productId; _edrone.product_titles += '|' + productContainer.find('.product-name-lq').text(); _edrone.product_images += '|' + base + productContainer.find('img').attr('src'); _edrone.product_skus += '|' + productContainer.find('.product-code-lq').text(); _edrone.product_urls += '|' + base + productContainer.find('a').attr('href'); _edrone.product_category_ids += '|' + categoryId; } } Kilkanaście linijek niżej (w tej samej funkcji) jest instrukcja warunkowa “if (resGuardian)”. Na początku tej instrukcji warunkowej wklejamy poniższy kod: if(typeof _edrone !== 'undefined') { _edrone.action_type = 'add_to_cart'; _edrone.init(); }

Nowe Inpost API - aktualizacja paczkomatów i punktów odbioru osobistego w szablonach

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

Szablon Szafir

Wskazówka
Pliki potrzebne do aktualizacji paczkomatów i punktów odbioru osobistego: Pobierz pliki
  1. Wrzuć pliki „collection-points-scripts.html” i „collection-points-styles.html” do głównego folderu z szablonem (tam gdzie „__layout.html”).
  2. Wrzuć plik „collection-points.js” do folderu „js”.
  3. Wrzuć plik “collection-points.css” do folderu “css”.
  4. Podmień plik “collection-points.html”, który znajduje się w folderze „order/delivery-partials”.
  5. W pliku „__layout.html”, na końcu sekcji „<head>” dodaj poniższą linijkę: {% include 'collection-points-styles.html' %}
  6. W pliku „__layout.html”, na końcu sekcji „<body>” dodaj poniższą linijkę: {% include 'collection-points-scripts.html' %}
  7. Dodaj tłumaczenie: - SearchInpostInfo: "Szukaj po mieście, adresie i nazwie paczkomatu”
  8. (punkt opcjonalny – poprawienie styli – bez niego paczkomaty i POO będą działać ale będzie brzydko wyglądać i każdy to zauważy) W pliku “order/delivery-partials/delivery-section.html”, pod formularzem „<form class="no-message-lq delivery-form-lq">” należy utworzyć nowy kontener “<div class="clear-after-ui"></div>”, a następnie wkleić do niego dwa ostatnie kontenery z klasą “f-left-ui” wraz z ich zawartością. <div class="clear-after-ui"> <div class="f-left-ui half-ui-with-space-ui cart-option-ui delivery-address-lq address-ui delivery-address-ui"> <p> {% if order.SelectedDelivery.CollectionPointTypeId == 0 -%} {{translations.ShippingAddress}} {% else -%} {{translations.MyData}} {% endif -%} </p> <div class="address-template-container-lq" data-address-type="0"> {% assign lackOfPhone = false -%} {% assign countryMismatch = false -%}{% if order.SelectedDelivery.PhoneRequired and deliveryAddress.PhoneNo == '' -%} {% assign lackOfPhone = true -%} {% endif -%} {% comment -%} {% if page.Cookies.deliveryAddressId == null or page.Cookies.deliveryAddressId == '' -%} {% for profileAddress in customer.DeliveryAddresses -%} {% if profileAddress.Default and profileAddress.Country != config.DefaultCountry -%} {% assign countryMismatch = true -%} {% break -%} {% endif -%} {% endfor -%} {% if countryMismatch == false and deliveryAddress.Country != config.DefaultCountry -%} {% assign countryMismatch = true -%} {% endif -%} {% elseif page.Cookies.deliveryAddressId == -1 -%} {% assign countryMismatch = true -%} {% else -%} {% for profileAddress in customer.DeliveryAddresses -%} {% if profileAddress.Id == page.Cookies.deliveryAddressId -%} {% if profileAddress.Country != deliveryAddress.Country %} {% assign countryMismatch = true -%} {% endif -%} {% break -%} {% endif -%} {% endfor -%} {% endif -%} {% endcomment -%} {% if page.Cookies.delivCountryChanged == 'true' -%} {% assign countryMismatch = true -%} {% endif -%} {% if deliveryAddress.Name == '' or lackOfPhone or countryMismatch -%} {% include 'order/delivery-partials/address-form.html' with 'orderDa' -%} {% else -%} {% include 'order/delivery-partials/address-presentation.html' with 'orderDa' -%} {% endif -%} </div> </div> <div class="f-left-ui half-ui-with-space-ui cart-option-ui invoice-address-lq address-ui invoice-address-ui"> <p>{{translations.InvoiceData}}</p> <div class="address-template-container-lq" data-address-type="1"> {% if invoiceAddress.Name == '' and order.Customer.CustomerDetailsEditable -%} {% include 'order/delivery-partials/address-form.html' with 'inv-add' -%} {% else -%} {% include 'order/delivery-partials/address-presentation.html' with 'inv-add'-%} {% endif -%} </div> </div> </div>

Szablon Agat

Wskazówka
Pliki potrzebne do aktualizacji paczkomatów i punktów odbioru osobistego: Pobierz pliki
  1. Podmień plik ‘order.js’, który znajduje się w folderze ‘js’.
  2. Wrzuć plik ‘collection-points.css’ do folderu ‘css’.
  3. a) Jeśli kod szablonu nie był modyfikowany, podmień plik ‘delivery-adress.html’, który znajduje się w folderze ‘partials/cart’. b) Jeśli kod szablonu był modyfikowany, podmień obecny widok mapy z paczkomatami następującym: {% if cart.SelectedDelivery.CollectionPointTypeId == 2 or cart.SelectedDelivery.CollectionPointTypeId == 1 -%} <div class="geowidget-container" id="map"> {% if settings.googleMapsKey == '' or cart.SelectedDelivery.CollectionPointTypeId == 1 -%} <div id="collection-points-searcher" class="collection-points-search-box {% if cart.SelectedDelivery.CollectionPointTypeId == 1 -%} personal-collection-points {% endif -%}"> <input placeholder="{% if cart.SelectedDelivery.CollectionPointTypeId == 1 -%} {{translations.TypeAdress}} {% else -%}{{translations.AddCodeOrAdress}}{% endif -%}" type="search" id="machines-filter-input" class="collection-point-search-input"> <span class="fa fa-search"></span> <div class="collection-points-result hidden"><ul></ul></div> </div> {% elsif settings.googleMapsKey != '' and cart.SelectedDelivery.CollectionPointTypeId == 2 -%} <div id="easypack-map"></div> {% endif -%} </div> {% endif -%}
  4. W pliku ‘_layout.html’, na końcu sekcji ‘<head>’ dodaj poniży kod: {% if page.PageId == config.DefinedPages.Order.Id -%} <link rel="stylesheet" type="text/css" href="https://geowidget.easypack24.net/css/easypack.css"> <link rel="stylesheet" type="text/css" href="css/collection-points.css"> {% endif -%}
  5. W pliku ‘_layout.html’, na końcu sekcji ‘<body>’ dodaj poniży kod: {% if page.PageId == config.DefinedPages.Order.Id -%} <script async src="https://geowidget.easypack24.net/js/sdk-for-javascript.js"></script> {% endif -%}
  6. Dodaj tłumaczenia:  - TypeAdress: "Wpisz adres"  - AddCodeOrAdress: "Wpisz kod paczkomatu lub adres"
  7. Aby paczkomaty działały poprawnie również przy przechodzeniu na poprzedni i następny krok koszyka: a) Jeśli kod szablonu nie był modyfikowany, podmień plik ‘init.js’, który znajduje się w folderze ‘js’. b) Jeśli kod szablonu był modyfikowany, wywołaj funkcje: orderCollectionPoints.easyPackAsyncInit(); orderCollectionPoints.getCollectionPoints(); w tych funkcjach, które są wywoływane przy zmianie sekcji na ‘CustomerData’ w koszyku: Zmienione fragmenty pliku ‘init.js’ to: orderPrevStep: function (e) { var container = $('.shopping-cart'); var data = { __template: 'partials/cart/cart-template.html', __csrf: __CSRF, __action: 'Order/StepPrev' }; $.post(null, data, function (result) { if (result.action.Result) { $('.shopping-cart').html(result.template); if ($('body').find('#invoice-address-data').index() >= 0) { application.uiSetSwitchNameWidthInInvoice(); } if ($('#easypack-map').length > 0) { orderCollectionPoints.easyPackAsyncInit(); } if($('#collection-points-searcher').length > 0) { orderCollectionPoints.getCollectionPoints(); } if ($('.geowidget-container').length > 0) { $('#main-section .save-delivery-address-data').addClass('order-next-step').removeClass('choose-collection-point'); } application.loadImages(); application.uiScrollToTop(container); application.uiCheckLabels(); } else { if (result.action.Code != 100) { if (result.action.Validation != null) { errorMessage = '<div class="title">' + result.action.Message + '</div>' + '<p>' + result.action.Validation[0].Error + '</p>'; } else { errorMessage = '<div class="title">' + result.action.Message + '</div>'; } application.createMessage(errorMessage); } } }); }, orderNextStep: function (e) { if ($('#delivery-address-data').index() >= 0) { var allEdited = true; $('#delivery-address-data input[required]').each(function () { if (allEdited === false) { return; } else { if ($(this).val() == '') { allEdited = false; } } }); if (allEdited === false) { var errorMessage = $(e.currentTarget).next().next().val(); application.createMessage(errorMessage, 3000); return; } else if ($('input[name="invoice"]').hasClass('company') && $('input[name="tin"]').val() == '' && $('input[name="tin"]').prop('required')) { var message = $('input[name="company"]').attr('data-info'); application.createMessage(message, 2000); } else { var data = $('#delivery-address-data').serializeArray(); var validate = application.uiValidateForm($('#delivery-address-data'));if (validate) { $.post(null, data, function (result) { if (result.action.Result) { var container = $('body'); var data = { __template: 'partials/cart/cart-template.html', __csrf: __CSRF, __action: 'Order/StepNext' }; $.post(null, data, function (result) { if (result.action.Result) { $('.shopping-cart').replaceWith(result.template); if ($('body').find('#invoice-address-data').index() >= 0) { application.uiSetSwitchNameWidthInInvoice(); } application.loadImages(); application.uiSetSwitchNameWidthInSummaryCheckboxes(); application.uiScrollToTop(container); application.uiCheckLabels(); if ($('#easypack-map').length > 0) { orderCollectionPoints.easyPackAsyncInit(); } if($('#collection-points-searcher').length > 0) { orderCollectionPoints.getCollectionPoints(); } } else { if (result.action.Code != 100) { if (result.action.Validation != null) { errorMessage = '<div class="title">' + result.action.Message + '</div>' + '<p>' + result.action.Validation[0].Error + '</p>'; } else { errorMessage = '<div class="title">' + result.action.Message + '</div>'; } application.createMessage(errorMessage, 3000); } } }); } else { if (result.action.Code != 100) { if (result.action.Validation != null) { errorMessage = '<div class="title">' + result.action.Message + '</div>' + '<p>' + result.action.Validation[0].Error + '</p>'; } else { errorMessage = '<div class="title">' + result.action.Message + '</div>'; } application.createMessage(errorMessage, 3000); return; } } }); } } } else { var container = $('body'); var data = { __template: 'partials/cart/cart-template.html', __csrf: __CSRF, __action: 'Order/StepNext' }; $.post(null, data, function (result) { if (result.action.Result) { if ((result.template).indexOf('name="sel-del-met" value="' + 1 + '"') !== -1 || (result.template).indexOf('name="sel-del-met" value="' + 2 + '"') !== -1) { application.orderPrevStep(); } else { $('.shopping-cart').replaceWith(result.template); if ($('body').find('#invoice-address-data').index() >= 0) { application.uiSetSwitchNameWidthInInvoice(); } if ($('#easypack-map').length > 0) { orderCollectionPoints.easyPackAsyncInit(); } if($('#collection-points-searcher').length > 0) { orderCollectionPoints.getCollectionPoints(); } application.loadImages(); application.uiSetSwitchNameWidthInSummaryCheckboxes(); application.uiScrollToTop(container); application.uiCheckLabels(); } } else { if (result.action.Code != 100) { if (result.action.Validation != null) { errorMessage = '<div class="title">' + result.action.Message + '</div>' + '<p>' + result.action.Validation[0].Error + '</p>'; } else { errorMessage = '<div class="title">' + result.action.Message + '</div>'; } application.createMessage(errorMessage); } } }); } },

Szablon Opal

Wskazówka
Pliki potrzebne do aktualizacji paczkomatów i punktów odbioru osobistego: Pobierz pliki
  1. Wrzuć plik ‘collection-points.js’ do folderu ‘js’.
  2. Wrzuć plik ‘collection-points.css’ do folderu ‘css’.
  3. Podmień plik ’delivery-points-partial.html’, który znajduje się w folderze ‘order’.
  4. a) Jeśli kod szablonu nie był modyfikowany, podmień plik ‘data-form.html’, który znajduje się w folderze ‘order/cst-data’. b) Jeśli kod szablonu był modyfikowany, podmień obecny widok mapy z paczkomatami linijką: {% include 'order/delivery-points-partial.html' -%}
  5. W pliku ‘_layout.html’, na końcu sekcji ‘<head>’ dodaj poniży kod: {% if page.PageId == config.DefinedPages.Order.Id -%} <link rel="stylesheet" type="text/css" href="https://geowidget.easypack24.net/css/easypack.css"> <link rel="stylesheet" type="text/css" href="css/collection-points.css"> {% endif -%}
  6. W pliku ‘order-cart.html’, do bloku ‘{% block PageBodyEnd -%}’ dodaj poniży kod: <script async src="https://geowidget.easypack24.net/js/sdk-for-javascript.js"></script> <script src="js/collection-points.js"></script>
  7. Dodaj tłumaczenie:  - TypeAdress: "Wpisz adres"
  8. Aby paczkomaty działały poprawnie również przy przechodzeniu na poprzedni i następny krok koszyka: a) Jeśli kod szablonu nie był modyfikowany, podmień plik ‘order.js’, który znajduje się w folderze ‘js’. b) Jeśli kod szablonu był modyfikowany, wywołaj funkcje: orderCollectionPoints.easyPackAsyncInit(); orderCollectionPoints.getCollectionPoints(); w tych funkcjach, które są wywoływane przy zmianie sekcji na ‘customerData’ w koszyku: Zmienione fragmenty pliku ‘order.js’, to: orderForm.on('click', '#customer-data-form', function (e) { e.preventDefault(); $.get('', {__template: 'order/cst-data/data-form.html'}, function (res) { orderForm.find('.content').html(res.template); if ($('#easypack-map').length > 0) { orderCollectionPoints.easyPackAsyncInit(); } if($('#collection-points-searcher').length > 0) { orderCollectionPoints.getCollectionPoints(); } window.sessionStorage.setItem('continueWithoutRegistration', true); }); }); var initStep = (function f(e, step) { if (!$('.order').hasClass('cart-empty')) { stepsLinks(); }if (step && step == 'ThankYou') { $("#order-form").find("script").each(function () { eval($(this).text()); }); if (window.sessionStorage.getItem('continueWithoutRegistration')) { window.sessionStorage.removeItem('continueWithoutRegistration'); } } if (step && step == 'CustomerData') { window.sessionStorage.setItem('toSkip', true); if (window.sessionStorage.getItem('continueWithoutRegistration')) { $.get('', {__template: 'order/cst-data/data-form.html'}, function (res) { orderForm.find('.content').html(res.template); if ($('#easypack-map').length > 0) { orderCollectionPoints.easyPackAsyncInit(); } if($('#collection-points-searcher').length > 0) { orderCollectionPoints.getCollectionPoints(); } }); } } return f; })(); orderForm.on('click', '.recalculate, #remove-points', function (e) { e.preventDefault(); $.post(null, { __collection: 'customer.Cart.Value', __template: 'order/cart.html', __csrf: __CSRF, __action: 'cart/Recalculate' }, function (d) { CreateTooltip(d.action); showTooltip(); $('.order-content').replaceWith(d.template); lazyCheck(); UpdateSmallCrt(d.collection); orderCollectionPoints.checkPointsAvailability(); }); });

Szablon Bursztyn

Wskazówka
Pliki potrzebne do aktualizacji paczkomatów i punktów odbioru osobistego: Pobierz pliki
    1. Wrzuć plik „collectionpoints.js” do folderu „js”.
    2. Wrzuć plik “collectionpoints.css” do folderu “css” .
    3. W pliku html w sekcji <head> pod koniec znaczników <link> dodaj poniższy kod: {% if page.PageId == config.DefinedPages.Order.Id -%} <link rel="stylesheet" type="text/css" href="https://geowidget.easypack24.net/css/easypack.css"> <link rel="stylesheet" type="text/css" href="css/collectionpoints.css"> {% endif -%}
    4. W pliku ‘order-cart.html’, do bloku ‘{% block PageBodyEnd -%}’ dodaj poniży kod: <script async src="https://geowidget.easypack24.net/js/sdk-for-javascript.js"></script> <script src="js/collection-points.js"></script>
    5. Plik cart.html: a) Jeśli kod szablonu nie był modyfikowany, wystarczy podmienić plik, który znajduje się w katalogu ‘order’. b) Jeśli kod szablonu był modyfikowany, podmień obecny widok mapy z paczkomatami następującym kodem: {% if cart.SelectedDelivery.CollectionPointTypeId == 2 or cart.SelectedDelivery.CollectionPointTypeId == 1 -%} <div class="col-sm-12 geowidget-container" id="map"> <h2> {% if cart.SelectedDelivery.CollectionPointTypeId == 1 -%} {{translations.Crt_ChooseCollectionPoint}} {% else -%} {{translations.Crt_ChooseInpostMachine}} {% endif -%} </h2>{% if settings.googleMapsKey == '' or cart.SelectedDelivery.CollectionPointTypeId == 1 -%} <div id="collection-points-searcher" class="collection-points-search-box {% if cart.SelectedDelivery.CollectionPointTypeId == 1 -%} personal-collection-points {% endif -%}"> <input placeholder="{% if cart.SelectedDelivery.CollectionPointTypeId == 1 -%} {{transla-tions.TypeAdress}} {% else -%}{{translations.Crt_MachineCodeOrAdress}}{% endif -%}" type="search" id="machines-filter-input" class="collection-point-search-input"> <span class="fa fa-search"></span> <div class="collection-points-result hidden"><ul></ul></div> </div> {% elsif settings.googleMapsKey != '' and cart.SelectedDelivery.CollectionPointTypeId == 2 -%} <div id="easypack-map"></div> {% endif -%} </div> {% endif -%}
    6. Plik order-short-info.html : a) Jeśli kod szablonu nie był modyfikowany, podmień plik znajdujący się w folderze ‘order’ b) Jeśli kod szablonu był modyfikowany, podmień linijkę {% assign displayOptions = include %} (znajdującą się na początku dokumentu), poniższym kodem: {% if page.POST.__include %} {% assign displayOptions = page.POST.__include %} {% else %} {% assign displayOptions = include %} {% endif %}
    7. Plik cart-products-partial.html: a) Jeśli kod szablonu nie był modyfikowany, podmień plik znajdujący się w folderze ‘order’ b) Jeśli kod szablonu był modyfikowany, proszę usunąć poniższy kod znajdujący się pod koniec znacznika <div class=”custom-collection”> : {% if settings.googleMapsKey != '' and deliveryData.CollectionPoints[deliveryData.CollectionPointId].Latitude <> "" and deliveryData.CollectionPoints[deliveryData.CollectionPointId].Longitude <> "" and step == 'summary' -%} <p class="collection-localization"> <span class="glyphicon glyphicon-map-marker"></span> {{translations.Crt_LocateOnMap}} </p> <div id="map-canvas" data-step="{{step}}" data-type="{{deliveryData.CollectionPointTypeId}}" data-lat="{{deliveryData.CollectionPoints[deliveryData.CollectionPointId].Latitude}}" data-lng="{{deliveryData.CollectionPoints[deliveryData.CollectionPointId].Longitude}}"></div> {% endif -%}
    8. Aby paczkomaty działały poprawnie podczas przechodzenia na poprzedni oraz następny krok koszyka należy: a) Jeśli kod szablonu nie był modyfikowany, podmień plik ‘order.js’ znajdujący się w folderze ‘js’ b) Jeśli kod szablonu był modyfikowany, należy wywołać orderCollectionPoints.cpCheck() oraz orderCollectionPoints .checkPackage() na końcu funkcji, która przenosi użytkownika do poprzedniego kroku koszyka.Funkcja orderCollectionPoints.cpCheck() jest odpowiedzialna za inicjalizację mapy bądź listy paczkomatów na danej stronie. Z kolei orderCollectionPoints.checkPackage() sprawdza czy paczkomat do którego ma być zrealizowane zamówienie został już wybrany.Funkcja orderCollectionPoints.cpCheck() należałoby również dodać do zdarzenia obsługującego zmianę sposobu dostawy.Ostatnią rzeczą jaką trzeba zrobić na koniec zamówienia, kiedy klient zrealizuje już transakcję, to dodanie linijki sessionStorage.removeItem(‘paczka’). Ma ona na celu usunięcia informacji o wybranym paczkomacie.
Wskazówka
Przeczytaj więcej o nowym API serwisu InPost.

Obsługa kanałów do zgody na newsletter w darmowych szablonach graficznych Comarch e-Sklep

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.
Listę zgód wyświetlanych w newsletterze możemy znaleźć w tablicy przechowywanej w obiekcie config.TOS.Consents.Newsletter. Poniższa pętla pozwoli nam wyświetlić wszystkie zgody znajdujące się w obiekcie Newsletter:
{% for tos in config.TOS.Consents.Newsletter -%}
<label class="statement tos-name">{{tos.Text}}</label> {% endif -%}  Jeżeli interesuje nas pokazanie wszystkich kanałów znajdujących się w danej zgodzie to warto najpierw przypisać ich ilość do konkretnej zmiennej liquidowej. W każdej pojedynczej zgodzie kanały możemy znaleźć w obiekcie Channels.
{% assign channelsSize = tos.Channels | Size -%}
Teraz wystarczy tylko napisać prostą pętle „for” Poniżej przykład wykorzystujący listę.
{% if channelsSize > 0 -%}
<ul class="channels disabled">
    {% for chn in tos.Channels -%}
    <li class="channel">
        <input id="channel{{ chn.Key }}" type="checkbox" name="channelKey" value="{{ chn.Key }}" disabled/>
        <div class="channel-switch input-switch "><div class="switch-button"></div></div>
        <label for="channel{{ chn.Key }}">{{chn.Name}}</label>
    </li>
    {% endfor -%}
</ul>
{% endif -%}

Szablon Agat

1.Zmień pętlę for wyświetlającą checkboxy ze zgodami w pliku 'footer.html', który znajduje się w folderze 'partials/common' {% for tos in config.TOS.Consents.Newsletter -%} <div class="input-group switches"> <label class="switch"> <span class="switch-name summary-tos-switch-name">{% if tos.Required -%}* {% endif -%}{{ tos.Text }}</span> <input class="switch-input" type="checkbox" name="tos" value="{{ tos.Id }}" {% if tos.Required -%} data-required="req" {% endif -%}/> <span class="switch-label"></span> <span class="switch-handle"></span> </label> </div> {% endfor -%} {% for tos in config.TOS.Consents.Newsletter -%} {% assign channelsSize = tos.Channels | Size -%} <li class="{% if channelsSize > 0 -%}multiple-choice {% endif -%} {% if tos.Required -%} required-consent{% endif -%}"> <div class="input-group switches"> {% if tos.Statement %} <p class="multiple-switch">{% if tos.Required -%}* {% endif -%}{{ tos.Text }}</p> {% else %} <span class="main-consent-warning tos-warning"><span class="fa fa-exclamation-triangle"></span>{{translations.MainConsentWarning}}</span> <label class="switch"> <span class="switch-name summary-tos-switch-name">{% if tos.Required -%}* {% endif -%}{{ tos.Text }}</span> <input class="switch-input" type="checkbox" name="tos" value="{{ tos.Id }}" {% if tos.Required -%} data-required="req" {% endif -%}/> <span class="switch-label"></span> <span class="switch-handle"></span> </label> {% endif -%} {% if channelsSize > 0 -%} <span class="channel-warning tos-warning"><span class="fa fa-exclamation-triangle"></span>{{translations.ChannelWarning}}</span> {% for chn in tos.Channels -%} <label class="switch channel-switch {% if tos.Statement == false %} unactive-switch{% endif -%}"> <span class="switch-name">{{chn.Name}}</span> <input class="switch-input channel-checkbox" type="checkbox" name="channelKey" value="{{ chn.Key }}" {% if tos.Required -%} data-required="req" {% endif -%} {% if tos.Statement == false %} disabled{% endif -%}/> <span class="switch-label"></span> <span class="switch-handle"></span> </label> {% endfor -%} {% endif -%} </div> </li> {% endfor -%} 2.W pliku 'init.js' uzupełnij funkcję uiValidateForm o walidację pól kanałów. Plik znajduje się w folderze 'js'. uiValidateForm: function (form) { var formRequiredInputs = form.find('input[required], textarea[required]'); var tosInputs = form.find('input[type="checkbox"]'); var formInvalidInfo = form.data('invalid'); var emailInvalidInfo = form.data('email-invalid'); var postCodeInvalidInfo = form.data('pcode-invalid'); var tinInvalidInfo = form.data('tin-invalid'); var tosRequiredInfo = form.data('tos-invalid'); var warningTosInfos = form.find('.tos-warning'); var tosRequiredValid = true; var tinInputValid = true; var emailInputValid = true; var postCodeInputValid = true; var isEmpty = false; var checkedChannels = []; var channelsInputs; $.each(formRequiredInputs, function (key, value) { $(value).addClass('validationStyles'); if ($(value).val() == '') { isEmpty = true; } if ($(value).attr('name') === 'email') { emailInputValid = application.uiValidateEmail($(value).val()); } if ($(value).attr('name') === 'zipCode') { postCodeInputValid = application.uiValidatePostCode($(value).val(), $(value).attr('pattern')); } if ($(value).attr('name') === 'tin') { tinInputValid = application.uiValidateTinCode($(value).val(), $(value).attr('pattern')); } }); $.each(tosInputs, function (key, value) { if ($(value).data('required') === 'req') { if (!$(value).prop('checked')) { $(value).closest('label').addClass('required-checkbox-warning'); } if ($(value).hasClass('channel-checkbox')) { channelsInputs = $(value).closest('.input-group').find('.channel-checkbox'); $.each(channelsInputs, function (key, value) { if ($(value).prop('checked')) { checkedChannels.push($(value)); } }); if (checkedChannels.length > 0) { tosRequiredValid = true } else { tosRequiredValid = false } if (warningTosInfos.length > 0) { $.each(warningTosInfos, function (key, value) { if ($(value).is(":visible")) { tosRequiredValid = false; } }); } } else if (!$(value).prop('checked')) { tosRequiredValid = false; } } }); if (tosRequiredValid && tinInputValid && postCodeInputValid && emailInputValid && !isEmpty) { return true; } else if (!emailInputValid) { application.createMessage(emailInvalidInfo); } else if (!postCodeInputValid) { application.createMessage(postCodeInvalidInfo); } else if (!tinInputValid) { application.createMessage(tinInvalidInfo); } else if (!tosRequiredValid) { application.createMessage(tosRequiredInfo); } else { application.createMessage(formInvalidInfo); } }, uiValidateForm: function (form) { var formRequiredInputs = form.find('input[required], textarea[required]'); var tosInputs = form.find('input[type="checkbox"]'); var formInvalidInfo = form.data('invalid'); var emailInvalidInfo = form.data('email-invalid'); var postCodeInvalidInfo = form.data('pcode-invalid'); var tinInvalidInfo = form.data('tin-invalid'); var tosRequiredInfo = form.data('tos-invalid'); var warningTosInfos = form.find('.tos-warning'); var tosRequiredValid = true; var tinInputValid = true; var emailInputValid = true; var postCodeInputValid = true; var isEmpty = false; var checkedChannels = []; var channelsInputs; $.each(formRequiredInputs, function (key, value) { $(value).addClass('validationStyles'); if ($(value).val() == '') { isEmpty = true; } if ($(value).attr('name') === 'email') { emailInputValid = application.uiValidateEmail($(value).val()); } if ($(value).attr('name') === 'zipCode') { postCodeInputValid = application.uiValidatePostCode($(value).val(), $(value).attr('pattern')); } if ($(value).attr('name') === 'tin') { tinInputValid = application.uiValidateTinCode($(value).val(), $(value).attr('pattern')); } }); $.each(tosInputs, function (key, value) { if ($(value).data('required') === 'req') { if (!$(value).prop('checked')) { $(value).closest('label').addClass('required-checkbox-warning'); } if ($(value).hasClass('channel-checkbox')) { channelsInputs = $(value).closest('.input-group').find('.channel-checkbox'); $.each(channelsInputs, function (key, value) { if ($(value).prop('checked')) { checkedChannels.push($(value)); } }); if (checkedChannels.length > 0) { tosRequiredValid = true } else { tosRequiredValid = false } if (warningTosInfos.length > 0) { $.each(warningTosInfos, function (key, value) { if ($(value).is(":visible")) { tosRequiredValid = false; } }); } } else if (!$(value).prop('checked')) { tosRequiredValid = false; } } }); if (tosRequiredValid && tinInputValid && postCodeInputValid && emailInputValid && !isEmpty) { return true; } else if (!emailInputValid) { application.createMessage(emailInvalidInfo); } else if (!postCodeInputValid) { application.createMessage(postCodeInvalidInfo); } else if (!tinInputValid) { application.createMessage(tinInvalidInfo); } else if (!tosRequiredValid) { application.createMessage(tosRequiredInfo); } else { application.createMessage(formInvalidInfo); } }, 3.Aby walidacja działała poprawnie, dodaj dodatkowe funkcje w pliku 'init.js', w obiekcie application (uicheckIfParentChecked, uicheckIfTosChannelChecked) uicheckIfParentChecked: function(e) { var parentBox = $(e.currentTarget).closest('.multiple-choice'); var elementParentTos = parentBox.find('input[name=tos]'); var consentWarning = parentBox.find('.main-consent-warning'); var channelWarning = parentBox.find('.channel-warning'); var tosChannels = parentBox.find('.channel-checkbox'); var checkedChannels = []; var elementParentTosChecked, parentTosName; if (elementParentTos.length > 0) { elementParentTosChecked = $(elementParentTos[0]).prop('checked'); parentTosName = parentBox.find('.input-group > label .switch-name'); consentWarning = $(elementParentTos[0]).closest('.input-group').find('.main-consent-warning'); if (!elementParentTosChecked) { $(parentTosName[0]).css({ 'color': '#ff3a3a', 'transition': '200ms' }); $(consentWarning[0]).show(); } if (!$(e.currentTarget).prop('checked') || elementParentTosChecked) { $(parentTosName[0]).css({ 'color': '', 'transition': '200ms' }); $(consentWarning[0]).hide(); } if (!$(e.currentTarget).prop('checked') && !elementParentTosChecked) { $(parentTosName[0]).css({ 'color': '', 'transition': '200ms' }); $(consentWarning[0]).hide(); $(e.currentTarget).prop('disabled', true); $(e.currentTarget).closest('.channel-switch').addClass('unactive-switch'); } if ($(e.currentTarget).prop('checked')) { $(channelWarning[0]).hide(); } else { $.each(tosChannels, function (key, value) { if ($(value).prop('checked')) { checkedChannels.push($(value)); } }); if (checkedChannels.length === 0 && elementParentTosChecked) { $(channelWarning[0]).show(); } } } }, uicheckIfTosChannelChecked: function (e) { var parentBox = $(e.currentTarget).closest('.multiple-choice'); var tosChannels = parentBox.find('.channel-checkbox'); var checkedChannels = []; var channelWarning = parentBox.find('.channel-warning'); var consentWarning = parentBox.find('.main-consent-warning'); var isChecked = $(e.currentTarget).prop('checked'); var tosName = $(e.currentTarget).closest('label').find('.switch-name'); $.each(tosChannels, function (key, value) { if ($(value).prop('checked')) { checkedChannels.push($(value)); } }); if (checkedChannels.length > 0 && !isChecked) { $(channelWarning[0]).hide(); $.each(tosChannels, function (key, value) { $(value).closest('.channel-switch').addClass('unactive-switch'); $(value).prop('disabled', true); $(value).prop("checked", false); }); } if (checkedChannels.length > 0 && isChecked) { $(channelWarning[0]).hide(); $(tosName[0]).css({ 'color': '', 'transition': '200ms' }); $(consentWarning[0]).hide(); } if (checkedChannels.length === 0 && isChecked) { $(channelWarning[0]).show(); $.each(tosChannels, function (key, value) { $(value).closest('.channel-switch').removeClass('unactive-switch'); $(value).removeAttr('disabled'); }); } if (checkedChannels.length === 0 && !isChecked) { $(channelWarning[0]).hide(); $.each(tosChannels, function (key, value) { $(value).closest('.channel-switch').addClass('unactive-switch'); $(value).prop('disabled', true); }); } }, 4.Wywołaj nowe funkcje w pliku 'init.js', w obiekcie application.events $('body').on('click', '.channel-checkbox', function (e) { self.uicheckIfParentChecked(e); }); $('body').on('click', '.multiple-choice .input-group > label .switch-input[name=tos]', function (e) { self.uicheckIfTosChannelChecked(e); }); 5.Dodaj tłumaczenia: - MainConsentWarning: "Wyraź zgodę" - ChannelWarning: "Wybierz przynajmniej jeden kanał"   6.Uzupełnij plik '480plus.css', który znajduje się w folderze 'css', o style: .multiple-switch { margin: 0 0 20px; } .multiple-choice .main-consent-warning, .multiple-choice .channel-warning, .input-group.switches .main-consent-warning, .input-group.switches .channel-warning { display: none; position: relative; font-size: 11px; color: #ff3a3a; top: -20px; left: -51px; } .multiple-choice .main-consent-warning .fa, .multiple-choice .channel-warning .fa, .input-group.switches .main-consent-warning .fa, .input-group.switches .channel-warning .fa { margin: 0 5px 0 0; } .input-group label.required-checkbox-warning .switch-name { color: #ff3a3a !important; } .input-group label.required-checkbox-warning .switch-name a.cp_link { color: #ff3a3a; } form .input-group .switch.unactive-switch { opacity: .5; cursor: not-allowed; }

Szablon Bursztyn

W pliku homepage.html proszę zastąpić poniższy kod: {% for tos in config.TOS.Consents.Newsletter -%} {% if tos.Statement -%} <label>{{tos.Text}}</label> {% else -%} <input name="tos" id="tos{{ tos.Id }}" type="checkbox" value="{{ tos.Id }}" {% if tos.Required -%} required {% endif -%} /> <div class="input-switch "><div class="switch-button"></div></div> <label for="tos{{ tos.Id }}">{% if tos.Required -%}*{% endif -%} {{tos.Text}}</label> {% endif -%} {% endfor -%} następującym: {% for tos in config.TOS.Consents.Newsletter -%} {% assign channelsSize = tos.Channels | Size -%} <div class="single-tos {% if channelsSize > 0 -%} channels {% endif %}"> {% if tos.Statement -%} <label class="statement tos-name">{{tos.Text}}</label> {% else -%} <div class="tos-switch"> <input name="tos" id="tos{{ tos.Id }}" type="checkbox" value="{{ tos.Id }}" {% if tos.Required -%} required {% endif -%} /> <div class="input-switch "><div class="switch-button"></div></div> <label for="tos{{ tos.Id }}">{% if tos.Required -%}*{% endif -%} {{tos.Text}}</label> </div> {% endif -%} {% if channelsSize > 0 -%} <ul class="channels disabled"> {% for chn in tos.Channels -%} <li class="channel"> <input id="channel{{ chn.Key }}" type="checkbox" name="channelKey" value="{{ chn.Key }}" disabled/> <div class="channel-switch input-switch "><div class="switch-button"></div></div> <label for="channel{{ chn.Key }}">{{chn.Name}}</label> </li> {% endfor -%} </ul> {% endif -%} </div> {% endfor -%}

Szablon Opal

W pliku homepage.html proszę zastąpić poniższy kod: {% for tos in config.TOS.Consents.Newsletter -%} {% if tos.Statement -%} <label>{{tos.Text}}</label> {% else -%} <input name="tos" id="tos{{ tos.Id }}" type="checkbox" value="{{ tos.Id }}" {% if tos.Required -%} required {% endif -%} /> <div class="input-switch "><div class="switch-button"></div></div> <label for="tos{{ tos.Id }}">{% if tos.Required -%}*{% endif -%} {{tos.Text}}</label> {% endif -%} {% endfor -%} następującym: {% for tos in config.TOS.Consents.Newsletter -%} {% assign channelsSize = tos.Channels | Size -%} <div class="single-tos"> {% if tos.Statement -%} <label class="statement-reg tos-name">{{tos.Text}}</label> {% else -%} <div class="tos-switch single-switch"> <input name="tos" id="tos{{ tos.Id }}" type="checkbox" value="{{ tos.Id }}" {% if tos.Required -%} required {% endif -%} /> <div class="input-switch "><div class="switch-button"></div></div> <label for="tos{{ tos.Id }}">{% if tos.Required -%}*{% endif -%} {{tos.Text}}</label> </div> {% endif -%} {% if channelsSize > 0 -%} <ul class="channels-list"> {% for chn in tos.Channels -%} <li class="channel single-switch"> <input id="channel{{ chn.Key }}" type="checkbox" name="channelKey" value="{{ chn.Key }}"/> <div class="input-switch "><div class="switch-button"></div></div> <label for="channel{{ chn.Key }}">{{chn.Name}}</label> </li> {% endfor -%} </ul> {% endif -%} </div> {% endfor -%}

Kanał e-mail

Jeśli wprowadziłeś powyższe zmiany, a w swoich zgodach posiadasz tylko kanał e-mail i chcesz zaoszczędzić zbędnego klikania swoim klientom to poniżej znajduje się instrukcja co należy zmienić w kodzie. Te zmiany sprawią, że kanał e-mail będzie zawsze zaznaczony i nie będzie się go dało odznaczyć.

Szafir

Plik init-ui2.js
Znajdź funkcję toggleChannels. W niej jest zdeklarowana zmienna var inputs = container.find('[name=channelKey]');. Zmień ją na var inputs = container.find('[name=channelKey]:not([type=hidden])');
Pliki home.html, sign-up-no-address.html, common/address-form-register-full.html, customer-profile/your-account/employee-update.html, order/cart.html, __loginconsents.liquid
Znajdź w tych plikach taki fragment kodu: {% if channelsSize > 0 -%} {{ translations.ChooseOption }} {% endif -%} {% for channel in tos.Channels -%} {% endfor -%} Usuń go, a w jego miejsce wklej ten fragment kodu: {% if channelsSize > 0 -%} {% assign onlyEmail = false -%} {% if channelsSize == 1 and tos.Channels[0].Type == 1 -%} {% assign onlyEmail = true -%} {% endif -%} {% if onlyEmail == false -%} {{ translations.ChooseOption }} {% endif -%} {% endif -%} {% for channel in tos.Channels -%} {% endfor -%}

Agat

Pliki partials/cart/delivery-and-payment.html, partials/common/footer.html, partials/common/registration-consents.html, __loginconsents.liquid
Znajdź w tych plikach taki fragment kodu: {% if channelsSize > 0 -%} {{translations.ChannelWarning}} {% for chn in tos.Channels -%} {% endfor -%} {% endif -%} Usuń go, a w jego miejsce wklej ten fragment kodu: {% if channelsSize > 0 -%} {% assign onlyEmail = false -%} {% if channelsSize == 1 and tos.Channels[0].Type == 1 -%} {% assign onlyEmail = true -%} {% endif -%} {% if onlyEmail == false -%} {{translations.ChannelWarning}} {% endif -%} {% for chn in tos.Channels -%} {% endfor -%} {% endif -%}

Bursztyn

Plik init.js
Wyszukaj frazę channels i zamień wszystkie jej wystąpienia w tym pliku na channels:not(.only-email)
Pliki homepage.html, customer/registration.html, order/stepsummary.html, __loginconsents.liquid
Znajdź w tych plikach taki fragment kodu: {% if channelsSize > 0 -%}
    • {% for chn in tos.Channels -%}
{% endfor -%} {% endif -%} Usuń go, a w jego miejsce wklej ten fragment kodu: {% if channelsSize > 0 -%} {% assign onlyEmail = false -%} {% if channelsSize == 1 and tos.Channels[0].Type == 1 -%} {% assign onlyEmail = true -%} {% endif -%}
    • {% for chn in tos.Channels -%}
    • {% if onlyEmail == false -%} {% else -%} {% endif -%}
{% endfor -%} {% endif -%}

Opal

Plik init.js
Wyszukaj frazę channels-list i zamień wszystkie jej wystąpienia w tym pliku na channels-list:not(.only-email)
Pliki homepage.html, customer/registration.html, order/stepsummary.html, __loginconsents.liquid
Znajdź w tych plikach taki fragment kodu: {% if channelsSize > 0 -%}
    • {% for chn in tos.Channels -%}
{% endfor -%} {% endif -%} Usuń go, a w jego miejsce wklej ten fragment kodu: {% if channelsSize > 0 -%} {% assign onlyEmail = false -%} {% if channelsSize == 1 and tos.Channels[0].Type == 1 -%} {% assign onlyEmail = true -%} {% endif -%}
    • {% for chn in tos.Channels -%}
    • {% if onlyEmail == false -%} {% else -%} {% endif -%}
{% endfor -%} {% endif -%}

Jak dostosować szablony do integracji z Google Tag Manager?

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

1. Wstęp

W związku ze zmianami w Comarch e-Sklep od wersji 2018.6, które poszerzają zakres integracji z Google Tag Manager, szablony w wersji starszej będą wymagały wprowadzenia zmian, które pozwolą na wykorzystanie w pełni funkcjonalności opisanych w artykule Integracja z Google Tag Manager.
Uwaga
Poniższa konfiguracja przeznaczona jest dla użytkowników posiadających e-Sklep w wersji 2018.6 lub wyższej ale z szablonami w starszej wersji. Pliki szablonu, fragmenty ich kodu oraz modyfikacje przedstawione w instrukcji dotyczą darmowych szablonów Comarch. W przypadku szablonów indywidualnych miejsce wklejenia skryptów niezbędnych do dostosowania szablonu powinien wskazać twórca szablonu

2. Implementacja skryptów

Jeżeli przed wersją 2018.6 integracja była już konfigurowana to konieczne będzie usunięcie starego skryptu dodanego do ostatniej strony zamówienia. W tym celu w panelu administracyjnym sklepu przejdź do obszaru Wygląd sklepu / Ustawienia / Edytuj ustawienia zaawansowane / Edytuj HTML i usuń z pliku lastpagescripts.html poniższy skrypt: <script> dataLayer.push({{ page.GTMDataLayer }}); dataLayer.push({event:'UaTrack',VirtualPath:null}); </script> W zależności od szablonu plik lastpagescripts.html będzie zlokalizowany w innym miejscu w strukturze plików:
  • Szablon Bursztyn, Opal i Szafir - order / lastpagescripts.html
  • Szablon Agat - partials / cart / lastpagescripts.html
Następnym krokiem będzie implementacja dwóch nowych skryptów. W pliku _layout.html znajdującym się bezpośrednio w obszarze Edytuj HTML zamień istniejący skrypt znajdujący się na początku sekcji <body> <script>var dataLayer=[{{ page.GTMDataLayer }}];</script> na nowy: <script>var dataLayer={{ page.GtmDL }};</script> Kolejny skrypt należy umieścić w pliku odpowiedzialnym za koszyk <script> (function(){ var i,dl={{ page.GtmDL }}; for(i in dl) dataLayer.push(dl[i]); })(); </script> W zależności od szablonu będzie to inny plik - nazwa i lokalizacja pliku oraz miejsce wklejenia powyższego skryptu wskazane poniżej:
  • Szablon Bursztyn, Opal - order-cart-container.html
  • Szablon Agat - partials / cart / cart-template.html
  • Szablon Szafir - order / cart.html
oraz w pliku order / thx.html  
Wskazówka
Pamiętaj o zapisaniu i publikacji wszystkich zmian wykonanych w szablonie. Po przygotowaniu szablonu zgodnie z powyższymi instrukcjami możesz przejść do konfiguracji integracji Twojego sklepu z Google Tag Manager opisanej w artykule Integracja z Google Tag Manager.

3. Przydatne linki

Google Tag Manager: Pomoc Strona serwisu Dokumentacja programistyczna Google Analytics: Strona serwisu Dokumentacja programistyczna

Dodawanie kanałów do płatności online w szablonach

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

Dodawanie kanałów do płatności online

Kanały w płatnościach online to inaczej sposób zapłaty. W tym artykule dowiesz się, jak je dodać w swoim szablonie.

1. Bursztyn i Opal

W pliku order/cart.html dodaj poniższy kod: {% for delivery in cart.DeliveryMethods %} {% for payment in delivery.Payments %} {% if payment.Channels[0] and payment.Id == cart.SelectedDeliveryPaymentId %}
{% for channel in payment.Channels -%} {% endfor -%}
{% endif %} {% endfor %} {% endfor %} Następnie konieczne jest również ostylowanie dodanego fragmentu, aby był spójny z resztą szablonu. Na końcu pliku scss/main2.scss dodaj poniższe style: .payment-channels{ background-color: $middleColor; display: flex; flex-wrap: wrap; margin-top: 11px; } .payment-channel{ display: inline-block; width: calc(100%/6 - 30px); min-width: 100px; height: 50px; margin: 15px; position: relative; [type=radio]{ position: absolute; opacity: 0; width: 0; height: 0; & + img{ cursor: pointer; max-width: 100px; max-height: 50px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } &:checked + img{ outline: 1px solid $primaryColor; } } }
Wskazówka
O tym jak skompilować i zminifikować pliki scss dowiesz się z artykułu o kompilacji i minifikacji plików.
Gdy kanały są już dodane oraz dobrze wyświetlają się w szablonie, kolejny krok to włączenie ich działania. W tym celu na końcu pliku js/order.js należy wkleić poniższy kod: $('body').on('change', '.payment-channels [name=channel]', function (e) { e.preventDefault(); var id = $('.payment-channels').data('id'); var channel = $(e.currentTarget).val(); $.post(null, { __csrf: __CSRF, __action: 'Order/DeliveryChange', id: id, channel: channel }); });
Wskazówka
O tym jak zminifikować pliki js dowiesz się z artykułu o kompilacji i minifikacji plików.
Na koniec dodaj walidację, dzięki której nie będzie się dało złożyć zamówienia, jeśli żaden kanał nie został wybrany. W pliku js/order.js odnajdź funkcję oznaczoną komentarzem //next i dodaj w niej (w pierwszym warunku if ($(this).hasClass('start'))) w zależności od szablonu: Bursztyn: if($('.payment-channels').index() != -1 && $('.payment-channels [name=channel]:checked').index() == -1){ var tt = $('
'); tt.append('
'+$('.payment-channels').data('validation')+'
'); $('body').append(tt); setTimeout(function(){tt.fadeOut(function(){tt.remove();});},3000); return tt; } Opal: if($('.payment-channels').index() != -1 && $('.payment-channels [name=channel]:checked').index() == -1){ var tt; if (sessionStorage.getItem('tooltip') != null){ tt = $(".tt.err"); } else { tt = $('
'); tt.append(''+$('.payment-channels').data('validation')+''); $('body').append(tt); sessionStorage.setItem('tooltip', 'err'); } showTooltip(); return; } Ostatnim krokiem jest dodanie komunikatu, który będzie wyświetlany w przypadku niezaznaczenia żadnego kanału. W tym celu w panelu administracyjnym (Wygląd sklepu/ Ustawienia/ Tłumaczenia) dodaj tłumaczenie o kluczu ChoosePaymentChannel i treści Wybierz sposób zapłaty (lub jakiejkolwiek innej, którą uważasz za stosowną).

2. Agat:

W pliku partials/cart/cart-content.html dodaj poniższy kod: {% for deliveryMethodLvl in cart.DeliveryMethods -%} {% if deliveryMethodLvl.Name == cart.SelectedDelivery.Name %} {% for payment in deliveryMethodLvl.Payments -%} {% if payment.Channels[0] and payment.Id == cart.SelectedDeliveryPaymentId %}
{% for channel in payment.Channels -%} {% endfor -%}
{% endif %} {% endfor -%} {% endif %} {% endfor -%} Następnie konieczne jest również ostylowanie dodanego fragmentu, aby był spójny z resztą szablonu. Na końcu pliku scss/main2.scss dodaj poniższe style: .payment-channels{ background-color: $bgColor; border: 1px solid $lighterColor; box-shadow: 2px 2px 1px 0 $bgColorFont; margin: 0 auto 20px; display: inline-flex; flex-wrap: wrap; width: calc(100% - 2px); @media only screen and (min-width: 481px) { width: calc(50% - 22px); min-width: 298px; margin: 0 10px 20px } @media only screen and (min-width: 769px) { width: calc(100% - 22px); } @media only screen and (min-width: 1441px) { width: calc(75% - 22px); } } .payment-channel{ display: inline-block; width: calc(100%/6 - 30px); min-width: 100px; height: 50px; margin: 15px; position: relative; [type=radio]{ position: absolute; opacity: 0; width: 0; height: 0; & + img{ cursor: pointer; max-width: 100px; max-height: 50px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } &:checked + img{ outline: 1px solid $primaryColor; } } }
Wskazówka
O tym jak skompilować i zminifikować pliki scss dowiesz się z artykułu o kompilacji i minifikacji plików.
Gdy kanały są już dodane oraz dobrze wyświetlają się w szablonie, kolejny krok to włączenie ich działania. W tym celu na końcu pliku js/order.js należy wkleić poniższy kod: $('body').on('change', '.payment-channels [name=channel]', function (e) { e.preventDefault(); var id = $('.payment-channels ').data('id'); var channel = $(e.currentTarget).val(); $.post(null, { __csrf: __CSRF, __action: 'Order/DeliveryChange', id: id, channel: channel }); });
Wskazówka
O tym jak zminifikować pliki js dowiesz się z artykułu o kompilacji i minifikacji plików.
Na koniec dodaj walidację, dzięki której nie będzie się dało złożyć zamówienia, jeśli żaden kanał nie został wybrany. W pliku js/order.js odnajdź funkcję orderNextStep i dodaj w niej (na początku else'a warunku if ($('#delivery-address-data').index() >= 0)) kolejny warunek do sprawdzenia: if($('.payment-channels').index() != -1 && $('.payment-channels [name=channel]:checked').index() == -1){ application.createMessage($('.payment-channels').data('validation'), 3000); return; } Ostatnim krokiem jest dodanie komunikatu, który będzie wyświetlany w przypadku niezaznaczenia żadnego kanału. W tym celu w panelu administracyjnym (Wygląd sklepu/ Ustawienia/ Tłumaczenia) dodaj tłumaczenie o kluczu ChoosePaymentChannel i treści Wybierz sposób zapłaty (lub jakiejkolwiek innej, którą uważasz za stosowną).

3. Szafir

W pliku order/delivery-partials/delivery-section.html dodaj poniższy kod: {% for indexString in matchedDeliveriesIndexesArray -%} {% assign index = indexString | ToInt -%} {% if order.SelectedDelivery.Name == order.DeliveryMethods[index].Name -%} {% for payment in order.DeliveryMethods[index].Payments -%} {% if payment.Id == order.SelectedDelivery.Payment.Id and payment.Channels[0] -%}
{% for channel in payment.Channels -%} {% endfor -%}
{% endif -%} {% endfor -%} {% endif -%} {% endfor -%} Następnie konieczne jest również ostylowanie dodanego fragmentu, aby był spójny z resztą szablonu. Na końcu pliku scss/globals/_globals2.scss dodaj poniższe style: .order-ui .payment-channels-ui{ padding: 0; margin: 0 30px 15px 0; width: calc(100% - 30px); display: flex; flex-wrap: wrap; .message-bar-ui{ width: 100%; margin: 0; } } .payment-channel-ui:not(.checkbox-ui):not(.radio-ui){ width: calc(100%/6 - 30px); min-width: 100px; height: 50px; margin: 15px; position: relative; [type=radio]{ position: absolute; opacity: 0; width: 0; height: 0; & + img{ cursor: pointer; max-width: 100px; max-height: 50px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } &:checked + img{ outline: 1px solid $primaryColor; } } } oraz w pliku scss/globals/_globals-m.scss: .order-ui .payment-channels-ui { margin-right: 0; width: 100%; }
Wskazówka
O tym jak skompilować i zminifikować pliki scss dowiesz się z artykułu o kompilacji i minifikacji plików.
Gdy kanały są już dodane oraz dobrze wyświetlają się w szablonie, kolejny krok to włączenie ich działania. W tym celu na końcu pliku js/init-ui2.js należy wkleić poniższy kod: function choosePaymentChannel(e) { var form = $('.delivery-form-lq'); var data = form.serializeArray(); data.push({ name: '__csrf', value: __CSRF }); data.push({ name: 'channel', value: $(e.currentTarget).val() }); $.post('', data); $('.payment-channels-lq .form-error-lq').remove(); }; $('body').on('change', '.payment-channel-lq [name=channel]', function (e) { choosePaymentChannel(e); });
Wskazówka
O tym jak zminifikować pliki js dowiesz się z artykułu o kompilacji i minifikacji plików.
Na koniec dodaj walidację, dzięki której nie będzie się dało złożyć zamówienia, jeśli żaden kanał nie został wybrany. W pliku js/init-ui1.js odnajdź funkcję addOrder i dodaj w niej (zaraz pod pierwszym warunkiem if (ajaxModalSelector && this.hiddingClass)) kolejny warunek do sprawdzenia: if ($('.payment-channels-lq').index() != -1 && $('.payment-channel-lq [name=channel]:checked').index() == -1) { $('.payment-channels-lq').append('
' + __translations.ChoosePaymentMethod + '
'); guardian = false; } Ostatnim krokiem jest dodanie komunikatu, który będzie wyświetlany w przypadku niezaznaczenia żadnego kanału. W tym celu w pliku _layout.html odnajdź skrypt ze zmienną __translations i dopisz w nim kolejną linijkę: ChoosePaymentMethod: '{{ translations.ChoosePaymentMethod | H }}'. Następnie w panelu administracyjnym (Wygląd sklepu/ Ustawienia/ Tłumaczenia) dodaj tłumaczenie o kluczu ChoosePaymentMethod i treści Wybierz sposób zapłaty (lub jakiejkolwiek innej, którą uważasz za stosowną).

Obsługa towaru archiwalnego

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

Obsługa towaru archiwalnego

W tym artykule dowiesz się jak obsłużyć towar archiwalny na stronie ze szczegółami towaru w swoim szablonie.

Szafir

W pliku product/product-presentation-data.html wyszukaj frazę header. Jest to element, w którym trzeba dodać warunek, aby ostatecznie wyglądało to tak: {% if product.Archival == false -%} . . . {% endif -%} Następnie wyszukaj frazę add-to-cart-container-ui. Jest to kontener, w którym na samym początku wyświetlane są punkty lojalnościowe i flagi. Trzeba je uwarunkować, żeby nie pojawiały się przy towarze archiwalnym. Zamiast nich powinna się pojawić informacja o tym, że jest to towar archiwalny. Początek tego kontenera powinien wyglądać następująco: {% if product.Archival -%}
{{ translations.ArchivalProductInfo }}
{% else -%} {% if activeProduct.Points != null and usr.Authenticated -%} {% capture quantityUnit -%}1 {{ product.SaleUnit }}{% endcapture -%}
{{ translations.EarnLoyaltyPoints | Format:quantityUnit }}: {{ activeProduct.Points }} {{ translations.PointsShortcut }}
{% endif -%}
    • {% assign flagsQuantity = product.Flags | Size -%} {% for flag in product.Flags limit: 3 -%}
    • {% if flag.Type == "Reward" -%} {{ translations.PointsProduct }}{% if usr.Authenticated and activeProduct.PointsPrice != null -%}: {{ activeProduct.PointsPrice }} {{ translations.PointsShortcut }}/{{ product.SaleUnit }}{% endif -%} {% else -%} {{ flag.Text }} {% endif -%}
{% endfor -%} {% endif -%}   Parę linijek niżej znajdują się etykiety {{ translations.ChooseProductVariant }} i {{ translations.Availability }}: {{ activeProduct.Availability.Text }}. Trzeba zmodyfikować ich warunki tak, aby nie wyświetlały się w przypadku towaru archiwalnego. Powinno to wyglądać w ten sposób: {% if tableView and product.Archival == false -%} {{ translations.ChooseProductVariant }} {% endif -%} {% if activeProduct.Availability.Text != '' and product.Archival == false -%}
{{ translations.Availability }}: {{ activeProduct.Availability.Text }}
{% endif -%} W podobny sposób należy ukryć całą resztę dotyczącą różnych danych o towarze. Aby to zrobić należy wyszukać taki warunek {% if activeProduct.StockLevel.Control and tableView == false -%} i linijkę wyżej dopisać {% if product.Archival == false -%}. Natomiast zamknięcie tego warunku trzeba będzie dopisać dużo dalej. Aby znaleźć odpowiednie miejsce należy wyszukać taką frazę CheaperInSet. Jest to etykieta przycisku przewijającego do sekcji z zestawami (o ile takowe istnieją dla danego towaru). Pod tym przyciskiem znajduje się {% endif -%}, który zamyka warunek sprawdzający właśnie istnienie owych zestawów. Pod nim trzeba dopisać jeszcze jedno {% endif -%}, aby zamknąć warunek, który dodaliśmy wyżej. Ostatecznie powinno to wyglądać tak: {% if product.Archival == false -%} {% if activeProduct.StockLevel.Control and tableView == false -%} . . . {% if product.Sets != null and product.Sets != empty -%}
{{ translations.CheaperInSet }}
{% endif -%} {% endif -%} . . . Na końcu pliku scss/globals/_globals2.scss wklej taki kod: .archival-product-info-ui{ position: absolute; top: -40px; right: 0; text-transform: uppercase; color: $primaryColor; font-style: italic; } A na końcu pliku scss/globals/_globals-m.scss wklej taki kod: .archival-product-info-ui{ right: 20px; }
Wskazówka
Zwróć uwagę, aby ten styl znajdował się wewnątrz głównej klamry, która otwiera się w pierwszej linijce pliku i zamyka w ostatniej
Wskazówka
Pamiętaj, że pliki scss należy zminifikować. O tym jak skompilować i zminifikować pliki scss dowiesz się z artykułu o kompilacji i minifikacji plików.

Agat

W pliku product-page.html wyszukaj frazę button-container. Jest to klasa kontenera, w którym znajdują się najważniejsze dane związane z towarem. Pod tym kontenerem wklej taki kod: {% if product.Archival -%}
{{translations.ArchivalProductInfo}}
{% endif -%} Pozostając w tym samym pliku (product-page.html) wyszukaj frazę config.Reviews.Enabled. Jest to część warunku, odpowiedzialnego za dodawanie opinii o produkcie. Zmodyfikuj go tak, aby wyglądał następująco: {% if product.Archival -%} {% if config.Reviews.Enabled == true and productD.Archival == false -%} {% endif -%} W pliku partials/product/product-popup.html wyszukaj frazę usr.Authenticated. W tym pliku będą dwa wystąpienia takiej frazy. W obu to część warunku. W obu przypadkach zmodyfikuj te warunki, aby wyglądały tak: {% if usr.Authenticated and product.Archival == false -%} W tym samym pliku (partials/product/product-popup.html) wyszukaj frazę add-to-cart-popup. Jest to klasa kontenera, który trzeba zmodyfikować, aby wyglądał tak:
Dalej w tym samym pliku (partials/product/product-popup.html) wyszukaj frazę AddToCartForm. Jest to ID formularza odpowiedzialnego za dodawanie towaru do koszyka. Linijkę wyżej otwórz taki warunek: {% if product.Archival == false -%} Będzie on obejmował resztę kodu znajdującego się w tym pliku. Na końcu znajdziesz kontener z klasą ask-for-price-popup. Pod tym kontenerem zamknij wcześniej otworzony warunek dopisując linijkę niżej {% endif -%}. Na końcu pliku scss/main2.scss wklej taki kod: .archival{ padding-bottom: 20px; } .archival-info{ background: $pageNameColor; color: $primaryColor; padding: 20px; margin-bottom: 20px; text-transform: uppercase; @media only screen and (min-width: 481px) { box-shadow: 2px 2px 1px 0 $bgColorFont; } }
Wskazówka
Pamiętaj, że pliki scss należy zminifikować. O tym jak skompilować i zminifikować pliki scss dowiesz się z artykułu o kompilacji i minifikacji plików.

Bursztyn

W pliku productdetails.html wyszukaj frazę itemprop="offers". Jest to jeden z atrybutów kontenera, na którego początku trzeba wkleić taki kod: {% if _pd.Archival -%}
{{ translations.ArchivalProductInfo }}
{% endif %} W tym samym pliku (productdetails.html) wyszukaj frazę usr.Authenticated. W tym pliku będą dwa wystąpienia takiej frazy. W obu to część warunku. W obu przypadkach zmodyfikuj te warunki, aby wyglądały tak: {% if usr.Authenticated and _pd.Archival == false -%} Dalej w tym samym pliku (productdetails.html) wyszukaj frazę class="availability". Linijkę wyżej nad elementem, który ma taką klasę dopisz {% if _pd.Archival == false %}. Będzie to początek warunku, który trzeba zakończyć trochę niżej. Aby znaleźć to miejsce wyszukaj frazę {% if customer.HidePrices %}. Jest to warunek przed, którym trzeba zakończyć ten nasz nowy, który właśnie dodaliśmy. Aby tego dokonać należy linijkę wyżej dopisać {% endif %}. Kolejną frazą w tym pliku (productdetails.html), którą trzeba wyszukać jest add-to-cart. Jest to klasa przycisku dodawania towaru do koszyka. Będą dwa wystąpienia. Interesuje nas tylko pierwsze, które dotyczy danego towaru. Drugie wystąpienie dotyczy zestawów i znajduje się w warunku {% if set.Price <> null %}. To nas nie interesuje więc zostańmy przy tym pierwszym. Linijkę wyżej dopisz {% if _pd.Archival == false %}. Pod tym przyciskiem znajdują się jeszcze dwa przyciski (powiadamiania o dostępności i pytania o cenę). Pod tym drugim należy zamknąć warunek dopisując linijkę niżej {% endif %}. Będąc przy tych przyciskach możemy zauważyć element nav z klasą options. Linijkę wyżej wklej {% if _pd.Archival == false %}, a zaraz za końcem tego elementu dopisz linijkę niżej {% endif %}. Ostatni warunek w tym pliku (productdetails.html), który trzeba zmienić znajdziesz wyszukując frazę productuserreviews.TotalItems. Trzeba ją podmienić, aby wyglądała tak: {% unless productuserreviews.TotalItems == 0 and _pd.Archival %} Plik productdetails/opinions-partial.html należy zmodyfikować tak, żeby wyglądał w ten sposób: {% if productuserreviews.TotalItems == 0 %} {% if _pd.Archival == false -%} . . . {% endif -%} {% else %} {% for o in productuserreviews.Reviews %} . . . {% endfor %} {% if _pd.Archival == false -%} {% endif -%} {% endif%} Na końcu pliku scss/main2.scss wklej: .archival-product-info{ padding: 15px 20px; border-radius: 5px 0 0 5px; box-shadow: rgba(0,0,0,.2) -2px 2px 10px; background: #F5F5F5; position: relative; right: -20px; left: -20px; width: calc(100% + 40px); margin: 10px 0 30px; font-style: italic; }
Wskazówka
Pamiętaj, że pliki scss należy zminifikować. O tym jak skompilować i zminifikować pliki scss dowiesz się z artykułu o kompilacji i minifikacji plików.

Opal

W pliku productdetails.html wyszukaj frazę details-section. Jest to klasa kontenera, nad którym trzeba wkleić linijkę wyżej taki kod: {% if _pd.Archival -%}
{{ translations.ArchivalProductInfo }}
{% endif %} Następnie wyszukaj frazę usr.Authenticated. W tym pliku będą dwa wystąpienia takiej frazy. W obu to część warunku. W obu przypadkach zmodyfikuj te warunki, aby wyglądały tak: {% if usr.Authenticated and _pd.Archival == false -%} Kolejna fraza to class="stock". Będzie to klasa elementu, który trzeba "ubrać" w warunek {% if _pd.Archival == false %}. Będzie to początek warunku, który trzeba zakończyć linijkę pod elementem poprzez dopisanie {% endif %}. Teraz wyszukaj frazę class="attributes". Linijkę wyżej nad elementem, który ma taką klasę dopisz {% if _pd.Archival == false %}. Będzie to początek warunku, który trzeba zakończyć trochę niżej. Aby znaleźć to miejsce wyszukaj frazę {% if customer.HidePrices %}. Jest to warunek przed, którym trzeba zakończyć ten nasz nowy, który właśnie dodaliśmy. Aby tego dokonać należy linijkę wyżej dopisać {% endif %}. Następna fraza to add-to-cart. Jest to klasa przycisku dodawania towaru do koszyka. Będą dwa wystąpienia. Interesuje nas tylko pierwsze, które dotyczy danego towaru. Drugie wystąpienie dotyczy zestawów i znajduje się w warunku {% if set.Price <> null %}. To nas nie interesuje więc zostańmy przy tym pierwszym. Linijkę wyżej dopisz {% if _pd.Archival == false %}. Pod tym przyciskiem znajdują się jeszcze dwa przyciski (powiadamiania o dostępności i pytania o cenę). Pod tym drugim należy zamknąć warunek dopisując linijkę niżej {% endif %}. Będąc przy tych przyciskach możemy zauważyć element nav z klasą options. Linijkę wyżej wklej {% if _pd.Archival == false %}, a zaraz za końcem tego elementu dopisz linijkę niżej {% endif %}. Na końcu pliku scss/main2.scss wklej: .archival-product-info{ background: #f7f7f7; color: $placeholderColorFont; padding: 20px; margin-top: 20px; text-align: center; }
Wskazówka
Pamiętaj, że pliki scss należy zminifikować. O tym jak skompilować i zminifikować pliki scss dowiesz się z artykułu o kompilacji i minifikacji plików.

Topaz

Wzależności od wybranego wariantu szczegółów towaru zmiany będą inne. Wersja z miniaturkami zdjęć po lewej W pliku elements/product/product-details-1.html wyszukaj frazę product-details__images. Zastąp kontener z tą klasą poniższym kodem:
{% for flag in product.Flags -%} {{ flag.Text }} {% endfor %}
{% if product.Images[1] -%}
    • {% for image in product.Images -%}
    • {% if image.Id != -1 -%} {{image | Img: 'compact'}} {% else -%} {{'css/img/img-placeholder.jpg' | Img, translations.DefaultImage}} {% endif -%}
{% endfor -%}
{% for image in product.Images -%}
{% if image.Id != -1 -%} {{image | Img: 'grande'}} {% else -%} {{'css/img/img-placeholder.jpg' | Img, translations.DefaultImage}} {% endif -%} {% if product.Archival -%}
{{translations.ArchivalProduct}}
{% endif -%}
{% endfor -%}
{% elseif product.Images[0] -%}
{{product.Images[0] | Img: 'grande'}} {% if product.Archival -%}
{{translations.ArchivalProduct}}
{% endif -%}
{% else -%}
{{'css/img/img-placeholder.jpg' | Img, translations.DefaultImage}} {% if product.Archival -%}
{{translations.ArchivalProduct}}
{% endif -%}
{% endif -%} {% if product.Images[0] -%} {% endif -%} {% if product.Archival == false -%}
{% if product.DeliveryCost != null and product.DeliveryCost > 0 -%} | {% endif -%} {% if stockLevel.Control -%}
{{ translations.Com_StockLvl }}:  {% unless stockLevel.Type == 2 or stockLevel.Type == 4 or stockLevel.Text == null -%} {{ stockLevel.Text }} {% endunless -%} {% if stockLevel.Type == 4 -%} {{ stockLevel.Value | Normalize }} {{ product.SaleUnit }} {% endif -%} {% if stockLevel.Type == 1 or stockLevel.Type == 2 -%} {% unless stockLevel.ImageUrl == null -%} {{stockLevel.ImageUrl | Img: '', stockLevel.Text}} {% endunless -%} {% endif -%}
| {% endif -%}
{{ translations.Com_Availability }}:  {% unless product.Availability.Text == '' or product.Availability.Type == 2 -%} {{ product.Availability.Text }} {% endunless -%} {% if product.Availability.Type == 1 or product.Availability.Type == 2 -%} {{product.Availability.ImageUrl | Img: '', product.Availability.Text}} {% endif -%} {% unless product.Availability.Date == null -%} ({{ product.Availability.Date | Date:'d' }}) {% endunless -%}
{% endif -%}
  Następnie wyszukaj frazę product-details__add-to-cart. Na początku kontenera z tą klasą wklej poniższy kod: {% if product.Archival -%}
{{translations.ArchivalProductInfo}}
{% endif -%} Kawałek niżej znajdziesz kontener z klasą product-details__reviewsContainer. Podmień go poniższym kodem: {% unless product.Archival and product.RatingCount == 0 -%}
{% include 'partials/common/product-rating.html', rating: product.Rating -%} ({{ product.RatingCount }})
{% endunless -%} Teraz wyszukiaj basic-unit-ratio. Podmień wszystko co jest pod tą linijką, aż do linijki, w której znajduje się kontener z klasą product-details__info-container (tej linijki nie podmieniaj) poniższym kodem: {% if product.Archival == false -%} {% if product.Clip or product.Batch -%}
{% for attribute in product.Supplies.AttributeNames -%} {{ attribute.Name | H }}
{% endfor -%}
{% elseif product.AttributesPolyvalent != empty -%} {% for attribute in product.AttributesPolyvalent -%}
{{ attribute.Name }}
{% for value in attribute.Values -%} {{ value.Value | H }} {% endfor -%}
{% endfor -%} {% endif -%} {% if product.Batch == null or product.Batch == false -%} {% if product.AttributesEditable != empty -%} {% assign i = 0 -%} {% for attribute in product.AttributesEditable -%}
{% assign i = i | Plus: 1 -%} {% endfor -%} {% endif -%} {% endif -%} {% if product.Units[1] -%}
{{ translations.Com_MeasureUnit }} {% for unit in product.Units -%} {% endfor -%}
{% endif -%} {% endif -%} Następnie znajdź kontener z klasą product-details__other-options i podmień go (wraz z jego zawartością) poniższym kodem: <codeclass="lang:ruby decode:true"> {% if product.Archival == false -%}
{{ translations.Com_RecommendProduct }}
{{ translations.Com_AskAboutProduct }}
{% endif -%} Teraz znajdź kontener z klasą product-details__prices. Na samym początku w tym kontenerze będzie warunek {% if customer.Authenticated == true -%}. Zmień go na {% if customer.Authenticated == true and product.Archival == false -%}. Następnie znajdź kontener z klasą product-details__button-group i podmień go (wraz z jego zawartością) na poniższy kod: {% if product.Archival == false -%}
{% if product.AskForPrice == false or customer.HidePrices == false -%} {% unless product.Availability.Status == 3 or noProductInStock == true -%}
{% if stockLevel -%} {% assign stockValue = stockLevel.Value | ToString | Split: "," -%} {% endif -%} {% if stockLevel and stockLevel.Control -%} {% assign stockValue = stockLevel.Value | ToString | Split: ',' -%} {% endif -%}
{% endunless -%} {% endif -%} {% if customer.HidePrices == true -%} {% else -%} {% endif -%}
{% else -%} {{translations.ArchivalProductCheckInfo}} {% endif -%} Teraz w pliku css/layout.css dodaj poniższy kod: .product-details .product-details__image__archival{position:absolute;bottom:0;left:0;right:0;padding:20px;font-size:18px;background:rgba(204,204,204,0.9);color:#fff;text-align:center}.product-details .product-details__archivalProductInfo{background:{{settings.$breadcrumbsBgColor}};color:{{settings.breadcrumbsFontColor}};padding:30px;margin-bottom:30px;text-align:center}.product-details .parent-category-link{color:{{settings.linkFontColor}};margin-top:50px;display:inline-block}.product-details .parent-category-link svg{fill:{{settings.linkFontColor}};height:19px;width:19px;vertical-align:middle} Wersja z miniaturkami zdjęć pod głównym zdjęciem W pliku elements/product/product-details-2.html wyszukaj frazę product-details__images. Zastąp kontener z tą klasą poniższym kodem:
{% for flag in product.Flags -%} {{ flag.Text }} {% endfor %}
{% if product.Images[1] -%}
{% for image in product.Images -%}
{% if image.Id != -1 -%} {{image | Img: 'grande'}} {% else -%} {{'css/img/img-placeholder.jpg' | Img, translations.DefaultImage}} {% endif -%} {% if product.Archival -%}
{{translations.ArchivalProduct}}
{% endif -%}
{% endfor -%}
    • {% for image in product.Images -%}
    • {% if image.Id != -1 -%} {{image | Img: 'compact'}} {% else -%} {{'css/img/img-placeholder.jpg' | Img, translations.DefaultImage}} {% endif -%}
{% endfor -%} {% elseif product.Images[0] -%}
{{product.Images[0] | Img: 'grande'}} {% if product.Archival -%}
{{translations.ArchivalProduct}}
{% endif -%}
{% else -%}
{{'css/img/img-placeholder.jpg' | Img, translations.DefaultImage}} {% if product.Archival -%}
{{translations.ArchivalProduct}}
{% endif -%}
{% endif -%} {% if product.Archival == false -%}
{{ translations.Com_RecommendProduct }}
{{ translations.Com_AskAboutProduct }}
{% endif -%} {% if product.Images[0] -%} {% endif -%}
  Następnie wyszukaj frazę product-details__add-to-cart. Na początku kontenera z tą klasą wklej poniższy kod: {% if product.Archival -%}
{{translations.ArchivalProductInfo}}
{% endif -%} Teraz wyszukiaj {% if product.Clip or product.Batch -%}. Podmień wszystko co jest pod tą linijką (łącznie z nią), aż do linijki {% include 'partials/common/after-adding-to-cart-popup.html' %} (jej nie podmieniaj) poniższym kodem: {% if product.Archival == false -%} {% if product.Clip or product.Batch -%}
{% for attribute in product.Supplies.AttributeNames -%} {{ attribute.Name | H }}
{% endfor -%}
{% elseif product.AttributesPolyvalent != empty -%} {% for attribute in product.AttributesPolyvalent -%}
{{ attribute.Name }}
{% for value in attribute.Values -%} {{ value.Value | H }} {% endfor -%}
{% endfor -%} {% endif -%} {% if product.Batch == null or product.Batch == false -%} {% if product.AttributesEditable != empty -%} {% assign i = 0 -%} {% for attribute in product.AttributesEditable -%}
{% assign i = i | Plus: 1 -%} {% endfor -%} {% endif -%} {% endif -%} {% endif -%} {% if product.Units[1] -%}
{{ translations.Com_MeasureUnit }} {% for unit in product.Units -%} {% endfor -%}
{% endif -%} {% if product.Archival == false -%}
{% if stockLevel.Control -%}
{{ translations.Com_StockLvl }}:  {% unless stockLevel.Type == 2 or stockLevel.Type == 4 or stockLevel.Text == null -%} {{ stockLevel.Text }} {% endunless -%} {% if stockLevel.Type == 4 -%} {{ stockLevel.Value | Normalize }} {{ product.SaleUnit }} {% endif -%} {% if stockLevel.Type == 1 or stockLevel.Type == 2 -%} {% unless stockLevel.ImageUrl == null -%} {{stockLevel.ImageUrl | Img: '', stockLevel.Text}} {% endunless -%} {% endif -%}
{% endif -%}
{{ translations.Com_Availability }} {% unless product.Availability.Text == '' or product.Availability.Type == 2 -%} {{ product.Availability.Text }}:  {% endunless -%} {% if product.Availability.Type == 1 or product.Availability.Type == 2 -%} {{product.Availability.ImageUrl | Img: '', product.Availability.Text}} {% endif -%} {% unless product.Availability.Date == null -%} ({{ product.Availability.Date | Date:'d' }}) {% endunless -%}
{% if product.DeliveryCost != null and product.DeliveryCost > 0 -%} {% endif -%}
{% if product.AskForPrice == false or customer.HidePrices == false -%} {% unless product.Availability.Status == 3 or noProductInStock == true -%}
{% if stockLevel -%} {% assign stockValue = stockLevel.Value | ToString | Split: "," -%} {% endif -%} {% if stockLevel and stockLevel.Control -%} {% assign stockValue = stockLevel.Value | ToString | Split: ',' -%} {% endif -%}
{% endunless -%} {% endif -%}
{% if customer.HidePrices == true -%} {% else -%} {% endif -%} {% if customer.Authenticated == true -%} {% endif -%}
{% else -%} {{translations.ArchivalProductCheckInfo}} {% endif -%}   Teraz w pliku css/layout.css dodaj poniższy kod: .product-details .product-details__image__archival{position:absolute;bottom:0;left:0;right:0;padding:20px;font-size:18px;background:rgba(204,204,204,0.9);color:#fff;text-align:center}.product-details .product-details__archivalProductInfo{background:{{settings.$breadcrumbsBgColor}};color:{{settings.breadcrumbsFontColor}};padding:30px;margin-bottom:30px;text-align:center}.product-details .parent-category-link{color:{{settings.linkFontColor}};margin-top:50px;display:inline-block}.product-details .parent-category-link svg{fill:{{settings.linkFontColor}};height:19px;width:19px;vertical-align:middle}

Obsługa funkcji autocomplete w wyszukiwarce szablonu

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

Obsługa funkcji autocomplete w wyszukiwarce szablonu

W tym artykule dowiesz się jak zaimplementować funkcję autocomplete w swoim szablonie. Funkcja ta wyświetli klientowi listę towarów, które będą najlepiej pasowały do wpisanej przez niego frazy w wyszukiwarce.

Szafir

W pliku common/header/header.html wyszukaj frazę quick-search-form-lq. Zmodyfikuj element, do którego należy ta klasa, aby wyglądał tak:
Na końcu pliku js/init-ui2.js wklej ten kod:
<class="lang:ruby decode:true">function autocomplete(e) { var phrase = $(e.currentTarget).val().replace(/[!@#$%^&*()+={}\[\]:;"'<,>.?\~`\\|]*/gi, ''); if (phrase != '' && phrase.length > 1) { $.get(location.pathname, { __action: 'Get/SearchAutocomplete', search: phrase }).then(function (res) { if($(window).width() > 1280){ var right = 'right: 50px'; } else if($(window).width() > 680){ var right = ''; } else { var right = 'right: 61px'; } var loader = ''; $('.quick-search-form-lq.autocomplete-form-lq').append(loader); var url = res.action.Redirect302; $.get(url, {__csrf:__CSRF, __collection:'products.Products|page.BaseHref|currency|config.Products.ShowCode'}, function(res) { $('.autocomplete-lq').remove(); var list = res.collection['products.Products']; var showCode = res.collection['config.Products.ShowCode']; if (list.length > 0){ if (list.length > 5) { var size = 5; } else { var size = list.length; } var baseHref = res.collection['page.BaseHref']; var currency = res.collection['currency']; var autocompleteList = '
 
'; var regPhrase = '(' + phrase.split(' ').join('|') + ')'; var reg = new RegExp(regPhrase, 'gi'); for (i = 0; i < size; i++) { var nameNoQuotes = list[i].Name.replace(/"/g, '"'); var name = list[i].Name.replace(reg, function(str) {return ''+str+''}); if(showCode){ var code = list[i].Code.replace(reg, function(str) {return ''+str+''}); } else { var code = ''; } if(list[i].Price){ var price = list[i].Price.toPrice() + ' ' + currency; } else { var price = ''; } if(list[i].ImageId != -1){ var img = ''; } else { var img = ''; } var product = ' ' + '
' + img + '
' + '
' + '
' + name + '
' + '
' + code + '
' + '
' + '
' + price + '
' + ''; autocompleteList += product; } autocompleteList += '
'; $('.quick-search-form-lq.autocomplete-form-lq').append(autocompleteList); } $('.loader-for-autocomplete-lq').remove(); }); }); } else { $('.autocomplete-lq').remove(); $('.loader-for-autocomplete-lq').remove(); } }; $('body').on('input', '.quick-search-form-lq.autocomplete-form-lq [name="search"]', function (e) { if(timeOutAutocomplete!=null){ clearTimeout(timeOutAutocomplete); timeOutAutocomplete=null; } timeOutAutocomplete = setTimeout(function(){ autocomplete(e); }, 300); }); //variable to clearTimeout in autocomplete function var timeOutAutocomplete = null; $('body').on('blur', '.quick-search-form-lq.autocomplete-form-lq [name="search"]', function () { setTimeout(function () { $('.autocomplete-lq').remove(); $('.loader-for-autocomplete-lq').remove(); },200); });
Na końcu pliku scss/globals/_header.scss wklej ten kod: .autocomplete-ui{ position: absolute; z-index: 1000; width: 100%; box-shadow: 0px 8px 10px 0px rgba(0, 0, 0, 0.2); @media only screen and (max-width: 1280px) { max-width: 550px; left: 50%; transform: translateX(calc(-50% - 25px)); text-align: left; } @media only screen and (max-width: 680px) { left: auto; transform: none; } .product-ui{ display: block; padding: 10px; background: $bgColor; border: 1px solid $lightBorderColor; border-bottom: none; font-size: 16px; color: $primaryColorFont; transition: all ease 300ms; &:last-child{ border-bottom: 1px solid $lightBorderColor; } > div{ display: inline-block; vertical-align: top; margin-right: 10px; &:last-child{ width: 100px; margin-right: 0; text-align: right; } } .img-ui{ width: 50px; height: 50px; position: relative; } img{ max-width: 100%; max-height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .names-ui{ width: calc(100% - 50px - 100px - 20px); } .name-ui{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: $primaryColor; transition: all ease 300ms; } .code-ui{ font-size: 12px; color: $bgColorFont; transition: all ease 300ms; } &:hover{ background: $btnSolidHoverBgColor; color: $btnSolidHoverTextColor; .name-ui, .code-ui{ color: $btnSolidHoverTextColor; } } } }
Wskazówka
Pamiętaj, że pliki scss i js należy zminifikować. O tym jak skompilować i zminifikować pliki scss i js dowiesz się z artykułu o kompilacji i minifikacji plików.

Agat

W pliku partials/common/header.html wyszukaj frazę id="search-form". Zmodyfikuj element, do którego należy to ID, aby wyglądał tak: W pliku js/init.js wyszukaj frazę events:. Linijkę wyżej wklej kod:
<class="lang:ruby decode:true ">autocomplete: function(e){ var phrase = $(e.currentTarget).val().replace(/[!@#$%^&*()+={}\[\]:;"'<,>.?\~`\\|]*/gi, ''); if (phrase != '' && phrase.length > 1) { $.get(location.pathname, { __action: 'Get/SearchAutocomplete', search: phrase }).then(function (result) { if (result.action.Result) { var loader = ''; $('#search-form').append(loader); var url = result.action.Redirect302; $.get(url, {__csrf:__CSRF, __collection:'products.Products|page.BaseHref|currency'}, function(res) { $('.autocomplete').remove(); var list = res.collection['products.Products']; if (list.length > 0){ if (list.length > 5) { var size = 5; } else { var size = list.length; } var baseHref = res.collection['page.BaseHref']; var currency = res.collection['currency']; var autocompleteList = '
 
'; var regPhrase = '(' + phrase.split(' ').join('|') + ')'; var reg = new RegExp(regPhrase, 'gi'); for (i = 0; i < size; i++) { var nameNoQuotes = list[i].Name.replace(/"/g, '"'); var name = list[i].Name.replace(reg, function(str) {return ''+str+''}); if(list[i].Price){ var price = list[i].Price.toPrice() + ' ' + currency; } else { var price = ''; } if(list[i].ImageId != -1){ var img = '' } else { var img = ''; } var product = '' + '
' + img + '
' + '
' + '
' + name + '
' + '
' + price + '
' + '
' + ''; autocompleteList += product; } autocompleteList += '
'; $('#search-form').append(autocompleteList); } $('.loader-for-autocomplete').remove(); }); } else if (result.action.Code != 100) { application.createMessage(result.action); } }); } else { $('.autocomplete').remove(); $('.loader-for-autocomplete').remove(); } },
Natomiast pod koniec pliku tuż pod takim kodem: $('body').on('blur', 'input', function () { application.uiCheckLabels(); }); Wklej taki kod: $('body').on('input', '#header-section #search-form.autocomplete-form [name="search"]', function (e) { if(timeOutAutocomplete!=null){ clearTimeout(timeOutAutocomplete); timeOutAutocomplete=null; } timeOutAutocomplete = setTimeout(function(){ self.autocomplete(e); }, 300); });
//variable to clearTimeout in autocomplete function var timeOutAutocomplete = null;$('body').on('blur', '#header-section #search-form.autocomplete-form [name="search"]', function () { setTimeout(function () { $('.autocomplete').remove(); $('.loader-for-autocomplete').remove(); }, 200); });
Na końcu pliku scss/main2.scss wklej kod: .autocomplete{ position: absolute; z-index: 101; width: 100%; @media only screen and (max-width: 1024px) { width: calc(100% - 240px); } @media only screen and (max-width: 768px) { width: calc(100% - 20px); } box-shadow: 0px 8px 10px 0px rgba(0, 0, 0, 0.2); .product{ display: block; padding: 10px; background: $bgColor; border: 1px solid $primaryColor; border-bottom: none; font-size: 16px; color: $bgDarkerColorFont; &:last-child{ border-bottom: 1px solid $primaryColor; } > div{ display: inline-block; vertical-align: top; margin-right: 10px; &:last-child{ margin-right: 0; } } .img{ width: 50px; height: 50px; position: relative; } img{ max-width: 100%; max-height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .names{ width: calc(100% - 50px - 10px); } .name{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .price{ margin-top: 5px; font-size: 12px; color: $primaryColor; opacity: 0.63; } } }
Wskazówka
Pamiętaj, że pliki scss i js należy zminifikować. O tym jak skompilować i zminifikować pliki scss i js dowiesz się z artykułu o kompilacji i minifikacji plików.

Bursztyn

W pliku page/header.html wyszukaj frazę SearchForm. Zmodyfikuj element, do którego należy to ID, aby wyglądał tak: Na końcu pliku js/init2.js wklej ten kod:
<class="lang:ruby decode:true ">$('header').on('input', '#SearchForm.autocomplete-form [name="search"]', function (e) { if(timeOutAutocomplete!=null){ clearTimeout(timeOutAutocomplete); timeOutAutocomplete=null; } timeOutAutocomplete = setTimeout(function(){ var phrase = $(e.currentTarget).val().replace(/[!@#$%^&*()+={}\[\]:;"'<,>.?\~`\\|]*/gi, ''); if (phrase != '' && phrase.length > 1) { $.get(location.pathname, { __action: 'Get/SearchAutocomplete', search: phrase }).then(function (d) { var a = d.action; if (!a.Result) CreateTooltip(a); else if (a.Redirect302){ var loader = ''; $('#SearchForm').append(loader); var url = a.Redirect302; $.get(url, {__csrf:__CSRF, __collection:'productlist.Products|page.BaseHref|currency'}, function(res) { $('.autocomplete').remove(); var list = res.collection['productlist.Products']; if (list.length > 0){ if (list.length > 5) { var size = 5; } else { var size = list.length; } var baseHref = res.collection['page.BaseHref']; var currency = res.collection['currency']; var autocompleteList = '
 
'; var regPhrase = '(' + phrase.split(' ').join('|') + ')'; var reg = new RegExp(regPhrase, 'gi'); for (i = 0; i < size; i++) { var nameNoQuotes = list[i].Name.replace(/"/g, '"'); var name = list[i].Name.replace(reg, function(str) {return ''+str+''}); if(list[i].Price){ var price = list[i].Price.toPrice() + ' ' + currency; } else { var price = ''; } if(list[i].ImageId != -1){ var img = '' } else { var img = ''; } var product = ' ' + '
' + img + '
' + '
' + '
' + name + '
' + '
' + price + '
' + '
' + ''; autocompleteList += product; } autocompleteList += '
'; $('#SearchForm').append(autocompleteList); } $('.loader-for-autocomplete').remove(); }); } }); } else { $('.autocomplete').remove(); $('.loader-for-autocomplete').remove(); } }, 300); }); //variable to clearTimeout in autocomplete function var timeOutAutocomplete = null; $('header').on('blur', '#SearchForm.autocomplete-form [name="search"]', function () { setTimeout(function () { $('.autocomplete').remove(); $('.loader-for-autocomplete').remove(); }, 200); });
Na końcu pliku scss/main2.scss wklej ten kod:
<class="lang:ruby decode:true ">.autocomplete{ position: absolute; top: 43px; left: 0; z-index: 101; width: 100%; box-shadow: 0px 8px 10px 0px rgba(0, 0, 0, 0.2); .product{ display: block; padding: 10px; background: $bgColor; border: 1px solid $primaryColor; border-bottom: none; font-size: 14px; color: $secondaryColorFont; transition: all ease 300ms; &:last-child{ border-bottom: 1px solid $primaryColor; } > div{ display: inline-block; vertical-align: top; margin-right: 10px; &:last-child{ margin-right: 0; } } .img{ width: 50px; height: 50px; position: relative; } img{ max-width: 100%; max-height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .names{ width: calc(100% - 50px - 10px); } .name{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .price{ margin-top: 5px; font-size: 12px; color: $primaryColor; opacity: 0.63; transition: all ease 300ms; } &:hover{ background: $primaryColor; color: $primaryColorFont; .price{ color: $primaryColorFont; opacity: 1; } } } }
Wskazówka
Pamiętaj, że pliki scss i js należy zminifikować. O tym jak skompilować i zminifikować pliki scss i js dowiesz się z artykułu o kompilacji i minifikacji plików.

Opal

W pliku page/header.html wyszukaj frazę SearchForm. Zmodyfikuj element, do którego należy to ID, aby wyglądał tak: Na końcu pliku js/init2.js wklej ten kod:
<class="lang:ruby decode:true ">$('header').on('input', '#SearchForm.autocomplete-form [name="search"]', function (e) { if(timeOutAutocomplete!=null){ clearTimeout(timeOutAutocomplete); timeOutAutocomplete=null; } timeOutAutocomplete = setTimeout(function(){ var phrase = $(e.currentTarget).val().replace(/[!@#$%^&*()+={}\[\]:;"'<,>.?\~`\\|]*/gi, ''); if (phrase != '' && phrase.length > 1) { $.get(location.pathname, { __action: 'Get/SearchAutocomplete', search: phrase }).then(function (d) { var a = d.action; if (!a.Result) CreateTooltip(a); else if (a.Redirect302){ var loader = ''; $('#SearchForm').append(loader); var url = a.Redirect302; $.get(url, {__csrf:__CSRF, __collection:'productlist.Products|page.BaseHref|currency|config.Products.ShowCode'}, function(res) { $('.autocomplete').remove(); var list = res.collection['productlist.Products']; var showCode = res.collection['config.Products.ShowCode']; if (list.length > 0){ if (list.length > 5) { var size = 5; } else { var size = list.length; } var baseHref = res.collection['page.BaseHref']; var currency = res.collection['currency']; var input = $('#SearchForm').find('[name=search]'); var width = input.width(); var top = input.offset().top + input.height() - 16; var autocompleteList = '
 
'; var regPhrase = '(' + phrase.split(' ').join('|') + ')'; var reg = new RegExp(regPhrase, 'gi'); for (i = 0; i < size; i++) { var nameNoQuotes = list[i].Name.replace(/"/g, '"'); var name = list[i].Name.replace(reg, function(str) {return ''+str+''}); if(showCode){ var code = list[i].Code.replace(reg, function(str) {return ''+str+''}); } else { var code = ''; } if(list[i].Price){ var price = list[i].Price.toPrice() + ' ' + currency; } else { var price = ''; } if(list[i].ImageId != -1){ var img = '' } else { var img = ''; } var product = ' ' + '
' + img + '
' + '
' + '
' + name + '
' + '
' + code + '
' + '
' + '
' + price + '
' + ''; autocompleteList += product; } autocompleteList += '
'; $('#SearchForm').parent().append(autocompleteList); } $('.loader-for-autocomplete').remove(); }); } }); } else { $('.autocomplete').remove(); $('.loader-for-autocomplete').remove(); } }, 300); }); //variable to clearTimeout in autocomplete function var timeOutAutocomplete = null; $('header').on('blur', '#SearchForm.autocomplete-form [name="search"]', function () { setTimeout(function () { $('.autocomplete').remove(); $('.loader-for-autocomplete').remove(); }, 200); });
Na końcu pliku scss/main2.scss wklej ten kod:
<class="lang:ruby decode:true ">.autocomplete{ position: absolute; left: calc(50% - 20px); transform: translateX(-50%); z-index: 1000; box-shadow: 0px 8px 10px 0px rgba(0, 0, 0, 0.2); .product{ display: block; padding: 10px; background: $bgColor; border: 1px solid $primaryColor; border-bottom: none; font-size: 16px; color: $secondaryColorFont; transition: all 300ms ease; &:last-child{ border-bottom: 1px solid $primaryColor; } > div{ display: inline-block; vertical-align: top; margin-right: 10px; &:last-child{ width: 100px; margin-right: 0; text-align: right; } } .img{ width: 50px; height: 50px; position: relative; } img{ max-width: 100%; max-height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .names{ width: calc(100% - 50px - 100px - 20px); } .name{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .code{ font-size: 12px; opacity: 0.63; } &:hover{ background: $primaryColor; color: $primaryColorFont; } } }
Wskazówka
Pamiętaj, że pliki scss i js należy zminifikować. O tym jak skompilować i zminifikować pliki scss i js dowiesz się z artykułu o kompilacji i minifikacji plików.

Obsługa szczegółów zamówienia dla klienta niezalogowanego

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

Obsługa szczegółów zamówienia dla klienta niezalogowanego

W tym artykule dowiesz się jak zmodyfikować szablon, aby klienci niezalogowani mogli w profilu klienta zobaczyć szczegóły zamówienia do którego posiadają link.

Szafir

W pliku customer-profile.html w pierwszym warunku dopisz and customer-profile.Order == null tak żeby warunek wyglądał w ten sposób: {% if customer.Authenticated == false and config.DefinedPages.CustomerProfile.Id == page.PageId and customer-profile.Order == null -%} W pliku customer-profile/orders/order-details.html wyszukaj frazę {{ page.Url }}?{{ pageQueryName }}. Będzie to część atrybutu przypisanego do przycisku powrotu do listy zamówień. Ten przycisk trzeba uwarunkować, aby zamiast niego pojawiał się link prowadzący do strony głównej sklepu. Ostatecznie powinno to wyglądać tak jak poniższy kod: {% if customer.Authenticated -%} {% else -%} {{ translations.BackToShopping }} {% endif -%} Pozostając dalej w tym samym pliku (customer-profile/orders/order-details.html) wyszukaj frazę Order/Cancel. Jest to nazwa jednej z interesujących nas akcji. Kawałek dalej znajdują się pozostałe dwie (Order/Accept i Order/RestorePayment). Pod każdą z nich wklej: Nadal w tym samym pliku (customer-profile/orders/order-details.html) wyszukaj frazę copy-to-cart-lq. Jest to klasa przycisku odpowiedzialnego za kopiowanie zamówienia do koszyka. Trzeba w nim dodać atrybut data-hash="{{ order.Hash }}" tak, aby ostatecznie przycisk wyglądał następująco: Następnie w pliku js/init-ui2.js znajdź funkcję copyToCart i zmodyfikuj jej początek, aby wyglądała tak: var id = $(e.currentTarget).data('id'); var hash = $(e.currentTarget).data('hash'); var data = { orderId: id, hash: hash, __csrf: __CSRF, __action: 'Order/Copy' };
Wskazówka
Pamiętaj, że pliki js należy zminifikować. O tym jak skompilować i zminifikować pliki js dowiesz się z artykułu o kompilacji i minifikacji plików.

Bursztyn lub Opal

W pliku customerprofile.html podmień warunek, aby wyglądał tak: {% if customer.Authenticated and page.PageId == config.DefinedPages.CustomerProfile.Id %}
{% include 'customer/profile.html' %}
{% elseif customer.Authenticated == false and page.PageId == config.DefinedPages.CustomerProfile.Id and customerprofile.Order != null %}
{% include 'customer/profile.html' %}
{% else %}
{% include 'customer/login.html' %}
{% endif %} W pliku customer/profile-orders.html wyszukaj frazę Order/RestorePayment. Jest to nazwa jednej z interesujących nas akcji. Kawałek dalej znajdują się pozostałe dwie (Order/Cancel i Order/Accept). Pod każdą z nich wklej: Nadal w tym samym pliku (customer/profile-orders.html) wyszukaj frazę copy-to-cart. Jest to klasa przycisku odpowiedzialnego za kopiowanie zamówienia do koszyka. Trzeba go zmodyfikować tak, aby wyglądał następująco: Następnie w pliku js/profile.js znajdź funkcję copyToCart i zmodyfikuj jej początek, aby wyglądała tak: var id = $(e.currentTarget).data('id'); var hash = $(e.currentTarget).data('hash'); var newLocation = $(e.currentTarget).data('url'); var added = $(e.currentTarget).data('added'); var copy = $(e.currentTarget).data('copy'); var notCopied = $(e.currentTarget).data('not-copied'); var data = [ { name: '__action', value: 'Order/Copy' }, { name: 'orderId', value: id }, { name: 'hash', value: hash }, { name: '__csrf', value: __CSRF } ];
Wskazówka
Pamiętaj, że pliki js należy zminifikować. O tym jak skompilować i zminifikować pliki js dowiesz się z artykułu o kompilacji i minifikacji plików.

Agat

W pliku customer-profile.html podmień warunek, aby wyglądał tak: {% if page.PageId == config.DefinedPages.CustomerProfile.Id and customer-profile.Order != null %} {% include 'partials/customer/order-details.html' -%} {% elseif customer.Authenticated and page.PageId == config.DefinedPages.CustomerProfile.Id %} W pliku partials/customer/order-details.html wyszukaj frazę Order/Accept. Jest to nazwa jednej z interesujących nas akcji. Kawałek dalej znajdują się pozostałe dwie (Order/RestorePayment i Order/Cancel). Pod każdą z nich wklej: Będąc przy akcji Order/Cancel dodaj warunek do inputa z templatką tak, aby wyglądał następująco: {% if customer.Authenticated == false and page.PageId == config.DefinedPages.CustomerProfile.Id and customer-profile.Order != null -%} {% else -%} {% endif -%} Nadal będąc przy tej akcji (Order/Cancel) zmodyfikuj przycisk odpowiadający za anulowanie zamówienia tak, aby wyglądał jak tu: Pozostając w tym samym pliku (partials/customer/order-details.html) wyszukaj frazę copy-to-cart. Jest to klasa przycisku odpowiedzialnego za kopiowanie zamówienia do koszyka. Trzeba w nim dodać atrybut data-hash="{{ order.Hash }}" tak, aby ostatecznie przycisk wyglądał następująco: Następnie w pliku js/init2.js znajdź funkcję copyToCart i zmodyfikuj jej początek, aby wyglądała tak: var copyButton = $(e.currentTarget); var copySection = copyButton.parents('.copy-section'); var id = copyButton.data('id'); var hash = copyButton.data('hash'); var data = [ { name: '__action', value: 'Order/Copy' }, { name: 'orderId', value: id }, { name: 'hash', value: hash }, { name: '__csrf', value: __CSRF } ]; W pliku js/init.js znajdź funkcję cancelOrder i podmień w niej posta, żeby wyglądał tak: $.post(url, data, function (result) { if (result.action.Result) { if($(e.currentTarget).hasClass('not-authenticated')){ application.createMessage(message); $('#main-section').html(result.template); application.loadImages(); } else { window.templateChanged['under-execution'] = true; application.createMessage(message); if (parent.index() != -1) { $('.under-execution').eq(1).replaceWith(result.template); } application.uiPreventScrolling(); } } else if (result.action.Code != 100) { application.createMessage(result.action); } }); W pliku partials/customer/order-details-products.html do kontenera z klasą cart-items dodaj warunek, tak aby ostatecznie kontener wyglądał następująco:
Na końcu pliku scss/main2.scss dodaj taki kod: @media only screen and (min-width: 481px) { .cart-items.not-authenticated .cart-item { width: calc(50% - 40px); display: inline-block; } } @media only screen and (min-width: 769px) { .cart-items.not-authenticated .cart-item { width: calc(50% - 25px); } } @media only screen and (min-width: 1025px) { .cart-items.not-authenticated { width: 66%; } } Na końcu pliku scss/mobile2.scss dodaj taki kod: .cart-items.not-authenticated{ text-align: center; margin: 20px auto; }
Wskazówka
Pamiętaj, że pliki js i scss należy zminifikować. O tym jak skompilować i zminifikować pliki js i scss dowiesz się z artykułu o kompilacji i minifikacji plików.

Obsługa funkcji przypomnienia o wystawieniu opinii za zakupiony towar

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

Obsługa funkcji przypomnienia o wystawieniu opinii za zakupiony towar

W wersji sklepu oznaczonej numerkiem 2019.5 w Panelu Administracyjnym doszła funkcja przypomnienia o wystawieniu opinii za zakupiony towar. Ta funkcja będzie wysyłać maila z owym przypomnieniem. W tym mailu będzie również link do szczegółów danego towaru. W tym artykule dowiesz się jak zmodyfikować swój szablon, aby po kliknięciu w ten link otworzyła się strona ze szczegółami danego towaru, a w niej był już otwarty i gotowy do uzupełnienia formularz wystawienia opinii.

Agat

W pliku js/init.js znajdź funkcję addReview i w niej zaraz pod zmienną validate dodaj taki kod: if(window.location.hash.includes('#rate')){ var hash = window.location.hash.split('&')[1].split('=')[1]; data.push({ name: 'orderHash', value: hash }); } A następnie w pliku js/init2.js na samym końcu dodaj taki kod: function autoOpenReviewsForm(){ $('.new-review-label').trigger('click'); $('html, body').animate({ scrollTop: $('.new-review-label').offset().top - 81 }, 500); } $(document).ready(function () { if(window.location.hash.includes('#rate')){ autoOpenReviewsForm(); } });
Wskazówka
Z tego artykułu dowiesz się jak zminifikować swoje pliki js

Bursztyn

W pliku js/init.js wyszukaj frazę #opinion-form .primary-action. Będzie to trigger funkcji do wystawiania opinii. W tej funkcji pod zmienną data dodaj taki kod: if(window.location.hash.includes('#rate')){ var hash = window.location.hash.split('&')[1].split('=')[1]; data.push({ name: 'orderHash', value: hash }); } A następnie w pliku js/details.js na samym końcu dodaj taki kod: $(document).ready(function () { if(window.location.hash.includes('#rate')){ $('#add-first-review').trigger('click'); } });
Wskazówka
Z tego artykułu dowiesz się jak zminifikować swoje pliki js

Opal

W pliku js/init.js wyszukaj frazę #opinion-form .primary-action. Będzie to trigger funkcji do wystawiania opinii. W tej funkcji pod zmienną data dodaj taki kod: if(window.location.hash.includes('#rate')){ var hash = window.location.hash.split('&')[1].split('=')[1]; data.push({ name: 'orderHash', value: hash }); } A następnie w pliku js/details.js na samym końcu dodaj taki kod: $(document).ready(function () { if(window.location.hash.includes('#rate')){ $('#main-rating > .glyphicon').trigger('click'); } });
Wskazówka
Z tego artykułu dowiesz się jak zminifikować swoje pliki js

Obsługa załączników do zamówienia

Obsługa załączników do zamówienia

W tym artykule dowiesz się jak zmodyfikować swój szablon, aby było możliwe dodanie załączników do składanego zamówienia.
Wskazówka
W tym artykule trzeba będzie wprowadzać zmiany w plikach js oraz scss. Z tego artykułu dowiesz się jak je kompilować i minifikować.

Szafir

Na potrzeby tej funkcji zdecydowaliśmy się na drobne zmiany w wyglądzie elementów związanych z dodawaniem notatki do zamówienia. Poniższe fragmenty kodu uwzględniają owe zmiany. Na początku dodaj w swoim szablonie nowe frazy w zakładce Tłumaczenia: AddAttachement - Dodaj załącznik AddMessage - Dodaj wiadomość YourMessage - Twoja wiadomość AttachementsNotAdded - Nie dodano wszystkich załączników Attachements - Załączniki W pliku _layout.html w elemencie head znajduje się skrypt, który dodaje do zmiennej __translations różne tłumaczenia. Dodaj tam taką linijkę: AttachementsNotAdded: "{{ translations.AttachementsNotAdded | H }}", Jeśli miałeś w swoim szablonie funkcję do importowania koszyka z pliku to w pliku common/navigation-bars/main-navigation-bar-partial.html wyszukaj frazę id="file", a następnie w tym inpucie, w którym występuje to ID dodaj klasę import-cart-input-lq. Następnie w pliku js/init.js wyszukaj frazę [name="file"] i zamień ją na .import-cart-input-lq. W pliku order/cart.html wyszukaj frazę note-lq. Jest to klasa kontenera, w którym znajdują się wszystkie elementy związane z dodawaniem notatki do zamówienia. Wytnij cały ten kontener czyli taki kod: {% if usr.Authenticated -%}
{% if order.Note == '' -%} {% include 'order/note-partials/note-form.html' -%} {% else -%} {% include 'order/note-partials/note-presentation.html' -%} {% endif -%}
{% endif -%}
i wklej go pod taką linijką: {% include 'common/order-summary.html' -%} Następnie trzeba w całości podmienić zawartość plików order/note-partials/note-form.html oraz order/note-partials/note-presentation.html. Poniżej właściwa zawartość obu plików: order/note-partials/note-form.html {% assign isExpanded = include -%}
{% if config.Orders.AttachmentsEnabled -%}
{% endif -%} {% if isExpanded == true or isExpanded == 'true' -%} {% else -%} {% endif -%} {% if config.Orders.AttachmentsEnabled -%}
{% endif -%}
{% if config.Orders.AttachmentsEnabled -%}
{% include 'order/attachements.html' -%}
{% endif -%} order/note-partials/note-presentation.html {% if config.Orders.AttachmentsEnabled -%}
{% endif -%} {% if config.Orders.AttachmentsEnabled -%}
{% endif -%}
{{order.Note}}
{% if config.Orders.AttachmentsEnabled -%}
{% include 'order/attachements.html' -%}
{% endif -%}
Kolejnym krokiem będzie dodanie nowego pliku HTML o nazwie attachements. Należy go dodać do folderu order. Poniżej zawartość tego pliku: order/attachements.html {% for file in order.Attachments -%} {% assign type = file.Name | Split: '.' | Last -%} {% if type == "jfif" or type == "jpe" or type == "jpeg" or type == "jpg" -%} {% assign icon = 'ti-image' -%} {% elseif type == "csv" or type == "txt" -%} {% assign icon = 'ti-receipt' -%} {% elseif type == "docx" or type == "odt" -%} {% assign icon = 'ti-write' -%} {% elseif type == "xlsx" or type == "ods" -%} {% assign icon = 'ti-bar-chart' -%} {% elseif type == "pdf" -%} {% assign icon = 'ti-agenda' -%} {% else -%} {% assign icon = 'ti-file' -%} {% endif -%}
{{ file.Name }}
{% endfor -%}
Następnie w pliku customer-profile/orders/order-details.html wyszukaj frazę {% if order.Note != "" -%}. W tym warunku znajdują się dodane notatki do zamówienia. Pod tym warunkiem wklej poniższy kod: {% if config.Orders.AttachmentsEnabled -%}
{% for file in order.Attachments -%} {% assign type = file.Name | Split: '.' | Last -%} {% if type == "jfif" or type == "jpe" or type == "jpeg" or type == "jpg" -%} {% assign icon = 'ti-image' -%} {% elseif type == "csv" or type == "txt" -%} {% assign icon = 'ti-receipt' -%} {% elseif type == "docx" or type == "odt" -%} {% assign icon = 'ti-write' -%} {% elseif type == "xlsx" or type == "ods" -%} {% assign icon = 'ti-bar-chart' -%} {% elseif type == "pdf" -%} {% assign icon = 'ti-agenda' -%} {% else -%} {% assign icon = 'ti-file' -%} {% endif -%} {% endfor -%}
{% endif -%}
Na samym końcu pliku js/init-ui2.js dodaj poniższy kod: function processFilesList(fileInput, fileList) { var file = fileList.pop(); if (file) { var fd = new FormData(); fd.append('__CSRF',__CSRF); fd.append('__action','Order/AttachmentAdd'); fd.append('__template','order/attachements.html'); fd.append('file', file); $.ajax({data: fd, processData: false, contentType: false, type: 'POST', success: function(data){ fileInput.val(''); if(data.action.Result){ $('.attachements-lq').html(data.template); } else { if(window.AttachementsNotAdded == undefined){ window.AttachementsNotAdded = []; } var attachement = ' '+file.name+': '+data.action.Message+' '; window.AttachementsNotAdded.push(attachement); } processFilesList(fileInput, fileList); } }); } else { $('.during-ajax-modal-lq').addClass('hidden-lq'); fileInput.removeClass('prevent-double-change-lq'); if(window.AttachementsNotAdded){ var popup = ' '+ ' '+ ' '+ __translations.AttachementsNotAdded+ ''+ ' '+ window.AttachementsNotAdded.join('')+ ' '+ ' '; $('body').append(popup); $('body').addClass('modal-opened-ui'); window.AttachementsNotAdded = undefined; } } }; function addAttachementInOrder(e) { $('.during-ajax-modal-lq').removeClass('hidden-lq'); var fileInput = $(e.currentTarget); fileInput.addClass('prevent-double-change-lq'); var fileList = Object.values(e.currentTarget.files); processFilesList(fileInput, fileList); }; $('body').on('change', '.add-attachement-in-order-lq:not(.prevent-double-change-lq)', function (e) { addAttachementInOrder(e); }); function removeAttachementInOrder(e) { $.post('', {__csrf: __CSRF, __action: 'Order/AttachmentDelete', id: $(e.currentTarget).data('id')}, function(result) { $(e.currentTarget).parents('.file-container-lq').remove(); }); }; $('body').on('click', '.remove-attachement-in-order-lq', function (e) { removeAttachementInOrder(e); }); W pliku scss/globals/_globals-m.scss wyszukaj frazę &.confirm-in-cart-ui. Zmień tam top: 93px na top: 70px. Usuń też right: 20px. W pliku scss/globals/_globals2.scss wyszukaj frazę .add-note-in-cart-ui. Dopisz do niej po spacji w tej samej linijce .ti-notepad a następnie usuń margin-top: -10px i dodaj font-size: 20px. W pliku scss/globals/partials/_order.scss wyszukaj frazę .note-ui. Nadpisz wszystkie style znajdujące się w tej klasie poniższym kodem: margin-top: 20px; border-top: 1px solid $lightBorderColor; border-bottom: 1px solid $lightBorderColor; padding: 15px; .half-ui{ padding: 10px; float: left; &:first-child{ border-right: 1px solid $lightBorderColor; } } button { padding: 0; line-height: 1; } .note-in-order-ui{ margin-top: 20px; position: relative; .edit-ui{ margin-left: 15px; vertical-align: baseline; } } .label-note-in-cart-ui{ color: $labelsColor; cursor: default; } .form-to-confirm-in-cart-ui{ resize: none; } .confirm-in-cart-ui{ top: -20px; } .file-container-ui{ background: $bgColor; border: 1px solid $lightBorderColor; border-radius: 20px; margin: 0 10px 10px 0; padding: 5px 15px 10px; display: inline-block; &:first-child{ margin-top: 20px; } .icon-ui{ font-size: 20px; vertical-align: middle; } .remove-attachement-in-order-ui{ vertical-align: middle; margin-left: 10px; cursor: pointer !important; } }

Dodawanie wyboru działu na formularzu kontaktowym

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.
Ta instrukcja przeznaczona jest dla standardowych szablonów Comarch starszych niż wersja 2019.6. Jeśli posiadasz w sklepie kilka adresów do kontaktu, możesz umożliwić swoim klientom wybór jednego z nich na formularzu kontaktowym. Aby to zrobić, skorzystaj z poniższych instrukcji. Poszczególne pliki, które należy zmodyfikować znajdują się w Panelu administracyjnym w sekcji: Wygląd sklepu/ Ustawienia/ Więcej/ Edytuj ustawienia zaawansowane następnie Więcej/ Edytuj HTML.
Wskazówka
Pamiętaj, aby wprowadzone zmiany w szablonie Zapisać i Opublikować.

1. Bursztyn i Opal

1.1. W pliku contact.html odnajdź element z id "ContactSendForm" i powyżej pola e-mail dodaj poniższy kod: {% if config.Contact.Contacts[0] -%} <select name="contactId" class="department" required> {% for contact in config.Contact.Contacts -%} <option value="{{ contact.Id }}">{{ contact.Name }}</option> {% endfor -%} </select> {% endif -%} 1.2. Aby wygląd nowego pola był spójny z resztą formularza, w pliku scss/contact.scss odnajdź selektor ".contact-info .contact-form input, .contact-info .contact-form textarea" i zamień go na: .contact-info .contact-form input, .contact-info .contact-form textarea, .contact-info .contact-form select 1.3. Skompiluj i zminifikuj pliki scss.
Wskazówka
O tym jak skompilować i zminifikować pliki scss dowiesz się z artykułu o kompilacji i minifikacji plików.
1.4. Aby walidacja działała poprawnie, w pliku js/init.js, odnajdź funkcję resetForm(form) i podmień ją na: function resetForm(form) { var inputs = form.find('input:not([disabled]):not([type=hidden]), select:not([disabled]):not(".department"), textarea:not([disabled])'); inputs.each(function () { $(this).val(''); }); $('.loader-icon').remove(); $('.send-contact-form').removeClass('posting'); } 1.5. Zminifikuj pliki js.
Wskazówka
O tym jak zminifikować pliki js dowiesz się z artykułu o kompilacji i minifikacji plików.
 

2. Agat

2.1. W pliku contact.html odnajdź element z id "contact-form" i powyżej pola e-mail dodaj poniższy kod: {% if config.Contact.Contacts[0] -%} <div class="input-group"> <span class="required-fields-info">{{ translations.Department }} *</span> <select name="contactId" required> {% for contact in config.Contact.Contacts -%} <option value="{{ contact.Id }}">{{ contact.Name }}</option> {% endfor -%} </select> </div> {% endif -%} 2.2. Aby wygląd nowego pola był spójny z resztą formularza, w pliku scss/mobile1.scss odnajdź selektor "input, textarea" i zamień go na: input, textarea, .contact-form-popup select 2.3. Skompiluj i zminifikuj pliki scss.
Wskazówka
O tym jak skompilować i zminifikować pliki scss dowiesz się z artykułu o kompilacji i minifikacji plików.
2.4. Dodaj tłumaczenie dla frazy Department [Dział] Tłumaczenie należy dodać w Panelu administracyjnym: Wygląd sklepu/ Ustawienia na zakładce Tłumaczenia.

3. Szafir

3.1. W pliku common/navigation-bars/navigation-contact.html odnajdź element z klasą "form-lq form-ui" i wewnątrz niego dodaj poniższy kod: {% if config.Contact.Contacts[0] -%} <div> <label>{{ translations.Department }}<span class='required-ui'>*</span></label> <span class="select-background-ui w100-ui"> <select name="contactId" required> {% for contact in config.Contact.Contacts -%} <option value="{{ contact.Id }}">{{ contact.Name }}</option> {% endfor -%} </select> </span> <i class="ti-angle-down select-arrow-ui"></i> </div> {% endif -%} 3.2. Dodaj tłumaczenie dla frazy Department [Dział] Tłumaczenie należy dodać w Panelu administracyjnym: Wygląd sklepu/ Ustawienia na zakładce Tłumaczenia. 3.3. Aby walidacja działała poprawnie, w pliku js/init-ui2.js, odnajdź funkcję sendContactForm(e) i podmień ją na: function sendContactForm(e) { if(app.validationBeforePost(e) != 'error'){ $('.during-ajax-modal-lq').removeClass('hidden-lq'); var form = $(e.currentTarget).parents('.form-lq'); var inputs = form.find('input, textarea, select'); var data = inputs.serializeArray(); data.push({name: "__csrf", value: __CSRF}); $.post('', data, function(result) { $('.during-ajax-modal-lq').addClass('hidden-lq'); if (result.action.Result) { var message = form.data('success'); app.temporaryMessage(form, message); $.each(inputs, function (index, value) { if ($(value).attr('name') !== 'contactId' && $(value).attr('name') !== '__action') { $(value).val(''); } }); form.find('.message-lq').remove(); } else { var message = '<p>' + result.action.Message + '</p>'; if(result.action.Code != 100){ app.message(form, message); } } }); $(e.currentTarget).removeClass('error-lq'); } else { $(e.currentTarget).addClass('error-lq'); } } 3.4. Zminifikuj pliki js.
Wskazówka
O tym jak zminifikować pliki js dowiesz się z artykułu o kompilacji i minifikacji plików.

Obsługa cross-sellingu po złożeniu zamówienia

Obsługa cross-sellingu po złożeniu zamówienia

W tym artykule dowiesz się jak zmodyfikować swój szablon, aby po złożeniu zamówienia wyświetliła się sekcja z Cross-Sellingiem.
Wskazówka
W tym artykule trzeba będzie wprowadzać zmiany w plikach js oraz scss. Z tego artykułu dowiesz się jak je kompilować i minifikować.

Szafir

W pliku order/thx.html wyszukaj frazę date-format.html. Pod linijką z tą frazą będzie się znajdował warunek, który trzeba zastąpić poniższym kodem: {% if order.SelectedDelivery.Payment.MethodType == 2 and order.PlacedOrder.ExternalPayment.Success == false -%} {% assign externalPaymentError = true -%} {% endif -%} {% if externalPaymentError or crossSellingSize > 0 -%} Dalej w tym samym pliku (order/thx.html) wyszukaj frazę lastpagescripts.html. Nad linijką z tą frazą będzie się znajdowało zamknięcie warunku, które trzeba zastąpić poniższym kodem: {% elseif crossSellingSize > 0 -%}{{ translations.CrossSellingInfo }} {% for product in cross-selling.Products -%} {{ product | Img:'compact' }} {{ product | Img:'large' }} {{ product.Name }} {% unless customer.HidePrices -%} {% if product.Price == null or product.AskForPrice -%} {{ translations.AskForPrice }} {% else -%} product.Price -%} class="price-container-ui" {% endif -%}> {{ product.Price | ToPrice }} {{ currency }} {% if customer.Cart.SubtotalPrices -%} {{ translations.Netto | Downcase }} {% else -%} {{ translations.Brutto | Downcase }} {% endif -%} {% if product.PreviousPrice > product.Price -%} {{ product.PreviousPrice | ToPrice }} {{ currency }} {% if customer.Cart.SubtotalPrices -%} {{ translations.Netto | Downcase }} {% else -%} {{ translations.Brutto | Downcase }} {% endif -%} {% endif -%} {% endif -%} {% endunless -%}{% endfor -%} Następnie w pliku js/init-ui1.js wyszukaj frazę 1019. Będzie to linijka z warunkiem dotyczącym kodu błędu. Pod tym warunkiem wklej poniższy kod: if ($('.crossselling-slider-in-cart-lq').length) { window.UIFeatures.initSlider('.crossselling-slider-in-cart-lq', { dots: true, slidesToShow: 3, slidesToScroll: 3, arrows: false, infinite: false, responsive: [{ breakpoint: 1279, settings: { slidesToShow: 1.7, slidesToScroll: 1, arrows: false, infinite: false, dots: false } }] }); $('.crossselling-slider-in-cart-lq img').each(function () { var src = $(this).data('src'); $(this).attr('src', src); }) } Na samym końcu pliku js/init-ui2.js wklej poniższy kod: $(document).ready(function () { if ($('.crossselling-slider-in-cart-lq').length) { UIFeatures.initSlider('.crossselling-slider-in-cart-lq', { dots: true, slidesToShow: 3, slidesToScroll: 3, arrows: false, infinite: false, responsive: [{ breakpoint: 1279, settings: { slidesToShow: 1.7, slidesToScroll: 1, arrows: false, infinite: false, dots: false } }] }); $('.crossselling-slider-in-cart-lq img').each(function () { var src = $(this).data('src'); $(this).attr('src', src); }) } }); Na końcu pliku scss/globals/_globals2.scss wklej poniższy kod: .cross-selling-ui{ padding: 40px 0; .minibox-product-container-ui{ padding: 10px; } .minibox-product-ui{ margin: 0; height: 300px; width: 100%; } }

Topaz

W Panelu Administratora przejdź do zakładki Tłumaczenia (Wygląd sklepu -> Ustawienia -> Tłumaczenia) i dodaj tam frazę CrossSellingInfo - Inni kupili również. Następnie przejdź do zakładki Obiekty (Wygląd sklepu -> Ustawienia -> Trzykropek w prawym górnym rogu -> Edytuj ustawienia zaawansowane -> Obiekty) i dodaj tam nowy obiekt typu Nowości i Promocje o nazwie cross-selling. Po jego dodaniu wejdź w jego ustawienia i wybierz Typ Cross-Selling. Następnie pozostając w tych ustawieniach przejdź na zakładkę Strony i zaznacz tam check-box Zamówienie. Zapisz to wszystko kliknięciem w dyskietkę w prawym górnym rogu. W pliku partials/product-item.html wyszukaj frazę config.Products.ShowCode, a następnie usuń warunek (wraz z jego zawartością), którego częścią jest ta fraza. Następnie w pliku staticElements/cart/cart.html wyszukaj frazę cart--step-five. Zastąp kontener z tą klasą (wraz z jego zawartością) poniższym kodem:
<class="cart cart--step-five {% if crossSellingSize ><p> 0 -%} with-crossselling {% endif -%}"> <class="cart--step-five-content-container">{{translations.Thx}}, {{ translations.Crt_Order }} nr {{ cart.PlacedOrder.Id }} {{translations.Crt_BeenPlaced}}{{ translations.Crt_DetailsOnMail }} {% if cart.NotDeterminedDeliveryCost or cart.SelectedDelivery.NotDeterminedDeliveryCost %} {{ translations.Crt_NotDeterminedDeliveryCostInfo }}. {% endif -%} {{ translations.Crt_CheckSPAM }}{{ translations.Crt_BackToShop }} {% if cart.SelectedDelivery.Payment.MethodType == 2 and cart.PlacedOrder.ExternalPayment.Success == false -%} <class="cart cart--unfinished-payment">

{{ translations.Crt_RestoreTitle }}

{{ translations.Crt_RestoreText }}

<class="shoppingCart__form--restore inputs-container-js"> {{ translations.IPay }} {{ translations.Crt_BackToShop }} {% endif -%} {% if crossSellingSize > 0 -%} <class="cart--step-five-crossselling-container"> {{ translations.CrossSellingInfo }} <class="cart--step-five-crossselling-container"> {% include 'partials/product-item.html' with product -%} <class="cart--step-five-crossselling-container">{% assign products = cross-selling.Products | Randomize -%} {% for product in products -%} {% unless product.Url == null and product.Url == '' -%} {% endunless -%} {% endfor -%}{% endif -%}
Teraz w pliku js/layout1.js (lub layout0.js jeśli nie ma layout1.js, lub layout.js jeśli nie ma dwóch poprzednich) wyszukaj zmienną var cartFunctions. W niej należy znaleźć funkcję init (zaraz na samym początku) i dodać na jej końcu linijkę this.initializeCrossSellingSlider();. Następnie trzeba wyszukać linijkę z frazą $('.activeCart').removeClass('activeCart'); (będzie w funkcji placeOrder) i pod nią dodać cartFunctions.initializeCrossSellingSlider();. Teraz trzeba dodać poniższy kod pod funkcją placeOrder: initializeCrossSellingSlider: function () { $('.crossselling-slider').slick({ infinite: false, slidesToShow: 3, slidesToScroll: 1, responsive: [ { breakpoint: 1441, settings: { slidesToShow: 2 } }, { breakpoint: 769, settings: { slidesToShow: 1 } } ] }); }, Następnie w pliku css/layout.css dodaj poniższy kod: .cart--step-five.with-crossselling{display:block}.cart--step-five a{display:block;width:calc(100% - 50px);max-width:387px;margin-bottom:35px}.crossselling-slider{padding:0}.crossselling-slider .slick-track{margin:0 -20px}.crossselling-slider .slick-prev,.crossselling-slider .slick-next{background:{{settings.sliderBgColor}}}.crossselling-slider .slick-prev:before,.crossselling-slider .slick-next:before{border:solid {{settings.sliderArrowColor}};border-width:0 1px 1px 0;display:inline-block;padding:3px;width:4px;height:4px;top:14px;content:" "}.crossselling-slider .slick-prev:hover,.crossselling-slider .slick-next:hover{background:{{settings.sliderHoverBgColor}}}.crossselling-slider .slick-prev:hover:before,.crossselling-slider .slick-next:hover:before{border-color:{{settings.sliderHoverArrowColor}}}.crossselling-slider .slick-prev{left:-40px}.crossselling-slider .slick-prev:before{left:16px;transform:rotate(135deg);-webkit-transform:rotate(135deg)}.crossselling-slider .slick-next{right:-40px}.crossselling-slider .slick-next:before{left:14px;transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}.crossselling-slider button.slick-prev.slick-arrow.slick-disabled,.crossselling-slider button.slick-arrow.slick-disabled{display:none !important} Teraz w pliku css/layout-m.css dodaj poniższy kod: .cart--step-five-crossselling-container{margin-top:60px}.crossselling-slider .slick-prev{left:0}.crossselling-slider .slick-next{right:0} Następnie w pliku css/layout-d.css dodaj poniższy kod: .cart.with-crossselling{display:block}.cart--step-five.with-crossselling .cart--step-five-content-container{width:30%;margin-right:9%;display:inline-block;vertical-align:top}.cart--step-five-crossselling-container{display:inline-block;width:60%;vertical-align:top}

Obsługa dodawania załączników do reklamacji i zwrotów

Obsługa dodawania załączników do reklamacji i zwrotów

W tym artykule dowiesz się jak zmodyfikować swój szablon, aby przy składaniu reklamacji i zwrotów było możliwe dołączenie załączników.
Wskazówka
Na podstawie tego artykułu trzeba będzie wprowadzać zmiany w plikach js oraz scss. Pamiętaj, że te pliki należy zminifikować. O tym jak skompilować i zminifikować pliki js oraz scss dowiesz się z artykułu o kompilacji i minifikacji plików.

Szafir

W pliku product/cart-product.html wyszukaj frazę note-ui. Nad linijką z tą frazą wklej poniższy kod:
{% if config.Complaints.AttachmentsEnabled -%}
<div>
<label class="add-attachement-label-ui" for="file"><i class="ti-clip"></i> {{ translations.AddAttachement }}</label> {% capture maxSize -%}{{config.Complaints.AttachmentMaxSize}}B{% endcapture -%} {% for i in (1..config.Complaints.AttachmentsMaxCount) -%}
<div class="input-file-container-ui"><input class="add-attachement-in-complaint-ui add-attachement-in-complaint-lq" accept="{{ config.Complaints.AttachmentExtensions }}" name="file" type="file" data-file-size="{{ config.Complaints.AttachmentMaxSize }}" data-size-exceeded="{{ translations.Com_FileSizeExceeded | Format: maxSize }}" data-invalid-file="{{ translations.Com_InvalidFile | Format: config.Complaints.AttachmentExtensions }}" /> <i class="ti-close clear-file-input-ui clear-file-input-lq hidden-lq"></i></div>
{% endfor -%}
</div>
{% endif -%}
  Następnie w pliku customer-profile/complaints/complaints.html wyszukaj frazę complaint.Response. Będzie to linijka z warunkiem. Pod tym warunkiem wklej poniższy kod:
{% assign complaintsSize = customer-profile.Complaint.Attachments | Size -%}
{% if config.Complaints.AttachmentsEnabled and complaintsSize &gt; 0 -%}</code>
<div class="attachements-ui remarks-ui">

{% for file in customer-profile.Complaint.Attachments -%} {% assign type = file.Name | Split: '.' | Last -%} {% if type == "jfif" or type == "jpe" or type == "jpeg" or type == "jpg" -%} {% assign icon = 'ti-image' -%} {% elseif type == "csv" or type == "txt" -%} {% assign icon = 'ti-receipt' -%} {% elseif type == "docx" or type == "odt" -%} {% assign icon = 'ti-write' -%} {% elseif type == "xlsx" or type == "ods" -%} {% assign icon = 'ti-bar-chart' -%} {% elseif type == "pdf" -%} {% assign icon = 'ti-agenda' -%} {% else -%} {% assign icon = 'ti-file' -%} {% endif -%}
<div class="file-container-ui file-container-lq"><a href="{{ file.Url }}"><i class="{{ icon }} icon-ui"></i> <span class="line-height-1-ui va-mid-ui">{{ file.Name }}</span></a></div>
{% endfor -%}

</div>
{% endif -%}
  Teraz w pliku js/init-ui2.js wyszukaj frazę sendComplaintSuccess(e). Będzie to funkcja, którą należy usunąć. Usuń również jej wywołanie, które jest tuż pod nią. Na samym końcu tego pliku (js/init-ui2.js) wklej poniższy kod:
function addAttachementInComplaint(e) {
window.attachementsInComplaint = [];
var filesArr = $(e.currentTarget).parents('.form-lq').find('.add-attachement-in-complaint-lq');
filesArr.each(function () {
if(this.files.length &gt; 0){
var maxSize = $(this).data('file-size');
if(this.files[0].size &gt; maxSize){
var message = $(this).data('size-exceeded');
var popup = '</code>
<div class="message-popup-background-ui errors-lq cancel-lq container-to-delete-lq" style="overflow: auto;">

'+ '
<div class="message-popup-ui box-ui after-adding-to-cart-popup-ui message-popup-on-background-lq" style="position: absolute; top: 0; transform: none; margin: 10% auto;">

'+ '
<div class="box-ui product-added-to-cart-ui" style="position: relative; padding: 20px;">'+ __translations.AttachementsNotAdded+ '<i class="ti-close cancel-lq" style="position: absolute; right: 20px; top: 20px; cursor: pointer;"></i>'+ '</div>
'+ '
<div style="padding: 20px;"><strong>'+this.files[0].name+'</strong>: '+message+'</div>
'+ '

</div>
'+ '

</div>
'; $('body').append(popup); $('body').addClass('modal-opened-ui'); $(this).val(''); } else { window.attachementsInComplaint.push(this.files[0]); $(this).next().removeClass('hidden-lq'); } } }); }; $('body').on('change', '.add-attachement-in-complaint-lq', function (e) { addAttachementInComplaint(e); }); function sendComplaint(e) { if(app.validationBeforePost(e) != 'error'){ var form = $(e.currentTarget).parents('.form-lq'); var dataFromHTML = form.find('input:not([disabled]), select:not([disabled]), textarea:not([disabled])').serializeArray(); var fileList = window.attachementsInComplaint; if(fileList != undefined){ var filesSize = fileList.length; } var fd = new FormData(); fd.append('__csrf', __CSRF); for(var i=0; i&lt;dataFromHTML.length; i++){ fd.append(dataFromHTML[i].name,dataFromHTML[i].value); } if (filesSize &gt; 0) { window.AttachementsErrors = 0; function addAttachementError(file, message) { if(window.AttachementsNotAdded == undefined){ window.AttachementsNotAdded = []; } var attachement = '
<div style="padding: 20px;"><strong>'+file.name+'</strong>: '+message+'</div>
'; window.AttachementsNotAdded.push(attachement); window.AttachementsErrors += 1; }; var input = form.find('[name=file]').eq(0); var extensions = input.attr('accept').split(', '); var fileSize = input.data('file-size'); for (var i=0; i&lt;filesSize; i++) { var file = fileList.pop(); if(file.size &lt; fileSize){ var extensionArr = file.name.split('.'); var extension = '.' + extensionArr[extensionArr.length - 1].toLowerCase(); var wrongExtension = true; for(var j=0; j&lt;extensions.length; j++){ if(extension == extensions[j]){ fd.append('file'+i, file); var wrongExtension = false; } } if(wrongExtension){ var message = input.data('invalid-file'); addAttachementError(file, message); } } else { var message = input.data('size-exceeded'); addAttachementError(file, message); } } if(window.AttachementsNotAdded){ var popup = '
<div class="message-popup-background-ui errors-lq cancel-lq container-to-delete-lq" style="overflow: auto;">

'+ '
<div class="message-popup-ui box-ui after-adding-to-cart-popup-ui message-popup-on-background-lq" style="position: absolute; top: 0; transform: none; margin: 10% auto;">

'+ '
<div class="box-ui product-added-to-cart-ui" style="position: relative; padding: 20px;">'+ __translations.AttachementsNotAdded+ '<i class="ti-close cancel-lq" style="position: absolute; right: 20px; top: 20px; cursor: pointer;"></i>'+ '</div>
'+ window.AttachementsNotAdded.join('')+ '

</div>
'+ '

</div>
'; $('body').append(popup); $('body').addClass('modal-opened-ui'); window.AttachementsNotAdded = undefined; window.AttachementsErrors = undefined; } } $.ajax({ data: fd, processData: false, contentType: false, type: 'POST', success: function (data) { $('.add-attachement-in-complaint-lq').val(''); if (data.action.Result) { form.parents('.add-complaint-form-lq').find('.success-message-lq').removeClass('hidden-lq'); form.addClass('hidden-lq'); } else { app.serverMessage(data, form, e); } } }); } }; $('body').on('click', '.send-complaint-lq', function(e) { sendComplaint(e); }); $('body').on('click', '.clear-file-input-lq', function(e) { var index = $(e.currentTarget).parent().index(); $(e.currentTarget).prev().val(''); window.attachementsInComplaint.splice(index - 1, 1); $(e.currentTarget).addClass('hidden-lq'); });
  W plikach scss/globals/_globals2.scss i scss/globals/_globals-m.scss znajdź linijkę z frazą .select-background-ui, input[type="date"]{ i zamień ją na .select-background-ui, input[type="date"], input[type="file"]{.

Topaz

W Panelu Administratora przejdź do zakładki Tłumaczenia (Wygląd sklepu/ Ustawienia/ Tłumaczenia) i dodaj tam trzy frazy:
  • ReportDetails – Szczegóły zgłoszenia,
  • ReportSuccessInfo – Na adres e-mail zostało wysłane potwierdzenie. Oczekuj kolejnych wiadomości e-mail o zmianie statusu zgłoszenia.,
  • AttachementsNotAdded – Nie dodano wszystkich załączników.
W pliku partials/customer/order-content.html wyszukaj frazę popupDialog__complain. Kontener z wyszukaną klasą podmień (wraz z zawartością) poniższym kodem:
<div class="popupDialog popupDialog__complain popupDialog-js">
<div class="popupDialog__wrapper">

<span class="popupDialog__title">{{ translations.SendComplaintOrReturn }}</span>
<div class="complain__product">

<figure><img class="productImage-js" alt="" /></figure>

</div>

<div class="form complain__form inputs-container-js" data-success-info="{{ translations.ReportSuccessInfo }}">

<div class="form__checkBox checkBoxes__container checkBoxes__container--radio radioContainer-js">

<div class="radioComplaint-js"><input id="radio-complaint" class="checkbox-input" name="__action" type="radio" value="Order/ComplaintAdd" data-name="complaint" /> <label for="radio-complaint"> {{ translations.Prf_OrderComplaint }} </label></div>

<div class="radioReturn-js"><input id="radio-return" class="checkbox-input" name="__action" type="radio" value="Order/ReturnAdd" data-name="return" /> <label for="radio-return"> {{ translations.Prf_OrderReturn }} </label></div>


</div>
<strong>{{ translations.ReportDetails }}</strong>
<div class="form__input-wrapper complaintInputWrapper-js">

{% if config.Complaints.Defects &lt;&gt; null -%} {% assign defectsSize = config.Complaints.Defects | Size -%}<select class="form__input-value form__input-value-js" name="defectId" required="">{% if defectsSize &gt; 1 -%}
<option value="-1">{% if defectsSize &gt; 1 -%}* {% endif -%} {{translations.ChooseComplaintCause}}</option>{% endif -%} {% for def in config.Complaints.Defects -%}
<option value="{{def.Id}}">{{def.Name}}</option>{% endfor -%}
</select>

{% endif -%}
<p class="form__invalid-input form__validation-required-js" style="display: none;">{{ translations.Com_FieldIsMandatory }}</p>


</div>

<div class="form__input-wrapper complaintInputWrapper-js"><input id="defectDate" class="form__input-value form__icon_padding form__input-value-js" max="{{config.Now | Date: 'yyyy-MM-dd'}}" min="{{order.Date | Date: 'yyyy-MM-dd'}}" name="defectDate" type="date" value="{{config.Now | Date: 'yyyy-MM-dd'}}" placeholder="yyyy-MM-dd" /> <label class="form__input-info" for="defectDate">* {{translations.Prf_DefectDate}}</label></div>

<div class="form__input-wrapper complaintInputWrapper-js">

{% if config.Complaints.Requests &lt;&gt; null -%} {% assign requestsSize = config.Complaints.Requests | Size -%}<select class="form__input-value form__input-value-js" name="requestId" required="">{% if requestsSize &gt; 1 -%}
<option value="-1">{% if requestsSize &gt; 1 -%}* {% endif %} {{translations.Prf_ComplainRequest}}</option>{% endif %} {% for req in config.Complaints.Requests -%}
<option value="{{req.Id}}">{{req.Name}}</option>{% endfor -%}
</select>

{% endif -%}
<p class="form__invalid-input form__validation-required-js" style="display: none;">{{ translations.Com_FieldIsMandatory }}</p>


</div>
{% assign returnTypes = config.Complaints.Returns | Size -%} {% if returnTypes &gt; 1 -%}
<div class="form__input-wrapper returnInputWrapper-js">

<select class="form__input-value form__input-value-js" name="returnId" required="">
<option value="-1">{% if returnTypes &gt; 1 -%}* {% endif %} {{translations.ChooseReturn}}</option>{% for return in config.Complaints.Returns -%}
<option value="{{return.Id}}">{{return.Name}}</option>{% endfor -%}
</select>
<p class="form__invalid-input form__validation-required-js" style="display: none;">{{ translations.Com_FieldIsMandatory }}</p>


</div>
{% endif %}
<div class="form__input-wrapper min-js"><label class="quantityField__label">{{translations.Com_Quantity}}</label> <button class="button-minus-add-product" type="button" data-field="quantity"> </button> <input class="quantity-field quantity__field-js" max="" min="1" name="quantity" type="number" value="1" data-decimal="false" /> <button class="button-plus-add-product" type="button" data-field="quantity"> </button></div>

<div class="form__input-wrapper"><input id="accountNumber" class="form__input-value form__input-value-js" maxlength="50" name="accountNumber" type="text" /> <label class="form__input-info form__input-info-js" for="accountNumber">{{translations.Crt_BankAccountNumber}}</label></div>

<div class="form__input-wrapper">{{translations.Prf_AdditionalInfo}} <textarea class="form__input-value" name="message"></textarea></div>

<div class="form__input-wrapper"><span class="form__requiredFields--info">* {{ translations.Com_RequiredFields }}</span></div>
{% if config.Complaints.AttachmentsEnabled -%}
<div class="form__input-wrapper attachementsInputWrapper" data-not-added-info="{{translations.AttachementsNotAdded}}">

<div class="form__attachementsLabel">{{ translations.AddAttachment }}</div>
{% capture maxSize -%}{{config.Complaints.AttachmentMaxSize}}B{% endcapture -%} {% for i in (1..config.Complaints.AttachmentsMaxCount) -%}
<div class="form__attachement-input-container"><input class="addAttachementInComplaint-js" accept="{{ config.Complaints.AttachmentExtensions }}" name="file" type="file" data-file-size="{{ config.Complaints.AttachmentMaxSize }}" data-size-exceeded="{{ translations.Com_FileSizeExceeded | Format: maxSize }}" data-invalid-file="{{ translations.Com_InvalidFile | Format: config.Complaints.AttachmentExtensions }}" /></div>
{% endfor -%}

</div>
{% endif -%} <input class="productId-js" name="no" type="hidden" value="" /> <input name="orderId" type="hidden" value="{{order.Id}}" /> <button class="primary-action-button orderComplaintOrReturnAdd-js" type="button" data-id="{{order.Id}}">{{translations.Report}}</button>
</div>
</div>
</div>
  Teraz w pliku js/layout1.js (lub layout0.js jeśli nie ma layout1.js, lub layout.js jeśli nie ma dwóch poprzednich) znajdź zmienną var customerProfile, a w niej funkcję events. Tuż przed nią dodaj poniższy kod:
addAttachementInComplaint: function(e) {
window.attachementsInComplaint = [];
var filesArr = $(e.currentTarget).parents('.inputs-container-js').find('.addAttachementInComplaint-js');
filesArr.each(function () {
if(this.files.length &gt; 0){
var maxSize = $(this).data('file-size');
if(this.files[0].size &gt; maxSize){
var message = $('[data-not-added-info]').data('not-added-info') + '. </code></code><strong>' + this.files[0].name + '</strong><code class="lang:ruby decode:true ">: ' + $(this).data('size-exceeded');
app.showTemporaryPopup(message, 'error', '', 8000);
$(this).val('');
$(this).next().hide();
} else {
window.attachementsInComplaint.push(this.files[0]);
$(this).next().show();
}
}
});
},
sendComplaint: function(e) {
if(app.validationBeforePost(e) != 'error'){
var form = $(e.currentTarget).parents('.inputs-container-js');
var dataFromHTML = form.find('input:not([disabled]), select:not([disabled]), textarea:not([disabled])').serializeArray();
var fileList = window.attachementsInComplaint;
if(fileList != undefined){
var filesSize = fileList.length;
}
var fd = new FormData();
fd.append('__csrf', __CSRF);
for(var i=0; i&lt;dataFromHTML.length; i++){ fd.append(dataFromHTML[i].name,dataFromHTML[i].value); } if (filesSize &gt; 0) {
window.AttachementsErrors = 0;
function addAttachementError(file, message) {
if(window.AttachementsNotAdded == undefined){
window.AttachementsNotAdded = [];
}
var attachement = '</code>
<div style="padding: 20px;"><strong>'+file.name+'</strong>: '+message+'</div>
'; window.AttachementsNotAdded.push(attachement); window.AttachementsErrors += 1; }; var input = form.find('[name=file]').eq(0); var extensions = input.attr('accept').split(', '); var fileSize = input.data('file-size'); for (var i=0; i&lt;filesSize; i++) { var file = fileList.pop(); if(file.size &lt; fileSize){ var extensionArr = file.name.split('.'); var extension = '.' + extensionArr[extensionArr.length - 1].toLowerCase(); var wrongExtension = true; for(var j=0; j&lt;extensions.length; j++){ if(extension == extensions[j]){ fd.append('file'+i, file); var wrongExtension = false; } } if(wrongExtension){ var message = input.data('invalid-file'); addAttachementError(file, message); } } else { var message = input.data('size-exceeded'); addAttachementError(file, message); } } if(window.AttachementsNotAdded){ var message = $('[data-not-added-info]').data('not-added-info') + window.AttachementsNotAdded.join(''); app.showTemporaryPopup(message, 'error', '', 8000); window.AttachementsNotAdded = undefined; window.AttachementsErrors = undefined; } } $.ajax({ data: fd, processData: false, contentType: false, type: 'POST', success: function (data) { $('.addAttachementInComplaint-js').val(''); if (data.action.Result) { var message = form.data('success-info'); app.showTemporaryPopup(message, 'success', '', 8000); $('.clearFileInput-js').hide(); app.hidePopup(e); sessionStorage.removeItem('complains'); sessionStorage.removeItem('order' + (e.currentTarget).dataset.id); $('.order' + (e.currentTarget).dataset.id).remove(); customerProfile.showOrderDetails(e); } else { app.showTemporaryPopup(result.action.Description, 'error', '', 8000); } } }); } },
  Następnie w funkcji events dodaj poniższy kod:
mainSection.on('change', '.addAttachementInComplaint-js', function (e) {
customerProfile.addAttachementInComplaint(e);
});
mainSection.on('click', '.orderComplaintOrReturnAdd-js', function(e) {
customerProfile.sendComplaint(e);
});
mainSection.on('click', '.clearFileInput-js', function(e) {
var index = $(e.currentTarget).parent().index();
$(e.currentTarget).prev().val('');
window.attachementsInComplaint.splice(index - 1, 1);
$(e.currentTarget).hide();
});
Teraz wyszukaj funkcję orderComplaintOrReturnAdd i usuń ją. Następnie wyszukaj wywołanie tej funkcji (w funkcji events) i również usuń. Następnie w pliku css/layout.css dodaj poniższy kod:
.customer .popupDialog__complain .popupDialog__wrapper{max-width:700px;padding-bottom:0}.customer .complain__product{width:40%;padding:0;margin:40px 0;vertical-align:top;display:inline-block;border:none}.customer .complain__product figure{width:100%;height:auto;margin:0 0 20px}.customer .complain__form{width:calc(60% - 84px);display:inline-block;margin:40px}.customer .complain__form>strong{display:block;margin-bottom:20px}.customer .complain__form textarea{margin-top:10px;padding:10px}.customer .customer__orderContent .checkBoxes__container--radio{margin-top:0}.customer .form__attachement-input-container{position:relative}.customer .form__clear-attachement-input{position:absolute;top:11px;cursor:pointer}
Teraz w pliku css/layout-m.css dodaj poniższy kod:
.customer .complain__product{width:100%;margin:20px 0}.customer .complain__form{width:100%;margin:20px 0}
 

Obsługa dostawy o typie negocjowalnym w szablonach

Wskazówka
Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce. Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

Obsługa dostawy o typie negocjowalnym w szablonach

W tym artykule dowiesz się jak zmodyfikować swój szablon, aby obsłużyć dostawy o typie negocjowalnym.

Szafir

Na samym początku pliku common/order-summary.html jest warunek z kilkoma assignami. W warunku dodaj taką linijkę {% assign notDeterminedDeliveryCost = order.Delivery.NotDeterminedDeliveryCost -%}, a w elsie dodaj taką {% assign notDeterminedDeliveryCost = order.SelectedDelivery.NotDeterminedDeliveryCost -%}. Kawałek niżej znajduje się warunek {% if order.NotDeterminedDeliveryCost and order.OrderStep != 'Start' -%}. Zamień go na poniższy kod: {% if order.NotDeterminedDeliveryCost or order.SelectedDelivery.NotDeterminedDeliveryCost -%} {% assign notDeterminedDeliveryCost = true -%} {% endif -%} {% if notDeterminedDeliveryCost and order.OrderStep == 'Start' -%} Następnie w tym samym pliku wyszukaj frazę {% unless order.NotDeterminedDeliveryCost -%} i zamień ją na warunek {% if order.NotDeterminedDeliveryCost == false and notDeterminedDeliveryCost == false -%}. Pamiętaj aby kilka linijek niżej zamienić {% endunless -%} na {% endif -%}. Kawałek dalej znajduje się warunek {% if paymentCost != null -%}. Zamień go na {% if paymentCost != null and order.NotDeterminedDeliveryCost == false and notDeterminedDeliveryCost == false -%} Teraz w pliku order/delivery-partials/delivery-section.html, wyszukaj warunek {% if order.NotDeterminedDeliveryCost == false -%} i zamień go na {% if order.NotDeterminedDeliveryCost == false and deliveryMethod.NotDeterminedDeliveryCost == false -%}. Następnie wyszukaj warunek {% if order.NotDeterminedDeliveryCost == false -%} i zamień go na {% if order.NotDeterminedDeliveryCost == false and order.SelectedDelivery.NotDeterminedDeliveryCost == false -%} W pliku order/cart.html znajdź warunek {% if order.NotDeterminedDeliveryCost and order.OrderStep == 'Start' -%}. Zamień go na poniższy kod: {% if order.NotDeterminedDeliveryCost or order.SelectedDelivery.NotDeterminedDeliveryCost -%} {% assign notDeterminedDeliveryCost = true -%} {% endif -%} {% if notDeterminedDeliveryCost and order.OrderStep == 'Start' -%}

Agat

W pliku partials/cart/cart-content.html znajdź warunek {% if cart.NotDeterminedDeliveryCost == true %} i zamień go na {% if cart.NotDeterminedDeliveryCost or cart.SelectedDelivery.NotDeterminedDeliveryCost %}. Kawałek dalej w tym samym pliku znajdź warunek {% if cart.NotDeterminedDeliveryCost == false %}. Zamień go na poniższy kod: {% if deliveryMethod.Name == cart.SelectedDelivery.Name %} {% assign notDeterminedDeliveryCost = cart.SelectedDelivery.NotDeterminedDeliveryCost -%} {% else %} {% assign notDeterminedDeliveryCost = deliveryMethod.NotDeterminedDeliveryCost -%} {% endif %} {% if cart.NotDeterminedDeliveryCost == false and notDeterminedDeliveryCost == false %} Kawałek niżej znajdź warunek {% if cart.NotDeterminedDeliveryCost == false %} i zamień go na {% if cart.NotDeterminedDeliveryCost == false and deliveryMethodLvl.NotDeterminedDeliveryCost == false %}. Dalej w tym samym pliku (partials/cart/cart-content.html), oraz w plikach partials/cart/delivery-and-payment.html i partials/cart/summary.html znajdź frazę {% unless cart.NotDeterminedDeliveryCost -%} i zamień ją na {% if cart.NotDeterminedDeliveryCost == false and cart.SelectedDelivery.NotDeterminedDeliveryCost == false -%}. Pamiętaj aby kilka linijek niżej zamienić {% endunless -%} na {% endif -%}. We wszystkich przypadkach przesuń ten {% endif -%} tak aby warunek obejmował też dane związane z kosztami płatności. Podobną zmianę należy wprowadzić w pliku partials/customer/order-details.html. Frazę {% unless customer-profile.Order.NotDeterminedDeliveryCost -%} należy zamienić na {% if customer-profile.Order.NotDeterminedDeliveryCost == false and customer-profile.Order.Delivery.NotDeterminedDeliveryCost == false -%} W plikach partials/cart/delivery-and-payment.html i partials/cart/summary.html znajdź warunek {% if cart.NotDeterminedDeliveryCost -%} i zamień go na {% if cart.NotDeterminedDeliveryCost or cart.SelectedDelivery.NotDeterminedDeliveryCost %}

Bursztyn lub Opal

Na początku pliku order/cart.html znajdź warunek {% if cart.NotDeterminedDeliveryCost %} i zamień go na {% if cart.NotDeterminedDeliveryCost or cart.SelectedDelivery.NotDeterminedDeliveryCost %}. Następnie trochę dalej znajdź warunek {% if cart.NotDeterminedDeliveryCost == false %} i zamień go na {% if cart.NotDeterminedDeliveryCost == false and delivery.NotDeterminedDeliveryCost == false %}. Kawałek dalej znajdziesz warunek {% if delivery.FreeDeliveryFrom > cart.ProductsTotalValue and cart.NotDeterminedDeliveryCost == false and delivery.TotalValue > 0 %}. Zamień go na {% if delivery.FreeDeliveryFrom > cart.ProductsTotalValue and cart.NotDeterminedDeliveryCost == false and delivery.NotDeterminedDeliveryCost == false and delivery.TotalValue > 0 %} Następnie w pliku order/stepsummary.html znajdź frazę {{translations.Crt_DeliveryCost}} i całą linijkę z tą frazą nadpisz poniższym kodem: {% if deliveryData.NotDeterminedDeliveryCost == false %}{{translations.Crt_DeliveryCost}}{{deliveryData.TotalValue|ToPrice}} {{cartCurrency}}{% endif %}

Topaz

W pliku staticElements/cart/cart.html znajdź warunek (występuje dwa razy) {% if cart.NotDeterminedDeliveryCost == true %} i zamień go na {% if cart.NotDeterminedDeliveryCost or cart.SelectedDelivery.NotDeterminedDeliveryCost %} (w obu przypadkach). Następnie wyszukaj frazę {{deliveryMethod.DateText}}. Pod linijką z tą frazą znajduje się warunek. Zastąp go wraz z jego zawartością poniższym kodem: {% if deliveryMethod.NotDeterminedDeliveryCost == false and cart.NotDeterminedProductsDeliveryCost == false -%} {{ deliveryMethod.TotalValue | ToPrice }} {{ currency }} {% endif -%} Teraz wyszukaj frazę {{ payment.DueDateText }}. Pod linijką z tą frazą znajduje się warunek. Zastąp go wraz z jego zawartością poniższym kodem: {% if deliveryMethodLvl.NotDeterminedDeliveryCost == false and cart.NotDeterminedProductsDeliveryCost == false -%} {{ payment.TotalValue | ToPrice }} {{ currency }} {% endif -%}  

Obsługa lookbooka w szablonie Topaz

Obsługa lookbooka w szablonie Topaz

W tym artykule dowiesz się jak zmodyfikować swój szablon, aby obsługiwał lookbooka.

Topaz

W Panelu Administratora przejdź do zakładki Tłumaczenia (Wygląd sklepu -> Ustawienia -> Tłumaczenia) i dodaj tam dwie frazy. ShowProducts - Pokaż towary, Lookbook - Lookbook. Następnie przejdź do zakładki Bannery (Wygląd sklepu -> Ustawienia -> Bannery) i dodaj tam banner o nazwie lookbook. Po jego dodaniu wejdź w jego ustawienia i zaznacz Lookbook zamiast Standardowy. Resztę uzupełnij wedle własnego uznania. W polu Nazwa (Lookbook) będzie nazwa lookbooka, która będzie się wyświetlać w sklepie. Teraz przejdź do zakładki Strony (Wygląd sklepu -> Ustawienia -> Trzykropek w prawym górnym rogu -> Edytuj ustawienia zaawansowane -> Strony) i przy stronie Lookbook wpisz lookbook.html, a następnie wejdź w ustawienia danej strony i zaznacz check-box header [Nagłówek]. Zapisz to wszystko kliknięciem w dyskietkę w prawym górnym rogu. W pliku elements/header/header-1.html (lub header-2.html - w zależności od wybranej w szablonie wersji nagłówka) wyszukaj frazę config.DefinedPages.Contact. Pod linijką z tą frazą wklej poniższy kod: {% for banner in config.Banners -%} {% assign imagesQuantity = banner.Images | Size -%} {% if banner.Name == 'lookbook' and imagesQuantity == 0 -%} {% assign fakeLookbook = true -%} {% endif -%} {% endfor -%} {% assign lookbooksQuantity = config.Lookbook.List | Size -%} {% if lookbooksQuantity > 1 -%} {{ translations.Lookbook }}
{% elseif lookbooksQuantity == 1 or fakeLookbook -%} {{ config.DefinedPages.Lookbook | A }} {% endif -%}
Następnie w folderze staticElements dodaj folder lookbook, a w nim plik lookbook.html, który będzie zawierał poniższy kod: {% include 'partials/common/breadcrumbs.html' -%} {% assign lookbooksQuantity = config.Lookbook.List | Size -%} {% if lookbooksQuantity > 1 -%} {% assign lookbook = config.Lookbook.Current -%} {% elseif lookbooksQuantity == 1 -%} {% assign lookbook = config.Lookbook.List[0] -%} {% endif -%}
{% if lookbooksQuantity > 0 -%}

{{ lookbook.Text }}

{% for image in lookbook.Images -%}
{% if image.JSON != "" -%}
{{translations.ShowProducts | Upcase}}
{% endif -%}
{% endfor -%}
{% else -%}

{{ translations.Lookbook }}

{{'css/img/img-placeholder.jpg' | Img: '', translations.DefaultImage}}
560x630
{{'css/img/img-placeholder.jpg' | Img: '', translations.DefaultImage}}
700x850
{{'css/img/img-placeholder.jpg' | Img: '', translations.DefaultImage}}
1260x540
{{'css/img/img-placeholder.jpg' | Img: '', translations.DefaultImage}}
630x950
{{'css/img/img-placeholder.jpg' | Img: '', translations.DefaultImage}}
560x630
{% endif -%}
Teraz w pliku css/layout.css dodaj poniższy kod: .lookbookSection{width:85%;max-width:1400px;margin:50px auto 150px}.lookbook__name{margin-bottom:100px}.lookbook__imageContainer{position:relative;vertical-align:top}.lookbook__imageContainer:nth-child(5n+1){display:inline-block;width:40%;margin-right:calc(10% - 5px)}.lookbook__imageContainer:nth-child(5n+2){display:inline-block;width:50%}.lookbook__imageContainer:nth-child(5n+3){width:90%}.lookbook__imageContainer:nth-child(5n+4){display:inline-block;width:45%;margin-right:calc(15% - 5px)}.lookbook__imageContainer:nth-child(5n){display:inline-block;width:40%}.lookbook__imageContainer img{max-width:100%;max-height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.lookbook__imagePlaceholder{background-color:#f2f2f2}.lookbook__imagePlaceholderSize{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.lookbook__productsToggleButton{position:absolute;right:0;bottom:0;padding:20px;background:#fff;width:250px;text-align:center;cursor:pointer}.lookbook__productsContainer{position:absolute;right:0;bottom:59px;padding:0 20px;background:#fff;width:250px}.lookbook__product{position:relative;padding:20px 0;border-bottom:1px solid #f2f2f2}.lookbook__productName{color:{{settings.inputLabelColor}};overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:10px}.lookbook__productPrice{font-size:18px;font-weight:700;display:inline-block;width:calc(100% - 50px)}.lookbook__checkProductLink{position:absolute;right:0;bottom:20px;color:{{settings.linkFontColor}}} Następnie w pliku css/layout-m.css dodaj poniższy kod: .lookbookSection{margin:20px auto}.lookbookSection .lookbook__imageContainer{width:100%;margin:0 0 100px}.lookbookSection .lookbook__imageContainer:last-child{margin-bottom:20px}.lookbook__name{margin-bottom:20px}.lookbook__showProductsButton{bottom:0;right:auto;left:50%;transform:translate(-50%, 50%);border:1px solid #f2f2f2}.lookbook__hideProductsButton,.lookbook__productsContainer{position:fixed;width:calc(100% - 40px);z-index:102}.lookbook__productsContainerBackgroundMobile{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(255,255,255,0.8);z-index:101} Teraz w pliku js/layout1.js (lub layout0.js jeśli nie ma layout1.js, lub layout.js jeśli nie ma dwóch poprzednich) dodaj poniższy kod: if($('.lookbookImageContainer-js').length > 0){ var setLookbookImages = function () { $('.lookbookImageContainer-js').each(function(index){ if(index == 0){ var heightRatio = 1.13; } else if(index == 1){ var heightRatio = 1.22; var marginTopRatio = 0.39; } else if(index == 2){ var heightRatio = 0.43; var marginTopRatio = 0.25; var marginBottomRatio = 0.36; } else if(index == 3){ var heightRatio = 1.52; } else if(index == 4){ var heightRatio = 1.13; var marginTopRatio = 0.46; } var width = $(this).width(); var height = width * heightRatio; $(this).css('height', height); if($(window).width() > 768){ if(marginTopRatio){ var marginTop = height * marginTopRatio; $(this).css('margin-top', marginTop); } if(marginBottomRatio){ var marginBottom = height * marginBottomRatio; $(this).css('margin-bottom', marginBottom); } } else { if(marginTopRatio){ $(this).css('margin-top', 0); } if(marginBottomRatio){ $(this).css('margin-bottom', 100); } } }) }; setLookbookImages(); $(window).resize(function() { setLookbookImages(); }); var addLookbookProducts = function () { var url = $('[data-product-details-url]').data('product-details-url'); var checkTranslation = $('[data-check-translation]').data('check-translation'); $('[data-lookbook-products]').each(function(){ var productContainer = $(this); var products = JSON.stringify(productContainer.data('lookbook-products')); var objProducts = JSON.parse(products); $.each(objProducts, function (index, value) { var productUrl = url + ',,' + value.id; var data = {__collection: 'product-details.Product.Name|product-details.Product.Price'}; $.get(productUrl, data, function (res) { productContainer.append( '
'+ '
'+res.collection['product-details.Product.Name']+'
'+ '
'+res.collection['product-details.Product.Price']+' '+__curr+'
'+ ''+checkTranslation+'
'+ '
' ); }); }); }); }; addLookbookProducts(); $('body').on('click', '.showLookbookProducts-js', function (e) { $(e.currentTarget).siblings().show(); $(e.currentTarget).hide(); }); $('body').on('click', '.hideLookbookProducts-js', function (e) { $(e.currentTarget).siblings().hide(); $(e.currentTarget).next().show(); $(e.currentTarget).hide(); }); } Następnie w pliku js/layout0.js (lub layout.js jeśli nie ma layout0.js) znajdź zmienną var headerFunctions i podmień ją na jeden z poniższych kodów. Pierwszy jest do nagłówka z domyślnie ukrytą wyszukiwarką, a drugi do nagłówka z domyślnie odkrytą wyszukiwarką. header-1 var headerFunctions = { init: function () { headerFunctions.events(); }, events: function () { var pageHeader = $('.pageHeader-js'); pageHeader.on('click', '.showSearchSection-js', function() { $('.pageHeader-js .headerSearchForm-js').toggle(200); $('.pageHeader-js .sitesNavigation-js').hide(200); $('.pageHeader-js .mainNavigation-js').hide(200); $('.pageHeader-js .lookbooksNavigation-js').hide(200); $('.openCategoryMenu-js, .openPagesMenu-js, .openLookbooksMenu-js').removeClass('activeButton-js'); $('.searchFormPhrase-js').focus(); }); pageHeader.on('click', '.showMenuSection-js', function() { $('.pageHeader-js .headerMainMenu-js').toggle(200); }); pageHeader.on('click', '.mainMenuMobileCloseBtn-js', function() { $('.pageHeader-js .headerMainMenu-js').hide(200); }); pageHeader.on('click', '.openCategoryMenu-js', function() { $('.pageHeader-js .sitesNavigation-js').hide(200); $('.pageHeader-js .languageAndCurrencyMenu-js').hide(200); $('.pageHeader-js .headerSearchForm-js').hide(200); $('.pageHeader-js .lookbooksNavigation-js').hide(200); $('.pageHeader-js .mainNavigation-js').toggle(200); $('.openLanguageAndCurrencyMenu-js, .openPagesMenu-js, .openLookbooksMenu-js').removeClass('activeButton-js'); $(this).toggleClass('activeButton-js'); app.loadImages(); }); pageHeader.on('click', '.openLanguageAndCurrencyMenu-js', function() { $('.pageHeader-js .sitesNavigation-js').hide(200); $('.pageHeader-js .mainNavigation-js').hide(200); $('.pageHeader-js .headerSearchForm-js').hide(200); $('.pageHeader-js .lookbooksNavigation-js').hide(200); $('.pageHeader-js .languageAndCurrencyMenu-js').toggle(200); $('.openCategoryMenu-js, .openPagesMenu-js, .openLookbooksMenu-js').removeClass('activeButton-js'); $(this).toggleClass('activeButton-js'); }); pageHeader.on('click', '.openPagesMenu-js', function() { $('.pageHeader-js .mainNavigation-js').hide(200); $('.pageHeader-js .languageAndCurrencyMenu-js').hide(200); $('.pageHeader-js .headerSearchForm-js').hide(200); $('.pageHeader-js .lookbooksNavigation-js').hide(200); $('.pageHeader-js .sitesNavigation-js').toggle(200); $('.openCategoryMenu-js, .openLanguageAndCurrencyMenu-js, .openLookbooksMenu-js').removeClass('activeButton-js'); $(this).toggleClass('activeButton-js'); }); pageHeader.on('click', '.openLookbooksMenu-js', function() { $('.pageHeader-js .mainNavigation-js').hide(200); $('.pageHeader-js .languageAndCurrencyMenu-js').hide(200); $('.pageHeader-js .headerSearchForm-js').hide(200); $('.pageHeader-js .sitesNavigation-js').hide(200); $('.pageHeader-js .lookbooksNavigation-js').toggle(200); $('.openCategoryMenu-js, .openLanguageAndCurrencyMenu-js, .openPagesMenu-js').removeClass('activeButton-js'); $(this).toggleClass('activeButton-js'); }); pageHeader.on('change', '.customerLanguageChange-js', function(e) { if($(this).is(':checked')) {app.customerLanguageChange(e)} }); pageHeader.on('change', '.customerCurrencyChange-js', function(e) { if($(this).is(':checked')) {app.customerCurrencyChange(e)} }); pageHeader.on('click', '.openUndercategoryMenu-js', function(e) { var undercategory = $(e.currentTarget).closest('li').find('ul').first(); $(undercategory).toggle(200); }); } }; header-2 var headerFunctions = { init: function () { headerFunctions.events(); }, events: function () { var pageHeader = $('.pageHeader-js'); pageHeader.on('click', '.showSearchSection-js', function() { $('.pageHeader-js .headerSearchForm-js').toggle(200); $('.searchFormPhrase-js').focus(); }); pageHeader.on('click', '.showMenuSection-js', function() { $('.pageHeader-js .headerMainMenu-js').toggle(200); }); pageHeader.on('click', '.mainMenuMobileCloseBtn-js', function() { $('.pageHeader-js .headerMainMenu-js').hide(200); }); pageHeader.on('click', '.openCategoryMenu-js', function() { $('.pageHeader-js .sitesNavigation-js').hide(200); $('.pageHeader-js .languageAndCurrencyMenu-js').hide(200); $('.pageHeader-js .lookbooksNavigation-js').hide(200); $('.pageHeader-js .mainNavigation-js').toggle(200); $('.openLanguageAndCurrencyMenu-js, .openPagesMenu-js, .openLookbooksMenu-js').removeClass('activeButton-js'); $(this).toggleClass('activeButton-js'); app.loadImages(); }); pageHeader.on('click', '.openLanguageAndCurrencyMenu-js', function() { $('.pageHeader-js .sitesNavigation-js').hide(200); $('.pageHeader-js .mainNavigation-js').hide(200); $('.pageHeader-js .lookbooksNavigation-js').hide(200); $('.pageHeader-js .languageAndCurrencyMenu-js').toggle(200); $('.openCategoryMenu-js, .openPagesMenu-js, .openLookbooksMenu-js').removeClass('activeButton-js'); $(this).toggleClass('activeButton-js'); }); pageHeader.on('click', '.openPagesMenu-js', function() { $('.pageHeader-js .mainNavigation-js').hide(200); $('.pageHeader-js .languageAndCurrencyMenu-js').hide(200); $('.pageHeader-js .lookbooksNavigation-js').hide(200); $('.pageHeader-js .sitesNavigation-js').toggle(200); $('.openCategoryMenu-js, .openLanguageAndCurrencyMenu-js, .openLookbooksMenu-js').removeClass('activeButton-js'); $(this).toggleClass('activeButton-js'); }); pageHeader.on('click', '.openLookbooksMenu-js', function() { $('.pageHeader-js .mainNavigation-js').hide(200); $('.pageHeader-js .languageAndCurrencyMenu-js').hide(200); $('.pageHeader-js .sitesNavigation-js').hide(200); $('.pageHeader-js .lookbooksNavigation-js').toggle(200); $('.openCategoryMenu-js, .openLanguageAndCurrencyMenu-js, .openPagesMenu-js').removeClass('activeButton-js'); $(this).toggleClass('activeButton-js'); }); pageHeader.on('change', '.customerLanguageChange-js', function(e) { if($(this).is(':checked')) {app.customerLanguageChange(e)} }); pageHeader.on('change', '.customerCurrencyChange-js', function(e) { if($(this).is(':checked')) {app.customerCurrencyChange(e)} }); pageHeader.on('click', '.openUndercategoryMenu-js', function(e) { var undercategory = $(e.currentTarget).closest('li').find('ul').first(); $(undercategory).toggle(200); }); } };