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 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 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
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 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 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>
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.
Strona wydruku zamówienia będzie wyglądać w następujący sposób:
Podgląd wydruku w przeglądarce Chrome, który wyświetli się po klinięciu Drukuj, będzie wyglądał jak poniżej.
Obiekty globalne
Obiekty globalne dostępne są domyślnie na wszystkich stronach sklepu.
Nie wymagają aktywacji.
Obiekt udostępnia informacje o kontrahencie w sklepie (jednorazowy lub zalogowany). Nazwa zmiennej globalnej: customer.
Obiekt zawiera następujące właściwości:
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:
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:
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,
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!
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:
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.
DecimalSeparator - separator liczb dziesiętnych,
DecimalPlacesPrice - ilość cyfr po przecinku,
DecimalThousandsSeparator - separator "tysięcy" - w jaki sposób oddzielane są kolejne 3 cyfry przed przecinkiem,
B2B - czy sklep jest w wersji B2B,
ENTERPRISE - czy sklep jest w wersji Enterprise,
UniqueId - unikalny numer id,
Url - adres URL sklepu,
Version - aktualna wersja sklepu,
CompanyOnly - jeśli true to zamówienie można złożyć tylko jako firma,
AuthenticatedOnly - czy sklep dostępny jest tylko dla zalogowanych użytkowników,
DefaultCountry - kraj domyślny,
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,
Languages - tablica z językami. Każde pole tablicy zawiera:
Language - kod języka,
Name - nazwa języka,
Id - id języka,
Products - zawiera ustawienia produktów wraz z wartościami true (włączone) lub false (wyłączone):
ShowCode - pokazywanie kodów,
DecimalUnits - jednostki dziesiętne,
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),
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,
VATEU - tablica prefixów, każdy element zawiera:
Name - nazwa (np. "PL - Polska"),
Value - wartość (np. "PL)",
ISOCode - kod ISO (np. "PL"),
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,
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,
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,
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,
Stock - stany magazynowe, zawiera:
Enabled - czy włączona obsługa stanów magazynowych,
QuantityControl - czy włączona kontrola stanów magazynowych,
Tags - tagi, zawiera listę tagów dla wyszukiwarki i bloga,
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,
GTM - Google Tag Manager,
GTMHead,
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,
Informacja o zamówieniu do punktu odbioru osobistego,
Potwierdzenie złożenia reklamacji,
Zmiana statusu reklamacji,
Zamówienie z ERP,
Rozpoczęcie edycji,
Zatwierdzenie zamówienia,
Przypomnienie o zakupach,
Przypomnienie o dokończeniu płatności online,
Przypomnienie o wystawieniu opinii za zakupiony towar,
Podział zamówienia,
Zamówienie wysłane,
Pierwsze przypomnienie o dokończeniu zamówienia,
Drugie przypomnienie o dokończeniu zamówienia,
Zapytanie o koszt dostawy zamówienie bez kosztów dostawy,
Ustalenie kosztów dostawy,
Złożenie zapytania cenowego,
Powiadomienie o ofercie,
Powiadomienie o dostępności towaru,
Kupon rabatowy,
Rabat dla stałego Klienta,
Kupon rabatowy na darmową dostawę,
Założenie konta przez Klienta,
Założenie konta przez sklep,
Konto potwierdzone,
Stan konta aktywne, zablokowane,
Zmiana adresu e-mail,
Program lojalnościowy,
Przypomnienie hasła,
Reset hasła przez sklep,
Zapis do newslettera,
Zapis do newslettera przez sklep,
Wypisanie z newslettera przez sklep,
Zapytanie ze strony kontakt,
Zapytanie o towar,
Powiadom znajomego o towarze,
order
Obiekt order zawiera wszystkie informacje na temat zamówienia.
Dostępne właściwości:
Document - typ dokumentu dodanego do zamówienia (paragon lub faktura),
DocumentText - nazwa dokumentu dodanego do zamówienia,
OrderTotalValueInWords - wartość zamówienia wypisana jako tekst,
ProductsTotalValueBeforeDiscount - wartość zamówienia bez zniżek,
WeightUnit - jednostka masy,
PreOrder - czy przedsprzedaż,
ConfirmationTime - czas na zatwierdzenie zamówienia,
ConfirmationDueDate - termin potwierdzenia zamówienia,
ConfirmationUrl - link do potwierdzenia zamówienia,
ThirdPartyConsent - zgoda na przekazywanie danych osobom trzecim,
Attachments - załączniki,
CanCancel - czy zamówienie może zostać anulowane,
CanAccept - czy zamówienie może zostać zaakceptowane,
CanRestorePayment - czy płatność może zostać kontynuowana,
CanCopy - czy zamówienie może zostać skopiowane,
CanEdit - czy zamówienie może zostać edytowane,
EditingAllowed - czy edycja zamówienia jest dozwolona,
IsEdited - czy zamówienie było edytowane,
RecalculationRequired - czy zamówienie można przeliczyć,
ReportUrl - link do "raportu" z zamówienia,
RelatedOffers - oferty powiązane z zamówieniem,
SubtotalPrices - czy są ceny netto,
ProductsSubtotalValue - wartość netto zamówienia,
ProductsTotalValue - wartość brutto zamówienia
Attributes - atrybuty,
RelatedOrders - powiązane zamówienia,
Id - numer id zamówienia,
Hash - unikalny numer oznaczający zamówienie,
Date - data złożenia zamówienia,
ERPOrderNumber - numer zamówienia z systemu ERP,
Status - status zamówienia (jako liczba),
StatusText - status zamówienia (jako tekst),
Currency - waluta,
LanguageId - numer id języka,
NotDeterminedDeliveryCost - czy nieustalony koszt dostawy,
Note - wiadomość dla sprzedawcy,
Discount - zniżka,
ProductsValue - wartość produktów,
ProductsValueBeforeDiscount - wartość produktów przed rabatem,
ProductsVatValue - wartość VAT w zamówieniu,
OrderTotalValue - wartość zamówienia brutto,
Weight - waga,
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,
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,
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,
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,
ItemsPerPage - ilość towarów na stronie,
PageCount - ilość stron,
PageNo - numer strony,
TotalItems - ilość produktów,
Documents - lista dokumentów,
DeliveryDate - zawiera liczbę (zazwyczaj dni) w ciągu których towar zostanie dostarczony,
SelectedDeliveryDate - wybrana przez Klienta data dostawy,
ExpectedDate - dzień dostarczenia towaru,
ProcessedDate - data wysłania,
ExpirationDate - dzień do którego towary zostaną dostarczone,
Points - liczba punktów lojalnościowych, które klient otrzyma za zakup towarów,
PointsPaid - punkty lojalnościowe wydane w tym zamówieniu,
SplitPayment - podział płatności,
Source - źródło,
Url - adres URL do zamówienia w profilu Klienta,
Obiekt używany w następujących mailach:
Złożenie zamówienia,
Zamówienie potwierdzone przez Klienta,
Zmiana statusu zamówienia,
Zamówienie zrealizowane,
Zamówienie anulowane,
Zamówienie zapłacone płatność online lub ratalna,
Dodanie listu przewozowego,
Dodanie faktury,
Informacja o zamówieniu do punktu odbioru osobistego,
Zamówienie z ERP,
Rozpoczęcie edycji,
Zatwierdzenie zamówienia,
Przypomnienie o dokończeniu płatności online,
Przypomnienie o wystawieniu opinii za zakupiony towar,
Podział zamówienia,
Zamówienie wysłane,
Zapytanie o koszt dostawy zamówienie bez kosztów dostawy,
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:
ConfirmationUrl - adres url do potwierdzenia konta,
Discount - znizki,
PasswordReminderUrl - adres url do przypomnienia hasła,
Status - status Klienta (numer),
StatusText - status Klienta (tekst),
Email - adres e-mail,
Name - dane Klienta,
Name2 - dane Klienta,
PhoneNo - numer telefonu,
OldEmail - poprzedni adres e-mail,
Obiekt używany w następujących mailach:
Potwierdzenie złożenia reklamacji,
Zmiana statusu reklamacji,
Przypomnienie o zakupach,
Powiadomienie o dostępności towaru,
Kupon rabatowy,
Rabat dla stałego Klienta,
Kupon rabatowy na darmową dostawę,
Założenie konta przez Klienta,
Założenie konta przez sklep,
Konto potwierdzone,
Stan konta aktywne, zablokowane,
Zmiana adresu e-mail,
Program lojalnościowy,
Przypomnienie hasła,
Reset hasła przez sklep,
Zapytanie ze strony kontakt,
Zapytanie o towar,
Powiadom znajomego o towarze,
complaint
Obiekt complaint wykorzystywany jest w mailach związanych ze zwrotami i reklamacjami.
Dostępne właściwosci:
OrderDate - data zlożenia zamówienia,
OrderDeliveryDate - data dostarczenia zamówienia,
Code - kod reklamowanego towaru,
Defect - powód reklamacji,
DefectDescription - opis powodu reklamacji,
Response - odpowiedź,
DefectDate - data wystąpienia usterki,
Request - sposób rozwiązania problemu,
AccountNumber - numer konta,
ReportUrl - link do reklamacji,
ModifiedDate - data ostatniej modyfikacji,
Attachments - załączniki,
ComplaintId - numer id reklamacji,
CreatedDate - data utworzenia reklamacji,
Status - status reklamacji (liczba),
StatusText - status reklamacji (tekst),
Type- typ reklamacji (liczba),
TypeText - typ reklamacji (tekst),
OrderId - numer id zamówienia,
Quantity - ilość towaru,
Unit - jednostka,
Description - opis,
Price - cena,
Value - wartość,
SubtotalPrices - czy są ceny netto,
SubtotalPrice - cena netto,
TotalPrice - cena brutto,
SubtotalValue - wartość netto,
TotalValue - wartość brutto,
Currency - waluta,
ImageId - numer id zdjęcia towaru,
Image - zdjęcie, zawiera:
Id - id zdjęcia,
Link - link do zdjęcia,
ExternalUrl - zewnętrzny link,
Id - numer id towaru,
DefaultGroup - numer domyślnej grupy,
NameNoHtml - nazwa towaru bez znaczników HTML,
Link - link do strony produktu,
Url - link do towaru,
Obiekt używany w następujących mailach:
Potwierdzenie złożenia reklamacji,
Zmiana statusu reklamacji,
product
Obiekt product wykorzystywany jest w mailach z przypomnieniem o zakupach oraz zapytaniem o towar.
Dostępne właściwości:
Code - kod towaru,
UPC - kod EAN towaru,
Id - numer id towaru,
DefaultGroup - grupa domyślna,
NameNoHtml - nazwa towaru bez znaczników HTML,
Link - link do strony produktu,
Url - link do produktu,
Obiekt używany w następujących mailach:
Przypomnienie o zakupach,
Powiadomienie o dostępności towaru,
Zapytanie o towar,
Powiadom znajomego o towarze,
cart
Obiekt cart posiada właściwości do porzuconych koszyków.
Dostepne właściwości:
Url - link do porzuconego koszyka,
Id - numer id porzuconegeo koszyka,
Email - adres e-mail użytkownika, do którego należy porzucony koszyk,
Name - dane Klienta,
Name2 - drugie dane Klienta,
PhoneNo - numer telefonu Klienta,
Currency - waluta,
Date - data utworzenia koszyka,
Value - wartość koszyka,
Authenticated - czy użytkownik był zalogowany,
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:
Pierwsze przypomnienie o dokończeniu zamówienia,
Drugie przypomnienie o dokończeniu zamówienia,
inquiry
Obiekt inquiry wykorzystywany jest w przypadku zapytań ofertowych.
Dostępne właściwości:
ConfirmationUrl - link potwierdzający,
Name - nazwa Klienta,
Email - adres e-mail Klienta,
PhoneNo - numer telefonu,
Hash -unikalny numer oznaczający ofertę,
Inquiry - czy zapytanie ofertowe,
ExpirationDate - data ważności oferty,
ProcessedDate - data realizacji zamówienia,
OneTimeOffer zezwolenie na wiele zamowień z oferty, lub nie,
Message - wiadomość do zapytania,
Answer - odpowiedź,
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,
ItemsPerPage - maksymalna ilość przedmiotów na stronę,
Obiekt coupon dotyczy kuponów rabatowych.
Dostępne właściwości:
Code - kod rabatowy,
ProductsMinimumTotalValue - minimalna wartość zamówienia brutto,
DateFrom - początkowa data obowiązywania kuponu rabatowego,
DateTill - końcowa data obowiązywania kuponu rabatowego,
Type - typ kuponu rabatowego (liczba),
Discount - wartość rabatu,
Currency - waluta,
Groups - grupy towarów,
Countries - kraje,
Obiekt używany w następujących mailach:
Kupon rabatowy,
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:
Discount - wartość rabatu (w procentach),
DateFrom - poczatkowa data obowiązywania rabatu,
DateTill - końcowa data obowiązywania rabatu,
Obiekt używany w następujących mailach:
Rabat dla stałego klienta,
loyalty
Loyalty to obiekt wykorzystywany w mailu dotyczącym programu lojalnościowego.
Dostępne właściwości:
Points - ilość punktów,
Message - wiadomość,
Obiekt używany w następujących mailach:
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:
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:
Zapytanie ze strony kontakt,
Zapytanie o towar,
Powiadom znajomego o towarze,
userFields
Obiekt posiada tylko jedną właściwość o nazwie macro_field.
Obiekt używany w następujących mailach:
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:
Email - adres e-mail znajomego,
Name - dane znajomego,
Name2 - drugie dane znajomego,
PhoneNo - numer telefonu znajomego,
Obiekt używany w następujących mailach:
Powiadom znajomego o towarze,
subscriber
Subscriber to obiekt wykorzystywany w wiadomościach e-mail związanych z newsletterem.
Dostępne właściwości:
Email - adres e-mail,
ConfirmationUrl - link potwierdzający subskrypcję,
Obiekt używany w następujących mailach:
Zapis do newslettera,
Zapis do newslettera przez sklep,
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
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.
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.
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).
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?
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 XMLznajdują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.
Uwaga
Obiekty globalne nie wymagają aktywacji, są importowane wraz z szablonem. Obiekty tego typu są dostępne na każdej stronie sklepu.
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:
productnew,
manufacturersbrands,
productrecommended,
productlist,
cart,
productdetails,
blog,
customerprofile,
productcomparisontool,
productuserreviews,
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.
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ą:
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.
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.
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,
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.
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.
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.
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:
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.
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.
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,
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.
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:
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:
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:
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 -%}
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:
{{translations.Com_DeliveryFrom}}: {{currency}}
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:
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' -%}
Usuń go i w jego miejsce wklej ten kod:
{% if settings.mainBanner -%}
{% include 'common/banner.html' -%}
{% endif -%}
{% if settings.newsSection -%}
{{translations.NewProducts}}
{% if customer.HidePrices -%}
{% include 'product/hidden-prices-msg.html' -%}
{% endif -%}
{% include 'product/minibox-grid.html' -%}
{% endif -%}
{% if settings.newsletter -%}
{% unless customer.NewsletterSubscriber or settings.newsletter == 'no' -%}
Teraz znajdź frazę assign manufacturersSliderSize. W obszareze tej linijki znajdziesz następujący fragment kodu:
{% assign manufacturersSliderSize = manufacturer-brand.Manufacturers | Size -%}
{% if manufacturersSliderSize > 0 -%}
{% for manufacturer in manufacturer-brand.Manufacturers -%}
{% if manufacturer.Image -%}
{% if manufacturer.Url != empty -%}
{% endif -%}
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:
Niniejszy artykuł przedstawia wykaz obiektów lokalnych dostępnych w sklepie. Obiekty mogą być wykorzystywane w szablonach graficznych sklepu.
Odwołanie do obiektu w szablonie następuje poprzez jego nazwę zmiennej nadaną w momencie dodania obiektu do szablonu.
Dla każgdego obiektu opisano:
opcje konfiguracyjne
strony, na których może być użyty
właściwości obiektu
Wskazówka
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.
Obiekt udostępnia informacje o aktualnej stronie.
Obiekt zwraca listę towarów wg właściwości, np. nowości, promocje, itd.
Konfiguracja
Konfiguracja
Dostępne opcje konfiguracyjne:
Pokaż towary tylko ze zdjęciem
Zawężaj do wybranej grupy
Ilość
Typ
Pokaż towary tylko ze zdjęciem – Towary tylko ze zdjęciem. Wartość domyślna: true.
Zawężaj do wybranej grupy – Zawęża wyświetlane towary wg wybranego typu tylko do tych towarów, które należą do tej samej grupy co przeglądany towar na stronie szczegóły towaru. Wartość domyślna: true.
Ilość – Liczba towarów.
Wartość minimalna: 1.
Wartość maksymalna: 50.
Wartość domyślna: 12.
Typ – Towary wg właściwości. Wartość domyślna: 1 – Promocja. Dostępne wartości:
Promocja
Nowość
Najczęściej oglądane
Najczęściej kupowane
Cross-Selling
Towar z gazetki
Towar polecany
Wyprzedaż
Superjakość
Supercena
Najlepiej oceniany
Rekomendacja sprzedawcy
Dostępność–Zapowiedź
Towary sugerowane (sugerowane do sprzedaży z ERP)
Nagroda
Dostępny na stronach
Obiekt może być dodany na wszystkich dostępnych stronach w sklepie.
Obiekt może być dodany wielokrotnie na stronie.
Obiekt posiada właściwość productnew.Products, czyli tablicę z listą towarów.
Wskazówka
Nazwa obiektu jest przykładowa.
Tablica productnew.Products posiada z kolei następujące właściwości:
Obiekt zwraca listę towarów wg wybranego kryterium źródła danych.
Konfiguracja
Konfiguracja
Dostępne opcje konfiguracyjne:
Pokaż towary tylko ze zdjęciem
Ilość
Typ
Wartość
Pokaż towary tylko ze zdjęciem – Towary tylko ze zdjęciem. Wartość domyślna: true.
Ilość – Liczba towarów. Wartość minimalna: 1. Wartość maksymalna: 50. Wartość domyślna: 12.
Typ – Towary wg źródła. Wartość domyślna: 1 – Wybór ręczny. Dostępne wartości:
Ręczny
Grupa towarowa
Producent
Marka
Ostatnio oglądane
Wartość – W zależności od wartości parametru Typ przyjmuje wartości:
Id towarów oddzielone przecinkiem
Id grupy
Id producenta
Id marki
Wartość domyślna: Pusty ciąg znaków.
Dostępny na stronach
Obiekt może być dodany na wszystkich dostępnych stronach w sklepie.
Obiekt może być dodany wielokrotnie na stronie.
Obiekt zwraca listę towarów dla wybranej kategorii lub kryterium wyszukiwania.
Konfiguracja
Konfiguracja
Dostępne opcje konfiguracyjne:
Ilość
Sortuj według
pageId
sort
Ilość – Liczba towarów. Wartość minimalna: 1. Wartość maksymalna: 50. Wartość domyślna: 12.
Sortuj według – Domyślne sortowanie listy towarów. Wartość domyślna: Nazwa (A-Z). Dostępne wartości:
Najczęściej kupowane
Najczęściej oglądane
Nazwa (A-Z)
Nazwa (Z-A)
Cena rosnąco
Cena malejąco
Producent (A-Z)
Kod towaru (A-Z)
Kod towaru (Z-A)
Najlepiej ocenianie
Domyślnie
Ostatnio dodane
Ostatnio zmodyfikowane
pageId – Nazwa parametru w query string odpowiedzialna za wyświetlaną stronę (paginacja). Wartość domyślna: pageId.
sort – Nazwa parametru w query string odpowiedzialna za sortowanie. Wartość domyślna: sort.
Dostępny na stronach
Obiekt może być dodany tylko na stronach
która pełni funkcję strony z listą towarów
która pełni funkcję strony ze szczegółami towaru.
Obiekt może być dodany tylko jednokrotnie na stronie.
Obiekt zwraca szczegółowe informacje o wybranym towarze.
Konfiguracja
Konfiguracja
Dostępne opcje konfiguracyjne:
Zawężaj do wybranej grupy
Zawężaj do wybranej grupy – Zawęża wyświetlane towary wybranego producenta oraz wybranej marki tylko do tych towarów, które należą do tej samej grupy co przeglądany towar na stronie szczegóły towaru. Wartość domyślna: true.
Dostępny na stronach
Obiekt może być dodany tylko na stronie, która pełni funkcję strony ze szczegółami towaru.
Obiekt może być dodany tylko jednokrotnie na stronie.
Obiekt posiada właściwość Product w której skład wchodzą następujące właściwości:
Poziom rozwinięcia – Głębokość do jakiej maksymalnie może rozwinąć się menu.
Wartość minimalna: 0
Wartość maksymalna: 10
Wartość domyślna: 0.
Ilość poziomów – ilość poziomów na temat których obiekt przetrzymuje dane.
Typ – Grupy wg wyboru. Wartość domyślna: Grupy najwyższego poziomu. Dostępne wartości:
Grupy najwyższego poziomu
Podgrupy począwszy od
Wybrane
Zawężaj menu do wybranej grupy
Dostępny na stronach
Obiekt może być dodany na wszystkich dostępnych stronach w sklepie.
Obiekt może być dodany tylko jednokrotnie na stronie.
Obiekt posiada właściwość Nodes w której skład wchodzą następujące właściwości:
Obiekt zwraca szczegółowe informacje o zalogowanym kliencie.
Konfiguracja
Konfiguracja
Dostępne opcje konfiguracyjne:
orderPageId
orderId
reviewPageId
reviewAwaitingPageId
historyPageId
complaintsPageId
complaintId
loyaltyPageId
orderPageId – Nazwa parametru w query string odpowiedzialna za wyświetlaną stronę (paginacja).
Wartość domyślna: ordPageId.
orderId – Nazwa parametru w query string odpowiedzialna za wyświetlanie szczegółów zamówienia.
Wartość domyślna: orderId.
reviewPageId – Nazwa parametru w query string odpowiedzialna za wyświetlaną stronę (paginacja).
Wartość domyślna: rvPageId.
reviewAwaitingPageId – Nazwa parametru w query string odpowiedzialna za wyświetlaną stronę (paginacja).
Wartość domyślna: rvAwPageId.
historyPageId – Nazwa parametru w query string odpowiedzialna za wyświetlaną stronę (paginacja).
Wartość domyślna: hsPageId.
complaintsPageId – Nazwa parametru w query string odpowiedzialna za wyświetlaną stronę (paginacja).
Wartość domyślna:complaintsPageId.
complaintId – Nazwa parametru w query string odpowiedzialna za wyświetlaną stronę.
Wartość domyślna: complaintId.
loyaltyPageId – Nazwa parametru w query string odpowiedzialna za wyświetlaną stronę (paginacja).
Wartość domyślna: ltyPageId.
Dostępny na stronach
Obiekt może być dodany tylko na stronie, która pełni funkcję strony z profilem klienta.
Obiekt może być dodany tylko jednokrotnie na stronie.
Obiekt zwraca właściwość LatestPosts zawsze. Aby móc skorzystać z tej właściwości, należy ją obsłużyć w ramach własnej modyfikacji szablonu.
Właściwość PostList aktywuje się na stronie, która pełni funkcję listy wpisów na blogu, na pozostałych stronach właściwość zwraca null.
Właściwość PostDetails aktywuje się na stronie, która pełni funkcję szczegółów wpisu na blogu, na pozostałych stronach właściwość zwraca null.
Zamówienie
Obiekt zwraca dane o zamówieniu oraz informacje niezbędne do złożenia zamówienia (np. sposoby dostawy i płatności).
Konfiguracja
Konfiguracja
Obiekt nie posiada opcji konfiguracyjnych.
Dostępny na stronach
Obiekt może być dodany tylko na stronie, która pełni funkcję strony gdzie składa się zamówienie.
Obiekt może być dodany tylko jednokrotnie na stronie.
Właściwości obiektów dostępne tylko w sklepach w wersji Enterprise.
Towary
Właściwości:
Batch
TotalPreviousPrice
SubtotalPreviousPrice
TotalPrice
SubtotalPrice
TotalRegularPrice
SubtotalRegularPrice
Zamówienie, koszyk
Właściwości:
ProductsSubtotalValue
ProductsTotalValueBeforeDiscount
ProductsSubtotalValueBeforeDiscount
SubtotalPrices
ProductsTotalValue
Reklamacje, zwroty
Właściwości:
SubtotalPrice
TotalPrice
SubtotalPrices
TotalValue
SubtotalValue
Kontrahenci
Właściwości:
VATEU
Config
Właściwości:
VATEU
Config.Currencies
Dla wersji Enterpise zwraca listę walut przesłanych z systemu ERP.
Dla pozostałych wersji zwraca domyślną walutę.
Obiekt zwraca szczegółowe informacje o wybranym towarze.
Opis używanych obiektów lokalnych:
productnew.Products.AskForPrice
Zawiera informacje czy włączono opcję zapytaj o cenę.
productnew.Products.Availability
Zawiera informacje na temat dostępności.Właściwości:
Date – służy do wyświetlenia informacji na temat ustawionej daty dla danego towaru (np. przy zapowiedzi produktu),
ImageUrl – url obrazu,
Status – Id statusu dostępności,
Text – opis tekstowy dla danego statusu,
Type – wyświetla typ dostępności,
productnew.Products.BasicUnitMinQuantity
Informacja o minimalnej ilości zakupu w jednostce podstawowej towaru.
productnew.Products.Brand
Informacje na temat marki.Właściwości:
Heading – tytuł,
Id – numer Id,
Image - informacja o obrazie, zawiera:
ExternalUrl - link zewnętrzny do obrazu,
Id - numer id obrazu,
Link - link do obrazu,
ImageId – id obrazu,
Name – nazwa,
Url – adres Url,
UrlWithManufacturer – adres do produktów danego producenta,
productnew.Products.Code
Zawiera informacje o kodzie produktu.
productnew.Products.DecimalPlacesPrice
Liczba miejsc po przecinku do wyświetlania ceny.
productnew.Products.DecimalUnit
Informacja czy jednostki mogą być liczbami niecałkowitymi.
productnew.Products.DefaultGroup
Informacja o grupie domyślnej.
productnew.Products.Flags
Zwraca informacje o flagach (np. nowość, wyprzedaż).
productnew.Products.GIDNumber
Numer Id produktu z bazy systemu ERP.
productnew.Products.HasAttributes
Informacja czy produkt posiada atrybuty.
productnew.Products.HasOtherUnits
Informacja czy przedmiot ma inne jednostki sprzedażowe (np. para, pojedynczy produkt).
productnew.Products.Id
Numer Id produktu.
productnew.Products.Image
Informacja o zdjęciu produktu.Właściwości:
ExternalUrl - link zewnętrzny do zdjęcia,
Id - numer Id zdjęcia,
Link - link do zdjęcia,
productnew.Products.ImageId
Numer Id obrazu produktu.
productnew.Products.Images
Informacje o zdjęciach produktu. Dla każdego ze zdjęć posiada te same pola, co właściwość productnew.Products.Image.
productnew.Products.Link
Link do produktu.
productnew.Products.Manufacturer
W skład tej właściwości wchodzą Name, Id, Heading, Image, ImageId, Url, Website.
productnew.Products.MinPrice
Cena minimalna z ostatnich 30 dni.
productnew.Products.Name
Nazwa produktu.
productnew.Products.NameNoHtml
Nazwa produktu bez znaczników HTML.
productnew.Products.NoDiscount
Informacja czy produkt może być objęty zniżką.
productnew.Products.PreviousPrice
Poprzednia cena produktu.
productnew.Products.Price
Cena produktu.
productnew.Products.Rating
Średnia ocena produktu.
productnew.Products.RatingCount
Ilość ocen produktu.
productnew.Products.RegularPrice
Cena normalna produktu.
productnew.Products.SaleUnit
Jednostka sprzedażowa (np. para).
productnew.Products.Type
Typ towaru.
productnew.Products.UPC
Kod EAN z ERP.
productnew.Products.UnitPriceRatio
Przelicznik ceny za jednostkę miary.
productnew.Products.UnitPriceUnit
Możliwa jednostka przeliczeniowa (np. litry na mililitry, gramy na kilogramy itd.). Jeżeli wartość jest nullem nie wyświetlamy ceny jednostkowej.
productnew.Products.Url
Adres URL produktu.
productnew.Products.Weight
Waga produktu.
productlastviewed.Products.AskForPrice
Informacja czy włączono opcję zapytaj o cenę.
productlastviewed.Products.Availability
Informacje na temat dostępności.Właściwości:
Date - zwraca datę kiedy produkt będzie dostępny (np. jeżeli produkt jest zapowiedzią),
ImageUrl - adres url dla obrazka,
Status - status,
Text - wartość tekstowa (np. "od ręki"),
Type - typ,
productlastviewed.Products.BasicUnitMinQuantity
Informacja o minimalnej ilości zakupu w jednostce podstawowej towaru.
productlastviewed.Products.Brand
Informacje o marce produktu.Właściwości:
Heading - tytuł,
Id - numer Id,
Image - informacja o obrazie, zawiera:
ExternalUrl - link zewnętrzny do obrazu,
Id - numer id obrazu,
Link - link do obrazu,
ImageId - id obrazu,
Name - nazwa,
Url - adres url,
UrlWithManufacturer - adres URL do strony producenta,
productlastviewed.Products.Code
Zwraca kod produktu.
productlastviewed.Products.DecimalPlacesPrice
Liczba miejsc po przecinku do wyświetlania ceny.
productlastviewed.Products.DecimalUnit
Informacja czy jednostki mogą być liczbami niecałkowitymi.
productlastviewed.Products.DefaultGroup
Informacja o domyślnej grupie.
productlastviewed.Products.Flags
Zwraca flagi dla produktów (np. promocja, nowość itd.).
productlastviewed.Products.GIDNumber
Numer Id produktu z bazy systemu ERP.
productlastviewed.Products.HasAttributes
Informacja czy produkt posiada atrybuty.
productlastviewed.Products.HasOtherUnits
Informacja czy przedmiot ma inne jednostki sprzedażowe (np. para, pojedynczy produkt).
productlastviewed.Products.Id
Id produktu.
productlastviewed.Products.Image
Informacja o zdjęciu produktu.Właściwości:
ExternalUrl - link zewnętrzny do zdjęcia,
Id - numer Id zdjęcia,
Link - link do zdjęcia,
productlastviewed.Products.ImageId
Zwraca Id obrazka.
productlastviewed.Products.Images
Informacje o zdjęciach produktu. Dla każdego ze zdjęć posiada te same pola, co właściwość productlastviewed.Products.Image.
productlastviewed.Products.Link
Link do strony produktu.
productlastviewed.Products.Manufacturer
Informacje na temat producenta.Właściwości:
Heading - tytuł,
Id - id,
Image - informacja o obrazie, zawiera:
ExternalUrl - link zewnętrzny do obrazu,
Id - numer id obrazu,
Link - link do obrazu,
ImageId - id obrazu,
Name - nazwa,
Url - adres url,
Website - adres strony
productlastviewed.Products.MinPrice
Cena minimalna produktu z ostatnich 30 dni.
productlastviewed.Products.Name
Nazwa produktu.
productlastviewed.Products.NameNoHtml
Nazwa produktu (pozbawiona znaczników HTML).
productlastviewed.Products.NoDiscount
Informacja czy produkt może być objęty zniżką.
productlastviewed.Products.PreviousPrice
Poprzednia cena produktu.
productlastviewed.Products.Price
Cena produktu.
productlastviewed.Products.Rating
Średnia ocena produktu.
productlastviewed.Products.RatingCount
Liczba wszystkich ocen produktu.
productlastviewed.Products.RegularPrice
Cena normalna produktu.
productlastviewed.Products.SaleUnit
Jednostka sprzedażowa (np. para).
productlastviewed.Products.Type
Typ towaru.
productlastviewed.Products.UPC
Kod EAN z ERP.
productlastviewed.Products.UnitPriceRatio
Przelicznik ceny za jednostke miary.
productlastviewed.Products.UnitPriceUnit
Możliwa jednostka przeliczeniowa (np. litry na mililitry, gramy na kilogramy itd.). Jeżeli wartość jest nullem nie wyświetlamy ceny jednostkowej.
productlastviewed.Products.Url
Adres strony produktu (dokładniejszy niż w przypadku Link).
productlastviewed.Products.Weight
Waga produktu.
productlist.FilteringOptions
Właściwość odpowiada za opcje filtracji przedmiotów.Właściwości:
Filters - odpowiada za opcje filtracji, zawiera:
Field - nazwa dla danego filtru,
Heading - tytuł danego filtru (np. Producent),
Values - wartości dla konkretnych filtrów, zawiera:
Count - liczba przedmiotów spełniających dany warunek,
Field - nazwa (zazwyczaj tożsama z polem field elementu nadrzędnego),
Selected - czy opcja została wybrana,
Text - nazwa danego pola,
TotalCount - całkowita liczba przedmiotów tego typu na liście,
Value - wartość pola,
Wskazówka
Aby dostać się do powyższych właściwości productlist.FilteringOptions.Filters.[numer].Nazwa należy użyć nr produktu w tablicy. Przykładowo, aby dostać się do pierwszego przedmiotu w nawiasie kwadratowym należy wpisać właściwą cyfrę. Należy pamiętać, że tablice numerowane są od 0.
Groups - odpowiada za opcje filtracji po kategoriach, zawiera:
Group - opis kategorii, zawiera:
Heading - alternatywna nazwa kategorii,
Id - id kategorii,
Image - informacje o obrazie (zawiera ExternalUrl, Id, Link),
ImageId - id obrazka,
Name - nazwa kategorii,
Url - url kategorii,
Nodes - lista podkategorii, zawiera:
Count - ilość towarów,
Group - opis kategorii (zawiera Heading, Id, Image, ImageId, Name, Url),
Parent - opis kategorii nadrzędnej (zawiera Heading, Id, Image, ImageId, Name, Url),
Wskazówka
Aby dostać się do powyższych właściwości productlist.FilteringOptions.Groups.[numer].Nazwa należy użyć nr produktu w tablicy. Przykładowo, aby dostać się do pierwszego przedmiotu w nawiasie kwadratowym należy wpisać właściwą cyfrę. Należy pamiętać, że tablice numerowane są od 0.
MaxPrice - najwyższa cena produktów z danej listy,
MinPrice - najniższa cena produktów z danej listy,
PriceFrom - cena od (wpisana przez użytkownika),
PriceTo - cena do (wpisana przez użytkownika),
Results - czy są wyniki filtrowania, czy zwykła lista,
SearchGroups - grupy na podstawie filtrowania,
productlist.HeaderData
Informacje na temat nagłówka danej kategorii (np. jej tytuł, opis).Właściwości:
Description - opis,
Heading - tytuł,
Image - informacja o obrazie, zawiera:
ExternalUrl - link zewnętrzny do obrazu,
Id - numer Id obrazu,
Link - link do obrazu,
ImageId - id obrazu,
MetaDescription - opis meta,
MetaKeywords - meta słowa kluczowe,
MetaTitle - tytuł meta,
ShortDescription - krótki opis,
productlist.ItemsPerPage
Określa liczbę produktów na stronie.
productlist.PageCount
Liczba stron.
productlist.PageNo
Numer strony.
productlist.PageQueryGET
Zwraca string PageQueryGET ustawiony z poziomu Panelu administratora (np. PageId).
productlist.Products.[nr produktu]
Informacje o produkcie.Właściwości:
AskForPrice - czy włączono opcję zapytaj o cenę,
AttributesList - lista atrybutów, zawiera:
Attributes - atrbuty, zawiera:
Id - numer id,
Format - liczbę określającą format,
Name - nazwa,
Values - wartości, zawiera:
Object - obiekt,
Value - wartość,
ValueId - numer id wartości,
AttributesEditable - atrybuty edytowalne,
AttributesPolyvalent - atrybuty wielowartościowe,
Clip - informuje, czy towar jest fantomem,
Availability – dostępność, zawiera:
Date - służy do wyświetlenia informacji na temat ustawionej daty dla danego towaru (np. przy zapowiedzi produktu),
ImageUrl - adres obrazu
Status - Id statusu dostępności,
Text - opis tekstowy dla danego statusu,
Type - wyświetla typ dostępności,
BasicUnitMinQuantity - informacja o minimalnej ilości zakupu w jednostce podstawowej towaru,
Brand - informacje na temat marki, zawiera:
Heading - tytuł,
Id - numer Id,
Image - informacje o obrazie (zawiera ExternalUrl, Id, Link),
ImageId - id obrazu,
Name - nazwa,
Url - adres Url,
UrlWithManufacturer - adres do produktów danego producenta,
Code - kod,
DecimalPlacesPrice - liczba miejsc po przecinku do wyświetlania ceny,
DecimalUnit - czy jednostki mogą być liczbami niecałkowitymi,
DefaultGroup - domyślna grupa,
Flags - zwraca flagi dla produktu (np. promocja, nowość itd.),
GIDNumber - numer Id produktu z bazy systemu ERP,
HasAttributes - czy posiada atrybuty,
HasOtherUnits - czy przedmiot ma inne jednostki sprzedażowe (np. para, pojedynczy produkt),
Id - id,
ImageId - id obrazu,
Image - informacje o obrazie, zawiera:
ExternalUrl - link zewnętrzny,
Id - id obrazu,
Link - link do obrazu,
Images - informacje o obrazach, zawiera:
ExternalUrl - link zewnętrzny,
Id - id obrazu,
Link - link do obrazu,
Link - link,
Manufacturer – informacje na temat producenta, zawiera:
Heading - tytuł,
Id - numer Id,
Image - informacje o obrazie (zawiera ExternalUrl, Id, Link),
ImageId - id obrazu,
Name - nazwa,
Url - adres url,
Website - adres strony,
MinPrice - cena minimalna z ostatnich 30 dni,
Name - nazwa,
NameNoHtml - nazwa bez znacznikow HTML,
NoDiscount - informacja czy produkt może być objęty zniżką,
PreviousPrice - poprzednia cena,
Price - cena,
Rating - średnia ocena,
RatingCount - liczba wszystkich ocen,
RegularPrice - cena normalna,
SaleUnit - jednostka sprzedażowa (np. para),
ShortDescription - krótki opis,
StockLevel - informacja o stanie magazynowym, zawiera:
Control - informuje czy kontrola jest włączona,
ImageUrl - adres grafiki obrazującej stan,
QuantityControl - informuje czy kontrola ilości jest włączona,
Text - tekst informujący o stanie magazynowym,
Type - wyświetla typ dostepności stanu magazynowego,
Value - dostępna ilość produktu,
Type - typ towaru,
UPC - kod EAN z ERP,
UnitPriceRatio - przelicznik ceny za jednostkę miary,
UnitPriceUnit - możliwa jednostka przeliczeniowa (np. litry na mililitry, gramy na kilogramy itd.). Jeżeli wartość jest nullem nie wyświetlamy ceny jednostkowej,
Url - adres Url,
Weight - waga
Wskazówka
Aby dostać się do powyższych właściwości productlist.Products[nr produktu].Nazwa należy użyć nr produktu w tablicy. Przykładowo, aby dostać się do pierwszego przedmiotu w nawiasie kwadratowym należy wpisać właściwą cyfrę. Należy pamiętać, że tablice numerowane są od 0.
productlist.Search
Zwraca informacje na temat wyniku wyszukiwania.Właściwości:
Brand - marka,
Group - zwraca string z nazwą kategorii,
GroupId - Id grupy,
Manufacturer - producent,
PriceFrom - cena od,
PriceTo - cena do,
Search - wartość pola wpisanego w wyszukiwarkę,
SearchAll - wartość pola wpisanego w wyszukiwarkę,
TotalItems - liczba przedmiotów spełniająca podane kryterium,
Url - adres Url,
productlist.SelectedSorting
Wybrany sposób sortowania.
productlist.SortingOptions
Opcje sortowania.Właściwości:
Text - wartość tekstowa danej właściwości wyszukiwania,
Value - wartość,
productlist.SortingQueryGET
Podobnie jak w przypadku SortingQueryGET zwraca string ustawiony z poziomu Panelu administratora (np. PageId).
productlist.Supervisor
Opiekun towaru.
productlist.TotalItems
Łączna liczba przedmiotów.
productdetails.Product.Accessories
Akcesoria produktu.
productdetails.Product.AddedDate
Data dodania produktu.
productdetails.Product.Archival
Informacja, czy produkt jest produktem archiwalnym.
productdetails.Product.AskForPrice
Informacja czy włączono opcję zapytaj o cenę.
productdetails.Product.Attachments
Lista załączników dodanych do produktu.
productdetails.Product.Attributes
Atrybuty produktu.Właściwości:
Format - format atrybutu: tekst, liczba, data itp.,
Id - Id danej właściwości,
Name - nazwa właściwości (np. materiał),
Object - właściwy obiekt dla atrbutu, zgodnie z Format,
Value - wartość danej właściwości (np. tworzywo sztuczne)
productdetails.Product.AttributesEditable
Pole edytowalne (przykładowo treść graweru na biżuterii).
productdetails.Product.AttributesList
Lista atrybutów produktu.
productdetails.Product.AttributesPolyvalent
W skład tej właściwości wchodzą: Format, Id, Name oraz Values (Values może posiadać Object, ValueId oraz Value).
productdetails.Product.Availability
Informacja o dostępności produktu.Właściwości:
Date - ustawienie daty kiedy towar będzie dostępny,
ImageUrl - adres URL obrazu,
Status - status,
Text - opis tekstowy,
Type - typ,
productdetails.Product.BasicUnit
Domyślna jednostka sprzedaży (np. sztuka).
productdetails.Product.BasicUnitMinQuantity
Minimalna ilość towaru do zakupu w jednostce podstawowej.
productdetails.Product.BasicUnitRatio
Przelicznik jednostki produktu.
productdetails.Product.Batch
Cechy towaru, (zwraca true jeżeli towar posiada konfigurację jednak nie jest ona odrębnym towarem).
productdetails.Product.Brand
Marka produktu.Właściwości:
Heading - nazwa,
Id - numer Id,
Image - informacje o obrazie (zawiera ExternalUrl, Id, Link),
ImageId - id obrazu,
Name - nazwa,
Url - adres Url,
UrlWithManufacturer - adres url Producenta,
productdetails.Product.BrandProducts
Towary danej marki.Właściwości:
AskForPrice - czy włączono opcję zapytaj o cenę,
Availability - dostępność. W skład tej właściwości wchodzą: Text, Type, Status, Date, ImageUrl
BasicUnitMinQuantity - minimalna ilość towaru do zakupu w jednostce podstawowej,
Brand - marka. W skład tej właściwości wchodzą: Name, Id, Heading, Image, ImageId, Url, UrlWithManufacturer
Code - kod produktu,
DecimalPlacesPrice - liczba miejsc po przecinku do wyświetlania ceny,
DecimalUnit - określa, czy jednostki mogą być liczbami niecałkowitymi,
DefaultGroup - grupa domyślna,
Flags - zwraca flagi (np. nowość, wyprzedaż),
GIDNumber - numer Id produktu z bazy systemu ERP,
HasAttributes - czy posiada atrybuty,
HasOtherUnits - czy przedmiot ma inne jednostki sprzedażowe (np. para, pojedynczy produkt),
Id - numer Id,
Image - zawiera informacje o obrazie. W skład tej właściwości wchodzą:
ExternalUrl - link zewnętrzny,
Id - id obrazu,
Link - link do obrazu,
ImageId - id obrazu,
Images - zawiera informacje o zdjęciach. W skład tej właściwości wchodzą:
ExternalUrl - link zewnętrzny,
Id - id zdjęcia,
Link - link do zdjęcia,
Link - link,
Manufacturer - producent. W skład tej właściwości wchodzą Name, Id, Heading, Image, ImageId, Url, Website,
MinPrice - cena minimalna z ostatnich 30 dni,
Name - nazwa,
NameNoHtml - nazwa bez znaczników HTML,
NoDiscount - informacja czy produkt może być objęty zniżką,
PreviousPrice - poprzednia cena,
Price - cena,
Rating - średnia ocen,
RatingCount - liczba ocen,
RegularPrice - cena normalna,
SaleUnit - jednostka sprzedażowa,
Type - typ,
UPC - kod EAN z ERP,
UnitPriceRatio - przelicznik ceny za jednostkę miary,
UnitPriceUnit - możliwa jednostka przeliczeniowa (np. litry na mililitry, gramy na kilogramy itd.). Jeżeli wartość jest nullem nie wyświetlamy ceny jednostkowej,
Url - adres URL,
Weight - waga,
productdetails.Product.CN
productdetails.Product.Clip
Właściwość informująca, czy jest to fantom.
productdetails.Product.Code
Kod produktu.
productdetails.Product.ControlStock
Pokazuje czy stany magazynowe zostały włączone.
productdetails.Product.DecimalPlacesPrice
Liczba miejsc po przecinku do wyświetlania ceny.
productdetails.Product.DecimalUnit
Informacja czy jednostki mogą być liczbami niecałkowitymi.
productdetails.Product.DefaultGroup
Informacja czy produkt posiada grupę domyślną.
productdetails.Product.DeliveryCostType
Typ kosztu dostawy (np. gdy towar jest bardzo duży).
productdetails.Product.Dimensions
Informuje o wymiarach, zawiera właściwości: Length (długość), Width (szerokość) i Height (wysokość).
productdetails.Product.Flags
Wyświetla informacje o flagach dla danego produktu (np. promocja, nowość) - zawiera pole text (nazwa, np. Nagroda) oraz type (typ, np. Reward).
productdetails.Product.GIDNumber
Numer Id produktu z bazy systemu ERP.
productdetails.Product.HasAttributes
Informacja czy produkt posiada atrybuty.
productdetails.Product.HasDefaultUnit
Informacja czy produkt posiada domyślną jednostkę.
productdetails.Product.HasOtherUnits
Informacja czy przedmiot ma inne jednostki sprzedażowe (np. para, pojedynczy produkt).
productdetails.Product.Hits
Ilość wyświetleń danego towaru.
productdetails.Product.Id
Numer Id produktu.
productdetails.Product.Image
Informacje o obrazie produktu.Właściwości:
ExternalUrl - zewnetrzny link,
Id - id obrazu,
Link - link do obrazu,
productdetails.Product.ImageId
Id obrazu produktu.
productdetails.Product.Images
Informacje na temat obrazków dołączonych do produktu.Właściwości:
Alt - alternatywny tekst, który wyświetli się zamiast obrazka,
ExternalUrl - zewnętrzny link,
Id - id obrazu,
Link - link obrazu,
Name - nazwa,
NoFollow - czy wykorzystywany jest atrybut nofollow,
Title - tytuł,
Wskazówka
Aby dostać się do powyższych właściwości productdetails.Product.Images[numer].Nazwa należy użyć nr zdjęcia w tablicy. Przykładowo, aby dostać się do pierwszego przedmiotu w nawiasie kwadratowym należy wpisać właściwą cyfrę. Należy pamiętać, że tablice numerowane są od 0.
productdetails.Product.Link
Link do produktu.
productdetails.Product.Manufacturer
Producent. W skład tej właściwości wchodzą Heading, Id, Image, ImageId, Name, Url, Website.
productdetails.Product.ManufacturerCode
Kod Producenta.
productdetails.Product.ManufacturerProducts
Towary danego producenta. Cechy tej właściwości są tożsame z w.w. właściwością BrandProducts.
productdetails.Product.MinPrice
Najniższa cena towaru lub usługi, jaka obowiązywała w okresie 30 dni przed wprowadzeniem obniżki.
productdetails.Product.MetaDescription
Opis Meta.
productdetails.Product.MetaKeywords
Słowa kluczowe Meta.
productdetails.Product.MetaTitle
Tytuł Meta.
productdetails.Product.ModifiedDate
Data ostatniej modyfikacji produktu.
productdetails.Product.MoreInfoUrl
Adres Url z większą ilością informacji.
productdetails.Product.Name
Nazwa produktu.
productdetails.Product.Name1
Nazwa produktu.
productdetails.Product.NameNoHtml
Nazwa produktu bez znaczników HTML.
productdetails.Product.NetWeight
Waga netto produktu.
productdetails.Product.NoDiscount
Informacja czy produkt może być objęty zniżką.
productdetails.Product.OrdersCount
Ilość osób (unikalnych klientów), które zakupiły dany produkt.
productdetails.Product.ParentId
Numer Id rodzica produktu.
productdetails.Product.Points
Liczba punktów lojalnościowych, które klient otrzyma za zakup tego towaru.
productdetails.Product.PointsPrice
Koszt towaru podany w punktach lojalnościowych.
productdetails.Product.PreviousPrice
Poprzednia cena produktu.
productdetails.Product.Price
Cena produktu.
productdetails.Product.Rating
Średnia ocen produktu.
productdetails.Product.RatingCount
Ilość ocen produktu.
productdetails.Product.RegularPrice
Cena standardowa produktu.
productdetails.Product.Related
Wyświetla produkty powiązane z obecnie oglądanym.Właściwości:
AskForPrice - czy włączono opcję zapytaj o cenę,
Availability - w skład tej właściwości wchodzą: Text, Type, Status, Date, ImageUrl
BasicUnitMinQuantity - minimalna ilość towaru do zakupu w jednostce podstawowej,
Brand - marka, w skład tej właściwości wchodzą: Name, Id, Heading, ImageId, Url, UrlWithManufacturer
Code - kod produktu,
DecimalPlacesPrice - liczba miejsc po przecinku do wyświetlania ceny,
DecimalUnit - czy jednostki mogą być liczbami niecałkowitymi,
DefaultGroup - grupa domyślna,
Flags - zwraca flagi (np. nowość, wyprzedaż),
GIDNumber - numer Id produktu z bazy systemu ERP,
HasAttributes - czy posiada atrybuty,
HasOtherUnits - czy przedmiot ma inne jednostki sprzedażowe (np. para, pojedynczy produkt),
Id - numer Id,
Image - informacje o obrazie, zawiera:
ExternalUrl - zewnetrzny link,
Id - id obrazu,
Link - link do obrazu,
ImageId - id obrazu,
Images - obrazy, zawiera właściwości ExternalUrl, Id oraz Link,
Link - link,
Manufacturer - w skład tej właściwości wchodzą Name, Id, Heading, ImageId, Url, Website,
MinPrice - cena minimalna z ostatnich 30 dni,
Name - nazwa,
NameNoHtml - nazwa bez znaczników HTML,
NoDiscount - informacja czy produkt może być objęty zniżką,
PreviousPrice - poprzednia cena,
Price - cena,
Rating - średnia ocen,
RatingCount - liczba ocen,
RegularPrice - cena normalna,
SaleUnit - jednostka sprzedażowa,
Type - typ,
UPC - kod EAN z ERP,
UnitPriceRatio - przelicznik ceny za jednostkę miary,
UnitPriceUnit - możliwa jednostka przeliczeniowa (np. litry na mililitry, gramy na kilogramy itd.). Jeżeli wartość jest nullem nie wyświetlamy ceny jednostkowej,
Url - adres Url,
Weight - waga
productdetails.Product.RelatedProducts
Wyświetla inne produkty powiązane z obecnie oglądanym (np. akcesoria do danego produktu).Właściwości:
AIProductsRecommendations - towary podobne do przeglądanego, rekomendowane przez dodatek Sztucznej inteligencji (AI),
Accessories - akcesoria do danego produktu,
Crossselling - produkty powiązane z przeglądanym,
Custom - dodatkowy typ ustawiany w systemie ERP,
Substitutes - produkty zastępcze do przeglądanego produktu,
Suggested - produkty sugerowane.
Wskazówka
Wyżej wymienione właściwości posiadają:
AskForPrice - czy włączono opcję zapytaj o cenę,
Availability - w skład tej właściwości wchodzą: Text, Type, Status, Date, ImageUrl
BasicUnitMinQuantity - minimalna ilość towaru do zakupu w jednostce podstawowej,
Brand - marka, w skład tej właściwości wchodzą: Name, Id, Heading, ImageId, Url, UrlWithManufacturer
Code - kod produktu,
DecimalPlacesPrice - liczba miejsc po przecinku do wyświetlania ceny,
DecimalUnit - czy jednostki mogą być liczbami niecałkowitymi,
DefaultGroup - grupa domyślna,
Flags - zwraca flagi (np. nowość, wyprzedaż),
GIDNumber - numer Id produktu z bazy systemu ERP,
HasAttributes - czy posiada atrybuty,
HasOtherUnits - czy przedmiot ma inne jednostki sprzedażowe (np. para, pojedynczy produkt),
Id - numer Id,
Image - informacje o obrazie, zawiera:
ExternalUrl - zewnetrzny link,
Id - id obrazu,
Link - link do obrazu,
ImageId - id obrazu,
Images - obrazy, zawiera właściwości ExternalUrl, Id oraz Link,
Link - link,
Manufacturer - w skład tej właściwości wchodzą Name, Id, Heading, ImageId, Url, Website,
MinPrice - cena minimalna z ostatnich 30 dni,
Name - nazwa,
NameNoHtml - nazwa bez znaczników HTML,
NoDiscount - informacja czy produkt może być objęty zniżką,
PreviousPrice - poprzednia cena,
Price - cena,
Rating - średnia ocen,
RatingCount - liczba ocen,
RegularPrice - cena normalna,
SaleUnit - jednostka sprzedażowa,
Type - typ,
UPC - kod EAN z ERP,
UnitPriceRatio - przelicznik ceny za jednostkę miary,
UnitPriceUnit - możliwa jednostka przeliczeniowa (np. litry na mililitry, gramy na kilogramy itd.). Jeżeli wartość jest nullem nie wyświetlamy ceny jednostkowej,
Url - adres Url,
Weight - waga
productdetails.Product.SaleUnit
Jednostka sprzedażowa produktu.
productdetails.Product.Sets
Informacje o zestawach.Właściwości:
PreviousPrice - wcześniejsza cena,
Price - cena,
Products - lista produktów wchodzących w skład zestawu,
SetId - id zestawu,
SetName - nazwa zestawu,
productdetails.Product.ShortDescription
Krótki opis produktu.
productdetails.Product.Sold
Ilość sprzedanych sztuk towaru.
productdetails.Product.SplitPayment
Podział płatności.
productdetails.Product.StockLevel
Stany magazynowe produktu.Właściwości:
Control - czy włączone są stany magazynowe,
ImageUrl - adres URL obrazu,
QuantityControl - kontrola ilości towaru,
Text - opis dla stanu,
Type - typ,
Value - wartość,
productdetails.Product.SubtotalMinPrice
Najniższa cena netto towaru lub usługi, jaka obowiązywała w okresie 30 dni przed wprowadzeniem obniżki (dotyczy sklepów Enterprise i B2B).
productdetails.Product.SubtotalPreviousPrice
Cena bez VAT produktu przed obniżką.
productdetails.Product.SubtotalPrice
Cena produktu bez VAT.
productdetails.Product.SubtotalRegularPrice
Cena produktu netto.
productdetails.Product.Supervisor
Opiekun produktu.
productdetails.Product.Supplies
Właściwości fantoma.Właściwości:
AttributeNames - zawiera nazwy poszczególnych fantomów (tj. opcji danego towaru, takich jak np. kolor), w skład tej właściwości wchodzi Id oraz Name (nazwa danej opcji)
Key - lista Id kolejnych właściwości prowadząca do opcji która jest nadrzędna
Supplies - informacje na temat opcji, zawiera:
Format - format atrybutu: tekst, liczba data itp.,
Object - obiekt właściwy dla atrbutu, zgodny z Format,
Supplies - właściwości fantoma - analogicznie właściwości jak w obecnie opisywanej właściwości Supplies,
Value - wartość danej właściwości towaru (np. rozmiar "M"/"L"),
ValueId - Id wartości,
productdetails.Product.Symbol
Symbol (w formie stringa).
productdetails.Product.TotalMinPrice
Najniższa cena brutto towaru lub usługi, jaka obowiązywała w okresie 30 dni przed wprowadzeniem obniżki (dotyczy sklepów Enterprise i B2B).
productdetails.Product.TotalPreviousPrice
Poprzednia cena towaru brutto.
productdetails.Product.TotalPrice
Cena z podatkiem VAT.
productdetails.Product.TotalRegularPrice
Cena produktu brutto.
productdetails.Product.Type
Typ towaru.
productdetails.Product.UPC
Zwraca kod EAN z ERP.
productdetails.Product.UnitPriceRatio
Przelicznik ceny za jednostkę miary.
productdetails.Product.UnitPriceUnit
Możliwa jednostka przeliczeniowa (np. litry na mililitry, gramy na kilogramy itd.). Jeżeli wartość to null, to nie wyświetlamy ceny jednostkowej.
productdetails.Product.Units
Jednostka sprzedażowa produktu.Właściwości:
Default - czy jest to wartość domyślna,
Dimensions - wymiary, zawiera Length (długość), Width (szerokość), Height (wysokość),
Id - Id danej jednostki,
Name - nazwa jednostki (np. para),
Ratio - przelicznik ceny przy zmianie jednostki,
productdetails.Product.Url
Adres Url produktu.
productdetails.Product.VAT
Stawka VAT.
productdetails.Product.WasteMgmtCost
Koszt gospodarowania odpadami.
productdetails.Product.Weight
Waga produktu.
productdetails.Product.YouTubeVideos
Załączone pliki video Youtube.
header.Nodes.Count
Liczba przedmiotów dostępna w danej kategorii menu.
header.Nodes.Groups
Jeżeli zawiera podmenu, to wyświetla pola wymienione w tym punkcie (Count, Heading, Id, Image, ImageId, Name, Nodes, Url oraz dodatkowe pole HasChildren)
Zwraca string PageQueryGET ustawiony z poziomu Panelu administratora (np. PageId).
productuserreviews.Reviews
Przetrzymuje recenzje danego produktu.Właściwości:
CreatedDate - kiedy recenzja została napisana,
Rating - ocena (w formie graficznej gwiazdek),
Author - autor recenzji,
Comment - komentarz/opis oceny,
RegisteredAuthor - czy autor recenzji był zalogowany
productuserreviews.TotalItems
Łączna liczba opinii.
comparison-tool.Attributes
Lista atrybutów.
comparison-tool.Products
Obiekt z produktami do porównania.Właściwości:
AddedDate - data dodania produktu,
AskForPrice - zapytaj o cenę,
Attributes - atrybuty,
AttributesList - listę atrybutów,
Availability - dostępność, zawiera:
Date - data,
ImageUrl - adres URL zdjęcia,
Status - status,
Text - opis słowny,
Type - numer oznaczający dostępność,
BasicUnit - domyślna jednostka sprzedaży (np. sztuka),
BasicUnitMinQuantity - minimalna ilość towaru do zakupu w jednostce podstawowej,
BasicUnitRatio - przelicznik jednostki,
Brand - marka, zawiera:
Heading - tytuł,
Id - numer id,
Image - informacje o obrazie, zawiera:
ExternalUrl - zewnetrzny link,
Id - id obrazu,
Link - link do obrazu,
ImageId - id obrazu,
Name - nazwa,
Url - adres URL,
UrlWithManufacturer - adres url producenta,
Code - kod produktu,
ControlStock - pokazuje, czy stany magazynowe zostały włączone,
DecimalPlacesPrice - liczba miejsc po przecinku do wyświetlania ceny,
DecimalUnit - czy jednostki moga być liczbami niecałkowitymi,
DefaultGroup - czy posiada grupę domyślną,
Flags - wyświetla informacje o flagach dla danego produktu, np. promocja, nowość. zawiera pole text - nazwa oraz typ,
GIDNumber - numer Id produktu z bazy systemu ERP,
HasAttributes - czy posiada atrybuty,
HasDefaultUnit - czy posiada domyślną jednostkę,
HasOtherUnits - czy posiada inne jednostki sprzedażowe,
Hits - ilość wyświetleń danego towaru,
Id - numer id,
Image - informacje o obrazie, zawiera:
ExternalUrl - zewnetrzny link,
Id - id obrazu,
Link - link do obrazu,
ImageId - id obrazu,
Images - zdjęcia produktu, dla każdego z nich posiada:
ExternalUrl - zewnętrzny link,
Id - id zdjęcia,
Link - link do zdjęcia,
Link - link,
Manufacturer - producent, zawiera:
Heading - nazwa,
Id - numer id,
Image - informacje o obrazie, zawiera:
ExternalUrl - zewnetrzny link,
Id - id obrazu,
Link - link do obrazu,
ImageId - id obrazu,
Name - nazwa,
Url - adres URL,
Website - adres URL,
ManufacturerCode - kod producenta,
MetaDescription - opis (metadane),
MetaKeywords - słowa kluczowe (metadane),
MetaTitle - tytuł (metadane),
MinPrice - cena minimalna z ostatnich 30 dni,
ModifiedDate - data modyfikacji,
MoreInfoUrl - adres URL z większą ilością informacji,
Name - nazwa,
Name1 - nazwa,
NameNoHtml - nazwe bez znaczników HTML,
NetWeight - waga netto,
NoDiscount - informacja czy produkt może być objęty zniżką,
OrdersCount - ilość osób (unikalnych klientów), które zakupiły dany produkt,
ParentId - numer id rodzica,
Points - liczba punktów lojalnościowych przyznawana za zakup tego towaru,
PointsPrice - koszt towaru podany w punktach lojalnościowych,
PreviousPrice - cena poprzednia,
Price - cena,
Rating - średnia ocen,
RatingCount - ilość ocen,
RegularPrice - cena standardowa,
SaleUnit - jednostka sprzedażowa,
ShortDescription - krótki opis,
Sold - informacja o liczbie sprzedanych sztuk danego towaru,
StockLevel - stany magazynowe,
SubtotalMinPrice - cena minimalna netto z ostatnich 30 dni od daty wprowadzenia promocji,
SubtotalPreviousPrice - cena poprzednia bez VAT,
SubtotalPrice - cena bez VAT,
SubtotalRegularPrice - cena netto,
Symbol - symbol (w formie stringa),
TotalMinPrice - cena minimalna brutto z ostatnich 30 dni od daty wprowadzenia promocji,
TotalPreviousPrice - cena poprzednia brutto,
TotalPrice - cena z podatkiem VAT,
TotalRegularPrice - cena produktu brutto,
Type - typ towaru,
UPC - zwraca kod EAN z ERP,
UnitPriceRatio - przelicznik ceny za jednostkę miary,
UnitPriceUnit - możliwa jednostka przeliczeniowa (np. litry na mililitry, gramy na kilogramy itp.). Jeżeli wartość wynosi null, to nie wyświetlamy ceny jednostkowej,
Url - adres URL produktu,
VAT - stawka VAT,
WasteMgmtCost - koszt gospodarowania odpadami,
Weight - waga,
customerprofile.Complaint
Przetrzymuje szczegóły na temat reklamacji.
customerprofile.ComplaintQueryGET
Zwraca string ComplaintQueryGET ustawiony z poziomu Panelu administratora (np.PageId).
customerprofile.ComplaintsActive
Lista z trwającymi właśnie reklamacjami i zwrotami.Właściwości:
Complaints - zawiera informacje o reklamacjach i zwrotach. W jego skład wchodzą właściwości:
ComplaintId - id reklamacji/zwrotu,
CreatedDate - data utworzenia reklamacji/zwrotu,
Currency - waluta,
Informacje o walucie. Zawiera:
Code - waluta przesłana z systemu ERP,
Symbol - symbol wprowadzony w panelu administracyjnym,
DecimalPlacesPrice - liczba miejsc po przecinku do wyświetlania ceny,
DefaultGroup - grupa domyślna produktu,
Description - opis reklamacji/zwrotu,
Id - id produktu,
Image - informacje o obrazie, zawiera:
ExternalUrl - zewnetrzny link,
Id - id obrazu,
Link - link do obrazu,
ImageId - id zdjęcia produktu,
Link - link do produktu,
NameNoHtml - nazwa produktu,
OrderId - numer zamówienia,
Price - cena,
Quantity - ilość,
Status - numer określający aktualny status reklamacji/zwrotu,
StatusText - tekst określający aktualny status reklamacji/zwrotu,
SubtotalPrice - cena netto,
SubtotalPrices - czy wyświetlane ceny są cenami netto,
SubtotalValue - wartość netto,
TotalPrice - cena brutto,
TotalValue - wartość brutto,
Type - numer określający typ (reklamacja czy zwrot),
TypeText - tekst określający typ (reklamacja czy zwrot),
Unit - jednostka,
Url - adres strony z produktem,
Value - wartość,
ItemsPerPage - ilość przedmiotów które mają być wyświetlane na stronie,
PageCount - ilość stron,
PageNo - numer strony,
PageQueryGET - zwraca string PageQueryGET ustawiony z poziomu Panelu administratora (np. PageId),
TotalItems - łącznie przedmiotów
customerprofile.ComplaintsExecuted
Informacje na temat rozstrzygniętych reklamacji i zwrotów, zawiera pola analogicznie jak ComplaintsActive.
customerprofile.Consents
Informacje o zgodach Klienta.Właściwości:
Channels - kanały,
Checked - czy zgoda została zaakceptowana,
Contents - treści regulaminów przypisane do konkretnej zgody,
Date - data wyrażenia zgody,
Id - numer id zgody,
PublishedDate - data publikacji zgody,
Required - czy zgoda jest wymagana,
Statement - czy jest to forma oświadczenia,
Text - treść zgody,
Type - numer oznaczający typ zgody,
Updated - kiedy była aktualizacja tresci,
customerprofile.DiscountDetPageQueryGET
Zwraca string DiscountDetPageQueryGet ustawiony z poziomu Panelu Administratora.
customerprofile.DiscountERPDetails
Informacje nt. zniżki z systemu ERP.
customerprofile.DiscountQueryGET
Zwraca string DiscountQueryGET ustawiony z poziomu Panelu Administratora.
customerprofile.Discounts
Informacje na temat zniżek przysługujących Klientowi.Właściwości:
CustomerGroups - ulubione kategorie danego Klienta,
CustomerProducts - ulubione produkty danego Klienta,
FirstOrder - jeśli zwraca true to jest to pierwsze zamówienie Klienta zaś w Panelu Administracyjnym znajduje się obniżka dla pierwszych zamówień,
Groups - zniżka grupowa (dotyczy danej grupy produktów, np. obuwia damskiego). Zawiera Currency, DateTill, Discount, DiscountType, Treshold oraz Group, które zawiera Count, HasChildren, Heading, Id, Image, ImageId, Name oraz Url,
OrderValue - wartość zamówienia (po przeliczeniu zniżki),
Products - produkty, na które klient ma zniżkę,
Regular - standardowa obniżka (jeżeli została taka przypisana w Panelu Administracyjnym),
customerprofile.DiscountsERP
Informacje na temat zniżek z systemu ERP.Właściwości:
Discounts - lista produktów ze zniżkami, zawiera:
Code - kod,
DateFrom - data, początek ważności zniżki,
DateTill - data, koniec ważności zniżki,
Description - opis,
Id - numer id,
Name - nazwa produktu ze zniżką,
Type - typ zniżki,
ItemsPerPage- ilość produktów na stronie,
PageCount - ilość stron,
PageNo - numer strony,
PageQueryGET - zwraca string PageQueryGET ustawiony z poziomu Panelu Administratora,
TotalItems - łączna ilość towarów ze zniżkami (odpowiada ilości produktów w tym obiekcie we właściwości Discounts,
customerprofile.DiscountsEshop
Zniżki z e-Sklepu.Właściwości:
FirstOrder - jeśli zwraca true to jest to pierwsze zamówienie Klienta zaś w Panelu Administracyjnym znajduje się obniżka dla pierwszych zamówień,
OrderValue - rabat od wartości zamówienia,
Regular - rabat dla stałego klienta,
customerprofile.DiscountsPageQueryGet
Zwraca string DiscountsPageQueryGet ustawiony z poziomu Panelu Administratora.
customerprofile.Employees
Lista pracowników jakich posiada sklep, wraz z ich danymi.Właściwości:
Active - czy pracownik ma status aktywnego,
Email - adres email pracownika,
ExportedToERP - czy pracownik został wyeksportowany do systemu ERP,
Id - id pracownika,
LanguageId - id języka,
Name - nazwa pracownika,
Name2 - nazwa pracownika,
Owner - czy jest właścicielem,
PhoneNo - numer telefonu pracownika,
customerprofile.History
Zawiera informacje na temat działań na koncie, np. logowań (i nieudanych prób logowania) czy zmiany danych.Właściwości:
Items - zawiera następujące informacje:
Category - rodzaj wykonanej akcji (np. Logowanie),
Date - data wykonania akcji,
Event - opis akcji (np. Logowanie poprawne),
User - kto wykonał akcję,
UserType - typ użytkownika, który wykonał akcję
ItemsPerPage - ilość akcji wyświetlanych na jednej stronie,
PageCount - ilość stron,
PageNo - numer strony,
PageQueryGet - zwraca string PageQueryGET ustawiony z poziomu Panelu administratora (np. PageId),
TotalItems - łączna liczba akcji,
customerprofile.Inquiries
Zawiera informacje odnośnie zapytań ofertowych.Właściwości:
ItemsPerPage - maksymalna ilość zapytań wyświetlana na jednej stronie,
List - lista zapytań, zawiera:
Date - data złożenia zapytania,
Id - id zapytania,
Status - numer określający status zapytania,
StatusText - tekst opisujący status zapytania,
PageCount - ilość stron,
PageNo - numer strony,
PageQueryGET - zwraca string PageQueryGET ustawiony z poziomu Panelu administratora (np. PageId),
TotalItems - ilość zapytań ofertowych,
customerprofile.InquiriesPageQueryGet
Zwraca string InquiriesPageQueryGet ustawiony z poziomu Panelu administratora.
customerprofile.LinkedAccounts
Powiązane konta.
customerprofile.LoyaltyHistory
Historia wydawanych i zdobywanych punktów lojalnościowych.Właściwości:
Items - informacje odnośnie płatności punktami lojalnościowymi, zawiera:
Date - data,
Event - numer oznaczający zdarzenie,
EventText - tekst opisujący zdarzenie,
Id - numer id,
Points - ilość punktów,
User - typ użytkownika (słownie),
UserType - numer określający typ użytkownika,
ItemsPerPage - ilość akcji wyświetlanych na jednej stronie,
PageCount - ilość stron,
PageNo - numer strony,
PageQueryGET - zwraca string PageQueryGET ustawiony z poziomu Panelu administratora (np. PageId),
TotalItems - łączna liczba akcji,
customerprofile.Newsletter
Informacje o subskrypcji newslettera oraz Id języka.Właściwości:
LanguageId - id języka, w jakim newsletter ma się wyświetlać,
Subscriber - czy użytkownik jest subskrybentem newslettera,
customerprofile.Offer
customerprofile.OfferDetPageQueryGET
Zwraca string OfferDetPageQueryGET ustawiony z poziomu Panelu administratora.
customerprofile.OfferQueryGET
Zwraca string OfferQueryGET ustawiony z poziomu Panelu administratora.
customerprofile.Offers
Lista ofert.Właściwości:
ItemsPerPage - ilość ofert na stronie,
List - lista ofert, zawiera:
Date - data utworzenia oferty,
Id - numer id oferty,
Status - numer określający status oferty,
StatusText - tekst opisujący aktualny status oferty,
PageCount - ilość stron,
PageNo - aktualna strona,
PageQueryGET - zwraca string PageQueryGET ustawiony z poziomu Panelu administratora,
TotalItems - ilość ofert,
customerprofile.OffersPageQueryGet
Zwraca string OffersPageQueryGet ustawiony z poziomu Panelu administratora.
customerprofile.Order
Zawiera informacje na temat złożonego zamówienia.Właściwości:
Attachments - załączniki,
Attributes – atrybuty nagłówkowe zamówienia,
CanAccept - czy zamówienie może być zaakceptowane,
CanCancel - czy zamówienie może być anulowane,
CanCopy - czy zamówienie może zostać skopiowane,
CanEdit – czy zamówienie można edytować,
CanRestorePayment - jeżeli wartość true, to umożliwia to umożliwia ponowne opłacenie towaru (np. w przypadku awarii Banku, nieudanej płatności itp.),
Currency - zwraca walutę,
Customer- zwraca informacje dotyczące Klienta:
Buyer - trzecie dane klienta,
Company - czy Klient jest firmą,
DeliveryAddress- zwraca informacje na temat adresu dostawy:
City - miasto,
Country - kraj,
Name - dane kupującego,
Name2 - dane kupującego,
Name3 - dane kupującego,
PhoneNo - numer telefonu,
State - województwo,
Street - ulica,
StreetNo - numer domu,
UnitNo - numer mieszkania,
ZipCode - kod pocztowy,
Email - zwraca adres mailowy,
Employee- zwraca informacje na temat pracownika, zawiera:
Email - adres mailowy,
LanguageId - id języka,
Name - nazwa,
Name2 - dodatkowe pole nazwa,
PhoneNo - numer telefonu
Invoice - czy wybrano fakturę,
InvoiceAddress - zawiera dane adresowe na jakie ma być wystawiona faktura. Zawiera te same pola co DeliveryAddress oraz dodatkowo pole Email wskazujące na adres mailowy,
RegisteredUser - czy użytkownik jest zarejestrowany,
SSN - numer PESEL,
TIN - numer NIP,
VATEU - zwraca kraj właściwy dla VAT,
Date - data złożenia zamówienia,
Delivery - wybrany sposób dostawy, zawiera:
CollectionPoint - punkt odbioru,
CollectionPointAddress - dane adresowe punktu odbioru,
CollectionPointId - numer id punktu odbioru,
CollectionPointTypeId - numer id oznaczający typ punktu odbioru,
DateText - data,
Description - opis,
MethodId - numer id sposobu dostawy,
Name - nazwa sposobu dostawy,
PackageCount - ilość paczek,
Status - status dostawy (numer),
StatusText - status dostawy (tekst),
SubtotalValue - wartość bez podatku VAT,
TotalValue - wartość zamówienia,
Waybill - list przewozowy,
Waybills - informacje o listach przewozowych,
DeliveryDate - zawiera liczbę (zazwyczaj dni) w ciągu których towar zostanie dostarczony,
Discount - zniżka,
Documents - załączone dokumenty/pliki,
ERPOrderNumber – numer zamówienia z ERPa,
EditingAllowed – jeśli true to zamówienie jest w trakcie edycji,
ExpectedDate - dzień dostarczenia towaru ,
ExpirationDate - dzień do którego towar zostanie dostarczony,
Hash - unikalny numer oznaczający zamówienie,
Id - numer Id,
IsEdited – jeśli true to zamówienie zostało wyedytowane,
ItemsPerPage – ilość towarów na stronie na szczegółach zamówienia,
LanguageId - Id języka,
NotDeterminedDeliveryCost - wyświetla informacje czy koszt dostawy został zdefiniowany,
Note - dodatkowe informacje,
OrderTotalValue - łączna wartość zamowienia,
PageCount – ilość stron z towarami na szczegółach zamówienia,
PageNo – numer strony z towarami na szczegółach zamówienia,
Payment - informacje odnośnie płatności, zawiera:
Description - opis,
DueDateText - określa termin/moment płatności,
MethodId - Id danej metody,
MethodIdText - opis danego Id,
MethodType - typ metody,
Name - nazwa,
OnlineNumber - Id transakcji z platności online,
Status - status płatności (numer),
StatusText - status płatności (tekst),
SubtotalValue - koszt płatności bez podatku VAT,
TotalValue - łączny koszt płatności,
Points – punkty lojalnościowe otrzymane za złożenie zamówienia,
PointsPaid – punkty lojalnościowe wydane w tym zamówieniu,
ProcessedDate - data wysłania,
Products - informacje o produktach w zamówieniu, zawiera:
Attributes – atrybuty elementu zamówienia,
CanComplain - czy można złożyć reklamację,
CanReturn - czy można zwrócić towar,
Code - kod produktu,,
DefaultGroup - grupa domyślna produktu,
Description - pole opis (np. rozmiar buta),
Id - numer Id,
Image - obraz,
ImageId - Id obrazu,
IsDeleted – czy usunięty,
IsEdited – czy wyedytowany,
IsModified – czy modyfikowany,
IsSetElement - czy jest częścią zestawu,
IsSetParent - czy przedmiot jest przedmiotem głównym,
Link - link,
NameNoHtml - nazwa bez tagów HTML,
No - numer,
Price - cena,
Quantity - ilość zakupionego towaru,
ReturnedQuantity - ilość zwróconego towaru,
SetName - nazwa zestawu,
SubtotalPrice - cena bez VAT,
SubtotalValue - cena całkowita (cena * ilość) bez VAT,
TotalPrice - cena z podatkiem VAT,
TotalValue - całkowita wartość zamówienia,
UPC - zwraca kod EAN z ERP,
Unit - jednostka sprzedażowa (np. para),
Url - adres URL,
VAT - wartość podatku VAT,
Value - wartość brutto towaru,
WasteMgmtCost - koszty gospodarowania odpadami,
ProductsSubtotalValue - cena towarów bez podatku VAT,
ProductsTotalValue - łączna cena towarów w koszyku,
ProductsValue - wartość towarów,
ProductsValueBeforeDiscount – wartość towarów przed zniżką,
ProductsVatValue - wartość podatku VAT (w złotówkach),
RecalculationRequired – czy wymagane przeliczenie zamówienia,
RelatedOffers - powiązane oferty sprzedaży,
RelatedOrders - powiązane zamówienia,
ReportUrl - wygenerowany link do raportu,
SelectedDeliveryDate – wybrana przez klienta data dostawy,
Source - źródło,
SplitPayment - podział płatności,
Status - status,
StatusText - opis tekstowy statusu,
SubtotalPrices - czy wyświetlane ceny są cenami netto,
TotalItems – ilość wszystkich towarów z zamówienia,
Url - adres URL do zamówienia, zawiera hash,
Weight - waga,
customerprofile.OrderDetPageQueryGET
Zwraca string OrderDetPageQueryGET ustawiony w panelu administracyjnym.
customerprofile.OrderQueryGET
Zwraca string OrderQueryGET ustawiony z poziomu Panelu administratora (np.PageId).
customerprofile.Orders
Połączenie danych z customerprofile.Active i customerprofile.Executed.Właściwości:
ItemsPerPage - maksymalna ilość na jednej stronie,
Orders - zawiera informacje o zamówieniach, posiada właściwości:
Currency - waluta,
CurrencyExt - informacje o walucie. Zawiera Code i Symbol,
Date - data złożenia zamówienia,
DeliveryStatus - status zamówienia (numer),
DeliveryStatusText - status zamówienia (tekst),
Email - adres email,
OrderId - numer id zamówienia,
PaymentStatus - status płatności (numer),
PaymentStatusText - status płatności (tekst),
Status - status zamówienia (numer),
StatusText - status zamówienia (tekst),
SubtotalValue - wartość zamówienia bez podatku VAT,
TotalValue - wartość zamówienia z podatkiem VAT,
Value - wartość zamówienia,
PageCount - ilość stron,
PageNo - aktualny numer strony,
PageQueryGET - zwraca string PageQueryGET ustawiony z poziomu Panelu administratora,
TotalItems - łączna ilość zamówień,
customerprofile.OrdersActive
Informacje na temat aktywnych zamówień.Właściwości:
ItemsPerPage - ilość przedmiotów wyświetlanych na jednej stronie,
Orders - lista aktywnych zamówień zawiera następujące informacje:
Currency - waluta,
CurrencyExt - informacje o walucie. Zawiera Code i Symbol,
Date - data złożenia zamówienia,
DeliveryStatus - status zamówienia (numer),
DeliveryStatusText - status zamówienia (tekst),
Email - adres email,
OrderId - numer id zamówienia,
PaymentStatus - status płatności (numer),
PaymentStatusText - status płatności (tekst),
Status - status zamówienia (numer),
StatusText - status zamówienia (tekst),
SubtotalValue - wartość zamówienia bez podatku VAT,
TotalValue - wartość zamówienia z podatkiem VAT,
Value - wartość zamówienia,
PageCount - ilość stron,
PageNo - numer strony,
PageQueryGet - zwraca string PageQueryGET ustawiony z poziomu Panelu administratora (np. PageId),
TotalItems - łączna liczba aktywnych zamówień,
customerprofile.OrdersExecuted
Zamówienia zrealizowane.Właściwości:
ItemsPerPage - ilość przedmiotów wyświetlanych na jednej stronie,
Orders - lista aktywnych zamówień zawiera następujące informacje:
Currency - waluta,
CurrencyExt - informacje o walucie. Zawiera Code i Symbol,
Date - data złożenia zamówienia,
DeliveryStatus - status zamówienia (numer),
DeliveryStatusText - status zamówienia (tekst),
Email - adres email,
OrderId - numer id zamówienia,
PaymentStatus - status płatności (numer),
PaymentStatusText - status płatności (tekst),
Status - status zamówienia (numer),
StatusText - status zamówienia (tekst),
SubtotalValue - wartość zamówienia bez podatku VAT,
TotalValue - wartość zamówienia z podatkiem VAT,
Value - wartość zamówienia,
PageCount - ilość stron,
PageNo - numer strony,
PageQueryGet - zwraca string PageQueryGET ustawiony z poziomu Panelu administratora (np. PageId),
TotalItems - łączna liczba zrealizowanych zamówień,
customerprofile.ProductsToRate
Produkty zakupione ale jeszcze nie ocenione.Właściwości:
ItemsPerPage - maksymalna ilość przedmiotów na stronie,
PageCount - ilość stron,
PageNo - numer strony,
PageQueryGet - zwraca string PageQueryGET ustawiony z poziomu Panelu administratora,
Products - informacje o produktach, zawiera:
OrderDate - data złożenia zamówienia,
OrderId - id zamówienia,
Product - informacja o produkcie, zawiera:
DefaultGroup - domyślna grupa,
Id - id produktu,
Image - informacje o obrazie, zawiera:
ExternalUrl - zewnetrzny link,
Id - id obrazu,
Link - link do obrazu,
ImageId - id zdjęcia,
Link - link do produktu,
NameNoHtml - nazwa produktu bez znaczników HTML,
Url - adres URL produktu,
TotalItems - łączna ilość produktów do oceny,
customerprofile.Reviews
Zawiera informacje na temat opinii napisanych przez użytkownika.Właściwości:
AverageRating - średnia ocen,
ItemsPerPage - ilość przedmiotów na stronie,
PageCount - ilość stron,
PageNo - numer strony,
PageQueryGET - zwraca string PageQueryGET ustawiony z poziomu Panelu administratora,
Reviews - opinie. Zawiera:
Active - czy opinia jest aktywna,
Comment - treść opinii,
CreatedDate - data utworzenia,
OrderId - id zamówienia,
Product - informacje o produkcie. Zawiera:
DefaultGroup - domyślna grupa,
Id - id produktu,
Image - informacje o obrazie, zawiera:
ExternalUrl - zewnetrzny link,
Id - id obrazu,
Link - link do obrazu,
ImageId - id obrazka,
Link - link,
NameNoHtml - nazwa (bez znaczników html),
Url - adres strony produktu,
Rating - ocena,
TotalItems - łączna ilość opinii,
customerprofile.WishList
Lista towarów znajdujących się na liście życzeń/przechowalni.Właściwości:
Note - uwagi,
Notify - powiadomienie,
NofifyDate - data powiadomienia,
Product - informacje o produkcie, zawiera:
AskForPrice - zapytaj o cenę,
Availability - dostępność, zawiera:
Date - data,
ImageUrl - adres URL zdjęcia,
Status - status dostępności (numer),
Text - status dostępności (tekst),
Type - typ,
BasicUnitMinQuantity - informacja o minimalnej ilości zakupu w jednostce podstawowej towaru,
Brand - marka, zawiera:
Heading - tytuł,
Id - id marki,
Image - informacje o obrazie, zawiera:
ExternalUrl - zewnetrzny link,
Id - id obrazu,
Link - link do obrazu,
ImageId - numer id obrazu,
Name - nazwa marki,
Url - adres url marki,
UrlWithManufacturer - adres do produktów danego producenta,
Code - kod,
DecimalPlacesPrice - liczba miejsc po przecinku do wyświetlania ceny,
DecimalUnit - czy jednostki mogą być liczbami niecałkowitymi,
DefaultGroup - domyślna grupa,
Flags - flagi (np. nowość, wyprzedaż),
GIDNumber - numer Id produktu z bazy systemu ERP,
HasAttributes - czy posiada atrybuty,
HasOtherUnits - czy posiada inne jednostki sprzedażowe,
Id - numer id,
Image - zdjęcie, zawiera:
ExternalUrl - zewnętrzny link,
Id - numer id obrazu,
Link - link do obrazu,
ImageId - id obrazu,
Images - zdjęcia, zawiera:
ExternalUrl - zewnętrzny link,
Id - numer id obrazu,
Link - link do obrazu,
Link - link do produktu,
Manufacturer - producent, zawiera:
Heading - tytuł,
Id - numer id producenta,
Image - zdjęcie, zawiera:
ExternalUrl - zewnętrzny link,
Id - numer id obrazu,
Link - link do obrazu,
ImageId - id obrazu,
Name - nazwa,
Url - adres URL,
Website - strona WWW producenta,
MinPrice – cena minimalna z ostatnich 30 dni,
Name - nazwa produktu,
NameNoHtml - nazwa produktu bez znaczników HTML,
NoDiscount - informacja, czy produkt może być objęty zniżką,
PreviousPrice - cena poprzednia,
Price - cena,
Rating - średnia ocena,
RatingCount - ilość ocen,
RegularPrice - cena normalna,
SaleUnit - jednostka sprzedażowa (np. para),
Type - typ,
UPC – kod EAN z ERP,
UnitPriceRatio - przelicznik ceny za jednostkę miary,
UnitPriceUnit - możliwa jednostka przeliczniowa (np. litry na mililitry, gramy na kilogramy itd.),
Url - adres url,
Weigth - waga,
Quantity - ilość,
blog.LatestPosts
Zwraca informacje na temat ostatnich postów.Właściwości:
Content - zawartość wpisu (jego treść),
Heading - tytuł,
Id - numer Id,
ImageUrl - URL obrazu,
PublishedDate - data publikacji,
Url - adres URL,
Tags - tagi, zawiera właściwości:
Text - tekst,
Url - adres URL,
Weight - waga,
blog.PostDetails
Informacje o szczegółach posta.Właściwości:
Content - treść,
Heading - nagłówek,
Id - id,
ImageUrl - url obrazka,
MetaDescription - meta opis,
MetaKeywords - meta słowa kluczowe,
MetaTitle - meta tytuł,
Next - informacje o następnym poście, zawiera:
Heading - nagłówek,
Id - id,
PublishedDate - data publikacji,
Url - url,
Previous - informacje o poprzednim poście (analogicznie do Next),
PublishedDate - data publikacji,
Tags - informacje o tagach, zawiera:
Text - nazwa taga,
Url - url do listy postów z danym tagiem,
Weight - waga,
Url - url,
blog.PostList
Informacje o liście postów.Właściwości:
ItemsPerPage - ilość wpisów wyświetlanych na jednej stronie,
PageCount - ilość stron,
PageNo - numer strony,
PageQueryGET - zwraca string PageQueryGET ustawiony z poziomu Panelu administratora (np. PageId),
TotalItems - łączna liczba postów ,
Posts - zawiera informacje na temat wpisów na stronie. Właściwość ta zawiera dokładnie te same elementy co LatestPosts,
Search - informacje o wyszukaniu. Zawiera element Url,
cart.Attachments
Załączniki dodane do zamówienia.
cart.Attributes
Atrybuty nagłówkowe zamówienia.
cart.AuthenticationRequired
Informacja czy wymagane jest aby użytkownik był zalogowany.
cart.CartEmpty
Informacja czy koszyk jest pusty.
cart.Changes
Zwraca true jeśli dokonano zmiany w koszyku (np. dodanie produktu jako użytkownik zalogowany, wylogowanie i ponowne dodanie produktu jako zalogowany użytkownik).
cart.CollectionPointMapUrl
Link do mapy z punktami odbioru.
cart.CompanyOnly
Jeśli true to zamówienie można złożyć tylko jako firma.
cart.Coupon
Zwraca użyty kod rabatowy.
cart.Currency
Waluta w koszyku.
cart.CurrencyExt
Informacje o walucie w koszyku. Zawiera Code i Symbol).
cart.Customer
Informacje na temat Klienta.Właściwości:
Buyer - trzecie dane klienta,
Company - czy Klient jest firmą,
CustomerDetailsEditable - czy można edytować dane,
DeliveryAddress- właściwość odpowiada za możliwość zmiany adresu dostawy, składa się z:
City - miasto,
Country - kraj,
Name - dane odbiorcy,
Name2 - dane odbiorcy,
Name3 - dane odbiorcy,
PhoneNo - numer telefonu,
State - województwo,
Street - ulica,
StreetNo - numer domu,
UnitNo - numer mieszkania,
ZipCode - kod pocztowy,
Email - adres e-mail,
Id - numer Id,
Invoice - czy Klient chce aby wystawiona została faktura,
InvoiceAddress - właściwość odpowiada za możliwość wybrania danych do faktury, takich jak:
City - miasto,
Country - kraj,
Name - dane odbiorcy faktury,
Name2 - dane odbiorcy faktury,
Name3 - dane odbiorcy faktury,
PhoneNo - numer telefonu,
State - województwo,
Street - ulica,
StreetNo - numer domu,
UnitNo - numer mieszkania,
ZipCode - kod pocztowy,
SSN - numer PESEL,
TIN - numer NIP,
VATEU - numer VATEU,
cart.DeliveryMethods
Informacje na temat sposobów dostawy.Właściwości:
CalculationId - id kalkulacji,
CollectionPointTypeId - numer id oznaczający typ punktu odbioru,
DateText - opis sposobu dostawy,
Description - opis,
FastDelivery - czy obsługuje opcję szybkiej dostawy,
FreeDeliveryFrom - opcja darmowej dostawy od określonej kwoty,
ImageUrl - url do obrazu,
Name - nazwa,
NotDeterminedDeliveryCost - zwraca true jeżeli koszt dostawy zostanie ustalony przez obsługę sklepu,
Payments - informacje na temat sposobu płatności dostępnego dla wybranego sposobu dostawy. Zawiera:
AdditionalDataHTML - dodatkowo przekazany HTML,
COD - płatność za pobraniem,
Channels - kanały płatności,
Description - opis,
DueDateText - określa termin płatności,
FreePaymentFrom - darmowa płatność od (kwota),
Id - numer Id,
ImageUrl - adres URL obrazu,
MethodId - numer id metody płatności,
Name - Nazwa,
TotalValue - kwota,
TotalValue - wartość sposobu dostawy (cena),
cart.Demo
Gdy true, nie można składać zamówień.
cart.Discount
Wartość rabatu wyrażona w procentach.
cart.EditedOrderId
Id wyedytowanego zamówienia.
cart.GratisItems
Informuje o przysługujących produktach promocyjnych. Właściwości:
Attributes - atrybuty produktu, zawiera:
Format – format atrybutu: tekst, liczba, data itp.,
Id – Id danej właściwości,
Name – nazwa właściwości (np. materiał),
Object – właściwy obiekt dla atrbutu, zgodnie z Format,
Value – wartość danej właściwości (np. tworzywo sztuczne)
AttributesEditable - pole z atrybutami edytowalnymi (przykładowo treść graweru na biżuterii),
AttributesPolyvalent - lista atrybutów produktu,
DiscountId - numer Id rabatu,
DiscountType - typ przyznanego rabatu,
DiscountValue - wartość przyznanego rabatu,
ElementId - numer Id produktu promocyjnego,
HasAttributes - informacja czy produkt posiada atrybuty,
Image - informacje o obrazie produktu, zawiera:
ExternalUrl - zewnętrzny link,
Id - numer id obrazu,
Link - link do obrazu,
IsNetPrice - informacja czy cena jest wartością netto,
Name - nazwa rabatu,
NameNoHtml - nazwa produktu,
ProductGroupId - numer Id grupy rabatowej do której należy produkt,
ProductId - numer Id produktu,
Quantity - ilość danego przedmiotu na którą naliczany jest towar po cenie promocyjnej,
SaleUnit - jednostka sprzedażowa,
Url - adres URL,
Value - wartość produktu promocyjnego,
cart.NotDeterminedDeliveryCost
Zwraca true jeżeli koszt dostawy zostanie ustalony przez obsługę sklepu.
cart.NotDeterminedProductsDeliveryCost
cart.Note
Informacje/uwagi dodatkowe wpisane przez Klienta.
cart.OSS
Informacja o obsłudze szczególnej procedury rozliczania VAT dla e-Commerce.
cart.OrderStep
Nazwa kroku w zamówieniu.
cart.OrderTotalValue
Łączna wartość do zapłaty.
cart.OrderValueDiscounts
Łączna wartość zniżek.
cart.PlacedOrder
Wszystkie dane odnośnie danego zamówienia.
cart.Points
Punkty lojalnościowe, które klient otrzyma za złożenie tego zamówienia.
cart.PointsForValue
Ilość punktów lojalnościowych za wartość zamówienia.
cart.PointsPaid
Punkty lojalnościowe wydane przy składaniu tego zamówienia.
cart.PointsPrice
Cena zamówienia (netto lub brutto w zależności od rodzaju klienta – prywatny lub firma) przy użyciu punktów lojalnościowych.
cart.PointsPriceTotalValue
Cena brutto zamówienia przy użyciu punktów lojalnościowych.
cart.PreOrder
Informacja czy produkt jest zapowiedzią (nie jest jeszcze dostępny).
cart.Products
Informacje o produkcie/produktach w koszyku.Właściwości:
AskForPrice - czy włączono opcję zapytaj o cenę,
AskForPriceId - numer id zapytania o cenę,
Attributes - atrybuty,
BasicUnit - podstawowa jednostka,
BasicUnitRatio - przelicznik jednostki,
CanChangeQuantity - czy można zmienić ilość,
CanDelete - czy można usunąć,
Changed - jeśli wartość zwraca true należy dokonać ponownego przeliczenia koszyka,
Code - kod produktu,
DecimalPlacesPrice - liczba miejsc po przecinku do wyświetlania ceny,
DecimalUnit - czy jednostka może być liczbą niecałkowitą,
DefaultGroup - do jakiej grupy domyślnej przedmiot należy,
Description - opis przedmiotu (np. rozmiar buta),
Discount - zniżka,
GIDNumber - numer Id produktu z bazy systemu ERP,
Id - numer Id,
Image - zdjęcie, zawiera:
ExternalUrl - zewnętrzny link,
Id - numer id obrazu,
Link - link do obrazu,
ImageId - id obrazu,
IsSetElement - czy należy do zestawu,
IsSetParent - czy przedmiot jest główną częścią np. zestawu,
Link - link,
MinPrice - cena minimalna z ostatnich 30 dni,
NameNoHtml - nazwa bez znaczników HTML,
No - numer przedmiotu w koszyku,
NoDiscount - czy nie ma zniżki,
Points - punkty,
PointsForValue - ilość punktów lojalnościowych za wartość produktu,
PointsPrice – cena towaru po użyciu punktów lojalnościowych,
Price - cena,
Quanity - ilość danego przedmiotu w koszyku,
SaleUnit - jednostka sprzedażowa,
SetName - nazwa zestawu,
SplitPayment - podział płatności,
Status- zawiera:
Date - jeżeli produkt jest zapowiedzią, to w tym miejscu znajduje się data kiedy stanie się on dostępny,
ImageUrl - adres URL obrazu,
Status - status,
Text - opis tekstowy,
Type - typ,
SubtotalPrice - cena bez VAT,
SubtotalValue - wartość bez VAT (produkt * ilość),
SubtotalValueBeforeDiscount - wartość bez VAT (produkt * ilość) przed obniżką,
TotalPrice - cena z podatkiem VAT,
TotalValue - cena za towary (cena * ilość),
TotalValueBeforeDiscount - cena za towary przed obniżką,
UPC - kod EAN towaru,
UnitPriceRatio - przelicznik ceny za jednostkę miary,
UnitPriceUnit - możliwa jednostka przeliczeniowa (np. litry na mililitry, gramy na kilogramy itd.). Jeżeli wartość jest nullem nie wyświetlamy ceny jednostkowej,
Url - adres URL,
VAT - stawka VAT,
Value - suma zamówienia brutto,
ValueBeforeDiscount - wartość przed rabatem,
WasteMgmCost -koszty gospodarowania odpadami,
Weight - waga,
cart.ProductsMinimumTotalValue
Minimalna cena zamówienia.
cart.ProductsSubtotalValue
Cena towarów (produkt * ilość) bez podatku VAT.
cart.ProductsSubtotalValueBeforeDiscount
Cena towarów (produkt * ilość) bez podatku VAT przed rabatem.
cart.ProductsTotalValue
Łączna cena towarów w koszyku.
cart.ProductsTotalValueBeforeDiscount
Łączna cena towarów bez rabatu.
cart.ProductsValue
Wartość towarów.
cart.ProductsValueBeforeDiscount
Cena towarów przed rabatem.
cart.SelectedDelivery
Wybrany sposób dostawy.Właściwości:
CalculationId - id kalkulacji,
CollectionPoint – dane wybranego punktu odbioru wprowadzone w panelu administracyjnym (np. adres, nazwa, godziny otwarcia),
CollectionPointId – numer Id punktu dostawy,
CollectionPointMapData - informacje o punktach dostawy,
CollectionPointMapUrl - adres do mapy punktów dostawy,
CollectionPointTypeId – numer Id typu punktu dostawy,
CollectionPointTypeText – opis tekstowy typu punktu odbioru (np. "Personal"),
DateText – opis,
Description – opis danej metody dostawy (jeżeli opis został uzupełniony w Panelu Administratora),
FastDelivery - czy obsługuje opcję szybkiej dostawy,
FreeDeliveryFrom – darmowa dostawa (od określonej kwoty),
ImageUrl - adres URL zdjęcia,
MethodId – numer Id metody dostawy,
Name - nazwa sposobu dostawy,
NotDeterminedDeliveryCost - brak ustalonych kosztów dostawy,
Payment - informacje odnośnie płatności, zawiera:
AdditionalDataHTML – dodatkowo przekazany HTML,
COD - płatność za pobraniem,
Channel,
Description – opis danej metody płatności (jeżeli opis został uzupełniony w Panelu Administratora),
DueDateText – opis (np. w formie tekstu lub liczby) terminu płatności,
Id – numer Id,
ImageUrl – url obrazka,
MethodId – Id danej metody,
MethodIdText - nazwa dla danego ID,
MethodType – typ metody dostawy,
Name – nazwa,
SubtotalValue – całkowity koszt netto płatności,
TotalValue – koszt całkowity płatności (np. dodatkowa opłata związana z przedpłatą),
VAT - stawka podatku VAT,
PhoneRequired – czy wymagane jest podanie numeru telefonu,
SelectedDate – data dostawy wybrana przez klienta,
SubtotalValue – całkowita cena netto kosztu dostawy,
Time – ilość dni, którą należy dodać do dzisiejszej daty, aby uzyskać najwcześniejszą możliwą do wyboru datę dostawy,
TotalValue – cen całkowita kosztu dostawy,
VAT - stawka podatku VAT,
cart.SelectedDeliveryPaymentChannelKey
Wybrany kanał płatności.
cart.SelectedDeliveryPaymentId
Id wybranej metody płatności.
cart.SplitPayment
Podział płatności.
cart.SubtotalPrices
Informacja czy ceny w koszyku pokazywane są z podatkiem VAT.
cart.ThirdPartyHTML
Zawiera kod wywoływanego skryptu, jeśli została wprowadzona odpowiednia konfiguracja w Panelu administracyjnym związana z obsługą Wiarygodne Opinie - Opineo.pl, Zaufane Opinie, Program Ochrony Kupujących - Ceneo.pl, lub Wiarygodne Opinie - Okazje.info.
cart.ThirdPartyScripts
Zawiera kod wywoływanego skryptu, jeśli została wprowadzona odpowiednia konfiguracja w Panelu administracyjnym związana z obsługą Wiarygodne Opinie - Opineo.pl, Zaufane Opinie, Program Ochrony Kupujących - Ceneo.pl, lub Wiarygodne Opinie - Okazje.info.
Pobiera pierwszy element z tablicy. Zwracany typ: zależny co przechowuje tablica.
{{ product-details.Product.Images |First |Img }}
Last
Pobiera ostatni element z tablicy. Zwracany typ: zależny co przechowuje tablica.
{{ product-details.Product.Images |Last |Img }}
Skip
Zwraca tablicę, która nie zawiera początkowych elementów z tablicy wejściowej. Omija określoną liczbę elementów. Liczba elementów do ominięcia jest przekazywana w parametrze. Parametry: int.
Zwracany typ: tablica elementów typu zdefiniowanego w tablicy wejściowej.
{% assign koloryTekst = 'biały, czarny, zielony, czerwony, niebieski, żółty' %}
{% assign kolory = koloryTekst |Split: ',' %}Wszystkie elementy
{% for kolor in kolory -%}
{{ kolor }}
{% endfor -%}
Pomiń 3 pierwsze elementy
{% assign kolory = kolory |Skip: 3 %}
{% for kolor in kolory -%}
{{ kolor }}
{% endfor -%}
Powyższy przykład zwróci:
Wszystkie elementy
biały
czarny
zielony
czerwony
niebieski
żółtyPomiń 3 pierwsze elementy
czerwony
niebieski
żółty
Take
Zwraca tablicę, która zawiera tylko określoną liczbę początkowych elementów z tablicy wejściowej. Parametry: int.
Zwracany typ: tablica elementów typu zdefiniowanego w tablicy wejściowej.
{% assign koloryTekst = 'biały, czarny, zielony, czerwony, niebieski, żółty' %}
{% assign kolory = koloryTekst |Split: ',' %}Wszystkie elementy
{% for kolor in kolory -%}
{{ kolor }}
{% endfor -%}
Pobierz tylko 3 pierwsze elementy
{% assign kolory = kolory |Take: 3 %}
{% for kolor in kolory -%}
{{ kolor }}
{% endfor -%}
Powyższy przykład zwróci:
Wszystkie elementy
biały
czarny
zielony
czerwony
niebieski
żółtyPobierz tylko 3 pierwsze elementy
biały
czarny
zielony
Sort
Sortuje elementy w tablicy według przekazanego argumentu. Argument powinien być właściwością kolekcji elementów tablicy wejściowej. Parametry: string.
Zwracany typ: tablica elementów typu zdefiniowanego w tablicy wejściowej.
{% assign sortedFlags = product-details.Product.Flags |Sort: 'Text' %}
{% for flag in sortedFlags -%}
Nazwa: {{ flag.Text}}
{% endfor -%}
Reverse
Odwraca kolejność elementów w tablicy. Zwracany typ: tablica elementów typu zdefiniowanego w tablicy wejściowej.
{% assign koloryTekst = 'biały, czarny, zielony, czerwony, niebieski, żółty' %}
{% assign kolory = koloryTekst |Split: ', ' %}
{% assign kolory = kolory |Reverse %}
Wszystkie elementy w odwróconej kolejności
{% for kolor in kolory -%}
{{ kolor }}
{% endfor -%}
Powyższy przykład zwróci:
Wszystkie elementy w odwróconej kolejności
żółty
niebieski
czerwony
zielony
czarny
biały
Randomize
Zwraca tablicę, w której kolejność elementów jest ustawiona w sposób losowy. Zwracany typ: tablica elementów typu zdefiniowanego w tablicy wejściowej.
{% assign koloryTekst = 'biały, czarny, zielony, czerwony, niebieski, żółty' %}
{% assign kolory = koloryTekst |Split: ', ' %}
{% assign kolory = kolory |Randomize %}
Wszystkie elementy w losowej kolejności
{% for kolor in kolory -%}
{{ kolor }}
{% endfor -%}
Powyższy przykład może zwrócić:
czerwony
niebieski
biały
żółty
czarny
zielony
Kolejny przykład
{% assign losowyObrazek = productdetails.Product.Images |Randomize %}
Pierwszy losowy obrazek na towarze
{{losowyObrazek |First |Img }}
Join
Łączy elementy tablicy w ciąg znaków wstawiając pomiędzy elementy przekazany parametr. Parametry: string.
Zwracany typ: string.
{% assign koloryTekst = 'biały, czarny, zielony, czerwony, niebieski, żółty' %}
{% assign tablicaKolorow = koloryTekst |Split: ', ' %}
{{tablicaKolorow |Join: '. ' }}
Powyższy przykład zwróci:
biały. czarny. zielony. czerwony. niebieski. żółty
Map
Zwraca tablicę składającą się z wartości elementów kolekcji wejściowej dla wskazanej właściwości przez przekazany argument. Parametry: string.
Zwracany typ: tablica elementów typu wskazanej właściwości.
{% assign typyFlag = product-details.Product.Flags |Map: 'Text' %}
{% for typFlagi in typyFlag -%}
{{typFlagi}}
{% endfor -%}
Powyższy przykład może zwrócić:
Promocja
Najlepiej oceniany
Kolejny przykład
{{ config.Languages |Map: 'Name' |Join: ', ' }}
Powyższy przykład może zwrócić:
polski, Deutsch, français
Size
Zwraca liczbę elementów w tablicy. Zwracany typ: int.
Liczba obrazków dla towaru {{ product-details.Product.Images |Size }}
Uniq
Zwraca tablicę unikatowych elementów. Tablica ta nie zawiera duplikatów. Zwracany typ: tablica elementów typu zdefiniowanego w tablicy wejściowej.
{% assign kolory = "czarny,biały,niebieski,czarny,niebieski" | Split: ',' -%}
{% assign unikatoweKolory = kolory | Uniq -%}
{% for kolor in unikatoweKolory -%}
{{kolor}}
{% endfor -%}
Powyższy przykład zwróci:
czarny
biały
niebieski
Dodaje tekst przekazany przez argument na koniec tekstu wejściowego.
Jeżeli tekst wejściowy == null to filtr zwróci null. Parametry: string.
Zwracany typ: string.
{% assign tekst1 = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. ' %}
{% assign tekst2 = 'Litwo! Ojczyzno moja! Ty jesteś jak zdrowie.' %}
{{ tekst1 |Append: tekst2 }}
Powyższy przykład zwróci:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Litwo! Ojczyzno moja! Ty jesteś jak zdrowie.
Prepend
Dodaje tekst przekazany przez argument na początek tekstu wejściowego.
Jeżeli tekst wejściowy == null to filtr zwróci null. Parametry: string.
Zwracany typ: string.
{% assign tekst1 = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.' %}
{% assign tekst2 = 'Litwo! Ojczyzno moja! Ty jesteś jak zdrowie. ' %}
{{ tekst1 |Prepend: tekst2 }}
Powyższy przykład zwróci:
Litwo! Ojczyzno moja! Ty jesteś jak zdrowie. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Capitalize
Konwertuje tekst tak, aby każde słowo w tekście zaczynało się z dużej litery.Zwracany typ: string.
{% assign tekst1 = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.' %}
{{ tekst1 |Capitalize }}
Downcase
Konwertuje tekst tak, aby cały tekst (każda litera) był napisany małymi literami. Zwracany typ: string.
{% assign tekst1 = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.' %}
{{ tekst1 | Downcase }}
Upcase
Konwertuje tekst tak, aby cały tekst (każda litera) był napisany wielkimi literami.Zwracany typ: string.
{% assign tekst1 = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.' %}
{{ tekst1 |Upcase}}
Remove
Usuwa z tekstu wejściowego fragment tekstu przekazanego przez parametr. Parametry: string.
Zwracany typ: string.
{% assign tekst1 = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.' %}
{{ tekst1 |Remove: 'ip' }}
RemoveFirst
Usuwa z tekstu wejściowego pierwsze wystąpienie fragmentu tekstu przekazanego przez parametr. Parametry: string.
Zwracany typ: string.
{% assign tekst1 = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.' %}
{{ tekst1 |RemoveFirst: 'ip' }}
Replace
Zamienia w tekście wejściowym szukany fragment tekstu innym tekstem (tekst zamienny). Szukany fragment tekstu oraz tekst zamienny przekazywane są przez parametry. Parametry przyjmują wyrażenia regularne.
Jeśli chcemy wyszukać znak specjalny i użyć go jak znaku, a nie części wyrażenia regularnego, należy go poprzedzić ukośnikiem \.Parametry: string, string = "".
Zwracany typ: string.
{% assign tekst2 = 'Litwo! Ojczyzno moja! Ty jesteś jak zdrowie.' %}
{{ tekst2 |Replace:'!','.' }}
{% assign waga = '31.53kg' %}
{{ waga |Replace:'\.',',' }}
{% assign spacje = ' Litwo! Ojczyzno moja! Ty jesteś jak zdrowie. ' %}
{{ spacje |Replace:'^\s+|\s+$','' }}
ReplaceFirst
Zamienia w tekście wejściowym pierwsze wystąpienie szukanego fragmentu tekstu innym tekstem (tekst zamienny). Szukany fragment tekstu oraz tekst zamienny przekazywane są przez parametry. Parametry przyjmują wyrażenia regularne.
Jeśli chcemy wyszukać znak specjalny i użyć go jak znaku, a nie części wyrażenia regularnego, należy go poprzedzić ukośnikiem \.Parametry: string, string = "".
Zwracany typ: string.
{% assign tekst2 = 'Litwo! Ojczyzno moja! Ty jesteś jak zdrowie.' %}
{{ tekst2 |ReplaceFirst:'!','.' }}
Size
Zwraca długość tekstu - liczba znaków w tekście. Zwracany typ: int.
Długość opisu towaru
{{ productdetails.Product.Description |Size }}
Kolejny przykład
Liczba znaków w cenie towaru
{{ productdetails.Product.Price |ToString |Size }}
Slice
Zwraca fragment z tekstu wejściowego dla podanej pozycji początkowej oraz długości. Pozycja początkowa oraz długość przekazywane są przez parametry.
W przypadku, gdy parametr z pozycją początkową jest ujemny to pozycja początkowa liczona jest od od końca tekstu.
Uwaga
Znaki w tekście numerowane są od 0. Należy uwzględnić to przy określaniu pozycji początkowej.
Parametry: int, int = 1.
Zwracany typ: string.
{% assign tekst2 = 'Litwo! Ojczyzno moja! Ty jesteś jak zdrowie.' %}
{{ tekst2 |Slice:0 }}
{{ tekst2 |Slice:1 }}
{{ tekst2 |Slice:0,20 }}
{{ tekst2 |Slice: - 1 }}
{{ tekst2 |Slice: - 20,10 }}
Powyższy przykład zwróci:
L
i
Litwo! Ojczyzno moja
.
jesteś jak
Split
Tworzy z tekstu wejściowego tablicę, w której każdy element stanowi fragment tekstu rozdzielony przez podany wzorzec. Wzorzec przekazany przez parametr. Parametry: string.
Zwracany typ: string[].
{% assign koloryTekst = 'biały, czarny, zielony, czerwony, niebieski, żółty' %}
{% assign kolory = koloryTekst |Split: ', ' %}Pierwszy element
{{ kolory[0] }}
Wszystkie elementy
{% for kolor in kolory - %}
{{ kolor }}
{% endfor - %}
Powyższy przykład zwróci:
Pierwszy element
białyWszystkie elementy
biały
czarny
zielony
czerwony
niebieski
żółty
StripHtml
Usuwa wszystkie tagi HTML z tekstu wejściowego. Zwracany typ: string.
{{ productdetails.Product.Description |StripHtml }}
StripNewlines
Usuwa wszystkie znaki nowej linii (podziały wiersza) z tekstu wejściowego. Zwracany typ: string.
{{ productdetails.Product.Description |StripNewlines }}
NewlineToBr
Wstawia tag HTML przed każdym znakiem nowej linii w tekście wejściowym. Zwracany typ: string.
{{ productdetails.Product.Description |NewlineToBr }}
Truncate
Obcina tekst wejściowy do podanej liczby znaków dodając na końcu tekst obcinający. Liczba znaków oraz tekst obcinający przekazywane są przez parametry. Tekst obcinający wliczony jest w liczbę znaków. Parametry: int = 50, string = "...".
Zwracany typ: string.
{% assign tekst1 = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.' %}
{% assign tekst2 = 'Litwo! Ojczyzno moja! Ty jesteś jak zdrowie.' %}
{{ tekst1 |Truncate }}
{{ tekst2 |Truncate: 25, '(...)' }}
Powyższy przykład zwróci:
Lorem ipsum dolor sit amet, consectetur adipisc...
Litwo! Ojczyzno moja(...)
TruncateWords
Obcina tekst wejściowy do podanej liczby wyrazów dodając na końcu tekst obcinający. Liczba wyrazów oraz tekst obcinający przekazywane są przez parametry. Parametry: int 15, string = "..."
Zwracany typ: string.
{% assign tekst1 = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.' %}
{% assign tekst2 = 'Litwo! Ojczyzno moja! Ty jesteś jak zdrowie.' %}
{{ tekst1 |TruncateWords }}
{{ tekst2 |TruncateWords: 3,'(...)' }}
Powyższy przykład zwróci:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Litwo! Ojczyzno moja!(...)
Times
Powtarza tekst wielokrotnie. Liczba powtórzeń przekazywana przez parametr. Parametry: int.
Zwracany typ: string.
{% assign kropka = '.' %}
{% assign liczbaPowtorzen = 3 %}
Przykładowy tekst zakończony kropkami{{ kropka|Times: liczbaPowtorzen }}
Plus
Dodawanie. Parametry: int/decimal.
Zwracany typ: taki sam jak element wejściowy, na którym wywołany jest filtr.
{% assign liczba1 = 9 %}
{% assign liczba2 = 2 %}
Wynik: {{ liczba1 | Plus: liczba2 }}
Uwaga
Jeśli filtr Plus wywołany zostanie na elemencie wejściowym typu string to działanie będzie podobne do użycia filtru Append.
Minus
Odejmowanie. Parametry: int/decimal.
Zwracany typ: taki sam jak element wejściowy, na którym wywołany jest filtr.
{% assign liczba1 = 9 %}
{% assign liczba2 = 3 %}
Wynik: {{ liczba1 |Minus: liczba2 }}
Times
Mnożenie. Parametry: int/decimal.
Zwracany typ: taki sam jak element wejściowy, na którym wywołany jest filtr.
{% assign liczba1 = 9.01 %}
{% assign liczba2 = 2 %}
Wynik: {{ liczba1 |Times: liczba2 }}
DividedBy
Dzielenie. Parametry: int/decimal.
Zwracany typ: taki sam jak element wejściowy, na którym wywołany jest filtr.
{% assign liczba1 = 9 %}
{% assign liczba2 = 3 %}
Wynik:{{ liczba1 |DividedBy: liczba2 }}
Modulo
Reszta z dzielenia. Parametry: int/decimal.
Zwracany typ: taki sam jak element wejściowy, na którym wywołany jest filtr.
{% assign liczba1 = 9.01 %}
{% assign liczba2 = 2 %}
Wynik:{{ liczba1 |Modulo: liczba2 }}
Normalize
Formatuje liczbę wejściową usuwając jej „zbędne” zera w części ułamkowej. Typ liczby wejściowej: decimal.
Zwracany typ: decimal.
Cena: {{ productdetails.Product.Price }}
Cena: {{ productdetails.Product.Price |Normalize }}
Powyższy przykład może zwrócić:
Cena: 10,00
Cena: 10
Floor
Zwraca największą liczbę całkowitą, która jest mniejsza lub równa wejściowej. Typ liczby wejściowej: decimal.
Zwracany typ: int.
{% assign liczba = 6.05 %}
Wynik:{{ liczba |Floor }}
Powyższy przykład zwróci:
Wynik:6
Ceil
Zwraca najmniejszą liczbę całkowitą, która jest większa lub równa wejściowej.Typ liczby wejściowej: decimal.
Zwracany typ: int.
{% assign liczba = 6.05 %}
Wynik:{{ liczba |Ceil }}
Powyższy przykład zwróci:
Wynik:7
Abs
Zwraca wartość bezwzględną z liczby.
{% assign liczba = -6.05 %}
Wynik:{{ liczba |Abs }}
Powyższy przykład może zwrócić:
Wynik:6.05
Round
Zaokrągla liczbę wejściową do określonej ilości miejsc po przecinku. Zwracany typ: taki sam jak element wejściowy, na którym wywołany jest filtr.
{% assign liczba = 6.05687 %}
Wynik:{{ liczba |Round: 4 }}
Powyższy przykład zwróci:
Wynik:6.0569
Date
Formatuje datę i czas. Zwraca datę i czas zgodnie z formatem przekazanym w parametrze.
Wskazówka
Filtr Date w sklepie korzysta z domyślnych ustawień dla DotLiquid. Należy korzystać z formatu daty zgodnego z konwencją .NET dostępnym pod linkiem:
https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.100).aspx
Parametry: string.
Zwracany typ: string.
Data i czas "teraz"
{{ config.Now }}
Data
{{ config.Now |Date:'yyyy-MM-dd' }}
Czas
{{ config.Now |Date:'HH:mm:ss' }}
Powyższy przykład może zwrócić:
Data i czas "teraz"
13.10.2022 10:32:39
Data
2022-10-13
Czas
10:32:39
ToPrice
Formatuje cenę do formatu wyświetlania zgodnego z kulturą dla ustawionej lokalizacji sklepu (grupowanie tysięcy, kropka czy przecinek, itd.).
Lokalizacja sklepu określa, czy sklep został zainstalowany domyślnie na rynek polski, niemiecki, itd. Zwracany typ: string.
Cena: {{ product-details.Product.Price }}
Cena: {{ product-details.Product.Price |ToPrice }}
Powyższy przykład może zwrócić:
Cena: 2348,68
Cena: 2 348,68 (lokalizacja na rynek polski)
A
Tworzy tag <a>wraz z atrybutami. Wartości dla atrybutów tagu pobierane są z elementu wejściowego. Typ elementu wejściowego: obiekt Liquid.
Zwracany typ: string. Filtr ma zastosowanie dla obiektów:
Strona
Grupa towarowa
Towar
Blog
Tagi
Przykład użycia filtra A dla obiektów: Strona
Strony
{{ config.DefinedPages.Home |A |H }}
{{ config.Pages['6'] |A |H }} {% comment %} Strona o id = 6 {% endcomment %}
{{ page.CurrentSiteNode |A |H }}
{{ page.GroupNodes[0] |A |H }}
{{ page.Breadcrumbs[0] |A |H }}
Powyższy przykład może zwrócić:
Strony
<a href="./">Strona główna</a>
<a href="profil-klienta,6">Profil klienta</a>
<a href="produkty/owoce-1/banany-555,2,1024703">Banany</a>
<a href="produkty/owoce-1,2,76">Owoce</a>
<a href="./">Strona główna</a>
Przykład użycia filtra A dla obiektów: Towar
Towary
{{ product-new.Products[0] |A |H }}
{{ product-list.Products[1] |A |H }}
{{ product-details.Product |A |H }}
Powyższy przykład może zwrócić:
Towary
<a href="banany,3,1024703,81">Banany</a>
<a href="minibanany-odrobina-wystarczy,3,1024703,82">Minibanany odrobina wystarczy</a>
<a href="minibanany-odrobina-wystarczy,3,1024703,82">Minibanany odrobina wystarczy</a>
Przykład użycia filtra A dla obiektów: Blog, Tags
Blog
{{ blog.PostList.Posts[0] |A |H }}
{{ blog.PostDetails |A |H }}
Tags
{{ config.Tags.Blog[0] |A |H }}
Powyższy przykład może zwrócić:
Blog
<a href="blog-wpis-podstawowy,24,1">Blog wpis podstawowy</a>
<a href="blog-wpis-podstawowy,24,1">Blog wpis podstawowy</a>
Tags
<a rel="tag" href="blog,23?seaBlog=Informacje">Informacje</a>
Img
Tworzy tag <img>wraz z atrybutami. Wartości dla atrybutów tagu pobierane są z elementu wejściowego lub mogą być przekazywane przez parametry.
Uwaga
Tag <img> domyślnie ustawiony ma link do obrazka w atrybucie data-src. Należy zastosować funkcję skryptową, która przepisze wartość z atrybutu data-src do atrybutu src (lazy load).
Typ elementu wejściowego: obiekt Liquid, string.
Parametry: string size = "small", string alt = null, string title = null.
Zwracany typ: string.
Dostępne wartości dla parametru size:
Parametr size
Rozmiar zdjęcia (dłuższa krawędź) w px
img
0
pico
16
icon
32
thumb
50
small
100
compact
160
medium
240
large
480
grande
600
master
1920
Filtr ma zastosowanie dla obiektów:
Towar
Zdjęcia towaru (na szczegółach towaru)
Producent
Marka
Blog (w obiekcie blog pomijany jest parametr size. Obrazki zwracane są zawsze w rozmiarze rzeczywistym).
Przykład użycia filtra Img dla obiektów: Towar, Zdjęcia towaru
Lista towarów
{{ product-list.Products[1] |Img |H }}
{{ produc-tlist.Products[1] |Img: 'medium','Świeże banany, Kraków' |H }}
Towar (szczegóły)
{{ product-details.Product |Img:'large' |H }}
{{ product-details.Product.StockLevel.ImageUrl |Img |H }} { % comment % } Tekst z linkiem {% endcomment %}
{{ product-details.Product.Images[0] |Img |H }}
Powyższy przykład może zwrócić:
Lista towarów
<img alt="Minibanany odrobina wystarczy" src="usr/alo.gif" data-src="img/small/59/minibanany.jpg"/>
<img alt="Świeże banany, Kraków" src="usr/alo.gif" data-src="img/medium/59/minibanany.jpg"/>
Towar (szczegóły)
<img alt="Minibanany odrobina wystarczy" src="usr/alo.gif" data-src="img/large/59/minibanany.jpg"/>
<img src="usr/alo.gif" data-src="Ima.ashx?t=wrs&Id=1"/>
<img alt="" src="usr/alo.gif" data-src="img/small/59/.jpg"/>
Przykład użycia filtra Img dla obiektów: Producent, Marka
Producent, Marka
{{ manufacturers-brands.Manufacturers[2] |Img |H }}
{{ manufacturers-brands.Manufacturers[2] |Img: 'thumb','Comarch globalny dostawca IT.' |H }}
{{ manufacturers-brands.Brands[3] |Img |H }}
Powyższy przykład może zwrócić:
Producent, Marka
<img alt="Comarch" src="usr/alo.gif" data-src="img/small/160/Comarch.jpg"/>
<img alt="Comarch globalny dostawca IT." src="usr/alo.gif" data-src="img/thumb/160/Comarch.jpg"/>
<img alt="Comarch ALTUM" src="usr/alo.gif" data-src="img/small/92/Comarch%20ALTUM.jpg"/>
Przykład użycia filtra Img dla obiektów: Blog
Blog
{{ blog.LatestPosts[0] |Img |H }}
{{ blog.PostList.Posts[0] |Img: 'compact','Blog dla Partnera','Informacje dla Partnerów na blogu sklepu' |H }}
{{ blog.PostDetails |Img |H }}
Powyższy przykład może zwrócić:
Blog
<img alt="Blog wpis podstawowy" src="usr/alo.gif" data-src="Ima.ashx?t=blg&id=1"/>
<img alt="Blog dla Partnera" title="Blog dla Partnera,'Informacje dla Partnerów na blogu sklepu"
src="usr/alo.gif" data-src="Ima.ashx?t=blg&id=1"/>
<img alt="Blog wpis podstawowy" src="usr/alo.gif" data-src="Ima.ashx?t=blg&id=1"/>
Przykład użycia filtra Img dla tekstu z linkiem do obrazka
Tekst z linkiem do obrazka
{{ productdetails.Product.StockLevel.ImageUrl |Img |H }} { % comment % } Tekst z linkiem {% endcomment %}
{{ 'https://www.domena.pl/file/banner.jpg' |Img:'','atrybut alt','atrybut title' |H }}
Powyższy przykład może zwrócić
Tekst z linkiem do obrazka
<img src="usr/alo.gif" data-src="Ima.ashx?t=wrs&Id=1"/>
<img alt="atrybut alt" title="atrybut title"src="usr/alo.gif" data-src="https://www.domena.pl/file/banner.jpg"/>
Img2
Filtr Img2 zachowuje się w podobny sposób jak wyżej opisany filtr Img. Różnicą jest to, że utworzony tag <img> ma link do obrazka nie w atrybucie data-src, lecz w atrybucie data-lazy. Dodatkowo filtr Img2 pozwala na dodanie czwartego parametru raw, w którym można wpisać wszystko, np. class="example_class" i znajdzie się to wewnątrz tagu <img>.Typ elementu wejściowego: obiekt Liquid, string.
Parametry: string size = "small", string raw = null, string alt = null, string title = null.
Zwracany typ: string.Przykład użycia filtra Img2 na szczegółach towaru:
{{product.Images[0] |Img2 :'large', '', 'pasek', 'obrazek' }}
{{product.Images[0] |Img2: 'large', 'class="open-gallery"', 'pasek', 'obrazek' }}
Powyższy przykład może zwrócić:
<img src="img/large/27/.jpg" alt="pasek" title="obrazek" style="opacity: 1;">
<img src="img/large/27/.jpg" alt="pasek" title="obrazek" class="open-gallery" style="opacity: 1;">
H
Zamienia znaki specjalne na encje HTML (HTMLEncode).Zwracany typ: string.
{% assign tekst2HTML = '<p>Litwo! <b>Ojczyzno moja!</b> Ty jesteś jak zdrowie.</p>' %}
Tekst z encjami HTML
{{ tekst2HTML |H }}
Powyższy przykład zwróci:
Tekst z encjami HTML
<p>Litwo! <b>Ojczyzno moja!</b> Ty jesteś jak zdrowie.</p>
Zamienia znaki spoza zakresu ASCII na format zgodny z ASCII. Zwracany typ: string.
{% assign tekst2 = 'Litwo! Ojczyzno moja! Ty jesteś jak zdrowie.' %}
Link użytkownika
{{ '<'|H }}a href="/?tekst={{ tekst2 | EscapeUri }}" (...)
Powyższy przykład zwróci:
Link użytkownika
<a href="/?tekst=Litwo!%20Ojczyzno%20moja!%20Ty%20jeste%C5%9B%20jak%20zdrowie." (...)
UnEscapeUri
Filtr przeciwstawny do filtra EscapeUri. Zwracany typ: string.
ToString
Konwertuje element wejściowy do typu string. Zwracany typ: string.
{% assign tekst2 = ' Litwo! Ojczyzno moja! Ty jesteś jak zdrowie.' %}
{% assign liczba = 3 %}
Liczba i tekst: {{ liczba |ToString |Append: tekst2 }}
Powyższy przykład zwróci:
Liczba i tekst: 3 Litwo! Ojczyzno moja! Ty jesteś jak zdrowie.
ToInt
Konwertuje element wejściowy do typu int. Zwracany typ: int.
{% assign tekstLiczba1 = '9' %}
{% assign liczba1 = tekstLiczba1 |ToInt %}
ToInt: {{ liczba1 }} | {{ liczba1 |Minus: 4 }}
Powyższy przykład zwróci:
ToInt: 9 | 5
ToNum
Konwertuje element wejściowy zgodnie z formatem dla kultury Invariant (zapewnia zawsze taki sam format). Liczby oraz daty wyświetlane są zgodnie z kulturą dla lokalizacji sklepu. Zwracany typ: string.
liczba: {{ 1239,01 }}
liczba (Invariant) : {{ 1239,01 |ToNum }}
data: {{config.Now }}
data (Invariant) {{config.Now |ToNum }}
Powyższy przykład może zwrócić:
liczba: 1239,01
liczba (Invariant) : 1239.01
data: 29.04.2016 14:45:24
data (Invariant) 04/29/2016 14:45:24
ToTimeSpan
Konwertuje tekst do typu TimeSpan zgodnie z formatem dla kultury Invariant. Zwracany typ: TimeSpan.
TimeSpan: {{ '509.07:01:01' |ToTimeSpan }}
DEBUG
Wyświetla obiekty globalne i lokalne wraz z jego właściwościami oraz odpowiadającymi im wartościami. Przykład wyświetlenia obiektu customer z filtrem DEBUG
<fieldset>
<legend>DEBUG customer</legend>
<code>{{ customer | DEBUG }}</code>
</fieldset>
</fieldset>
Powyższy przykład może zwrócić:
{
"NewsletterSubscriber" : false,
"Authenticated" : false,
"CustomerDetailsEditable" : true,
"Currency" : "PLN",
"CurrencyExt" : {
"Code" : "PLN",
"Symbol" : "zł"
},(...)
Uwaga
Tryb debug dla obiektów dostępny jest tylko, gdy włączony jest parametr Podgląd stron w czasie rzeczywistym
Co to jest Liquid?
Liquid to silnik szablonów graficznych wykorzystywany w Comarch e-Sklep. Szablony graficzne w technologii Liquid umożliwiają swobodną modyfikację wyglądu sklepu.
Modyfikacji można dokonywać samodzielnie w ustawianiach szablonu, tym samym łatwo wgrywać nowe bannery, czy dostosować kolorystykę.
Posiadając większą wiedzę z zakresu HTML, JS, CSS i Liquid, można głębiej ingerować w wygląd sklepu.
W przypadku nie posiadania dostatecznej wiedzy, można zlecić wykonanie szablonu Partnerowi bądź firmie wdrażającej.
Liquid Sync synchronizuje pliki umieszczone na komputerze użytkownika z plikami szablonu Liquid. Pilnuje zgodności danych wykrywając modyfikacje w plikach lokalnych lub w plikach szablonu Liquid, a następnie podmienia nieaktualny plik na jego nowszą wersje.
Dzięki aplikacji Liquid Sync nie trzeba używać edytorów kodu dostępnych w panelu administracyjnym e-Sklep. Każdy użytkownik może korzystać z dowolnego środowiska programistycznego, a Liquid Sync zadba o zgodność utworzonego lokalnie projektu z plikami w panelu administracyjnym.
Jak uruchomić Comarch Liquid Sync?
Aplikacja dostępna dla sklepów Comarch.
Liquid Sync można pobrać ze strony Liquid Sync.
Rozpakowany folder będzie zawierać między innymi:
Katalog pl – zawiera XML z ustawieniami. Nie należy go usuwać.
Katalog logs – zawiera logi operacji.
COMARCHeShopLiquidSync – aplikacja Liquid Sync.
Aplikację należy uruchomić z prawami administratora. Po uruchomieniu zostaną otwarte dwa okna: okno konsolowe oraz okno przeglądarki z interfejsem aplikacji. Obydwa okna powinny pozostać włączone.
Jak skonfigurować Comarch Liquid Sync?
Liquid Sync potrzebuje danych logowania do sklepu. Przy pierwszym uruchomieniu widoczny będzie formularz, w którym należy wpisać:
Nazwę sklepu – dowolna nazwa, po której będzie można rozpoznać sklep na liście sklepów
Url – adres url istniejącego sklepu
Login – login użytkownika, na którego aplikacja ma się zalogować do panelu e-Sklepu. Należy wykorzystać login webmaster, którego konfiguracja dostępna jest w panelu administracyjnym**.
Hasło – hasło wskazanego użytkownika
Wskazówka
Comarch e-Sklep Liquid Sync do połączenia wymaga SSL
Wskazówka
**Zaloguj się do panelu administracyjnego e-Sklepu przejdź do zakładki Integracje > Dodaj integrację. Na filtrze Typ wybierz Dodatki. Następnie wybierz dodatek Comarch Liquid Sync, naciśnij Dodaj, a w kolejnym kroku Konfiguruj.
Po kliknięciu Zaloguj się sklep zostanie dodany do listy po lewej stronie. W prawym oknie pojawi się lista dostępnych szablonów.
Od teraz będzie to ekran startowy aplikacji. Aby dodać kolejny sklep trzeba będzie nacisnąć przycisk Dodaj sklep.
Po zalogowaniu w rozpakowanym katalogu COMARCHeShopLiquidSync zostanie utworzony katalog o podanej w formularzu nazwie.
Katalog będzie zawierał:
Katalog logs – zawiera logi operacji danego e-Sklepu
Katalog sync – zawiera plik z ustawieniami
Katalog templates – w tym miejscu będą tworzyć się podkatalogi z plikami dla dostępnych szablonów
Katalogi z plikami szablonu nie mogą zostać przeniesione.
Synchronizacja
Praca z plikami
Aby wybrać, który z szablonów aplikacja powinna synchronizować, wystarczy wybrać odpowiednią pozycję na liście dostępnych szablonów. Jeżeli synchronizacja dotyczy szablonu, który jest zabezpieczony hasłem, Liquid Sync również będzie potrzebował hasła.
Po wybraniu szablonu otworzy się okno synchronizacji. Lewa kolumna o nazwie Log będzie zawierać logi synchronizacji, natomiast prawa o nazwie Pliki będzie informować o konfliktach do rozwiązania.
Przy pierwszej synchronizacji szablonu, wewnątrz katalogu templates, zostanie utworzony odpowiadający mu katalog. Nazwami katalogów są id szablonów.
Jeżeli w panelu administracyjnym e-Sklep nie zostały wcześniej dodane żadne pliki dla danego szablonu, to wewnątrz powyższego folderu należy samodzielnie utworzyć katalog o nazwie 0 (zero). W katalogu 0 należy umieszczać wszystkie pliki wymagające synchronizacji. Jeżeli szablon zawierał już jakiekolwiek pliki, katalog utworzy się automatycznie, a wewnątrz niego znajdować się będą pliki pobrane z panelu. Każdy nowy plik umieszczony w katalogu 0 automatycznie pojawi się w plikach szablonu Liquid w panelu administracyjnym e-Sklep.
Aplikacja Liquid Sync wyświetli również odpowiedni log.
Plik lokalny zostanie również wysłany do sklepu po każdym zapisie, a jego usunięcie spowoduje usunięcie odpowiadającego pliku z szablonu Liquid.
Rozwiązywanie konfliktów
Zdarza się, że pliki lokalne nie są zgodne z plikami szablonu Liquid. W takiej sytuacji, w kolumnie Pliki, Liquid Sync wyświetli odpowiedni komunikat. Komunikat zapyta użytkownika, w jaki sposób aplikacja powinna rozwiązać konflikt. Poniżej opisane zostaną przyczyny konfliktów oraz sposoby ich rozwiązania.
Jak zmodyfikować plik w panelu administracyjnym e-Sklep?
Modyfikacja plików po stronie panelu administracyjnego, w przeciwieństwie do modyfikacji plików lokalnych, jest traktowana jako konflikt. Komunikat konfliktu, w przypadku modyfikacji istniejących plików, będzie proponował dwa rozwiązania: pobrać plik szablonu do projektu lokalnego lub wysłać lokalny plik do panelu administracyjnego.
Jeżeli zmiana zostanie wykonana w podczas aktywnej synchronizacji, należy kliknąć przycisk Odśwież, aby zobaczyć komunikat.
Usunięcie pliku po stronie panelu administracyjnego będzie wymagało podjęcia decyzji: usunąć plik z lokalnego systemu plików, czy wysłać istniejący lokalnie plik do panelu administracyjnego e-Sklep.
Dodanie nowego pliku w panelu administracyjnym również wyświetli stosowny komunikat. Liquid Sync zaproponuje wtedy pobranie nowego pliku z panelu do projektu lokalnego lub usunięcie nowego pliku z szablonu Liquid.
Jak zmodyfikować plik lokalny, kiedy aplikacja Comarch Liquid Sync była wyłączona?
Liquid Sync nie miał okazji zaktualizować pliku lokalnego po jego modyfikacji, więc wystąpiła niezgodność. W przypadku istniejących plików aplikacja wyświetli komunikat z rozwiązaniami: pobrać plik szablonu do projektu lokalnego lub wysłać plik lokalny do sklepu.
Jeżeli plik lokalny zostanie usunięty, komunikat będzie zawierał opcję pobrania odpowiadającego pliku ze sklepu lub jego usunięcie.
Gdy nowy plik zostanie dodany, rozwiązać konflikt można poprzez wysłanie nowego pliku do sklepu lub usunięcie go.
Wskazówka
Należy pamiętać, aby w panelu administracyjnym włączyć podgląd zmian w czasie rzeczywistym.
Spełnij kryteria WCAG 2.1/2.2. Przewodnik dla programistów oraz Partnerów Comarch.
Z dniem 28 czerwca 2025roku 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
Niniejszy artykuł przedstawia fundamentalne zasady i techniczne wytyczne, których wdrożenie przyczyni się do zwiększenia dostępności witryny internetowej. Ma on na celu ma na celu pomóc programistom Liquid w tworzeniu dostępnych cyfrowo aplikacji i stron internetowych.
Najlepsze praktyki dostępności
Dostępność stron internetowych jest obecnie kluczowym aspektem ich projektowania, mającym na celu zapewnienie równego dostępu do treści dla wszystkich użytkowników, niezależnie od ich indywidualnych potrzeb czy ograniczeń. Przestrzeganie najlepszych praktyk w zakresie dostępności nie tylko wspiera osoby korzystające z technologii asystujących, ale również poprawia ogólną użyteczność i funkcjonalność serwisu.
W tym artykule przedstawiamy najlepsze praktyki dotyczące dostępności, które powinny być stosowane w kodzie HTML i CSS. Każdy z tych elementów odgrywa istotną rolę w budowaniu przyjaznego i dostępnego środowiska cyfrowego. Omówione zagadnienia obejmują:
Właściwe oznaczanie grafik poprzez teksty alternatywne,
Dostosowanie mechanizmów nawigacyjnych dla użytkowników korzystających z klawiatury.
Wskazówka
Ten artykuł przeznaczony jest dla osób z zaawansowaną wiedzą dotyczącą modyfikacji kodu szablonu. Jeśli nie jesteś programistą i nie dokonujesz zmian w kodzie, to przejdź do artykułów ogólnych:
Semantyczne znaczniki HTML
Używaj odpowiednich znaczników HTML, takich jak <header>, <nav>, <main>, <footer>, aby struktura strony była logiczna i zrozumiała. Jeśli w szablonie znajdują się niestandardowe struktury lub elementy, upewnij się, że są one odpowiednio oznaczone i dostępne dla czytników ekranu, np. za pomocą landmarków ARIA Landmarks.
Kolory i kontrast
Zapewnij odpowiedni kontrast między tekstem, a tłem. Używaj narzędzi do sprawdzania kontrastu, aby upewnić się, że spełniasz standardy WCAG. Wykorzystaj devtools do sprawdzania kontrastu kolorów, takie jak np. WebAIM Contrast Checker, lub skorzystaj z narzędzia WAVE dostępnego jako rozszerzenie do przeglądarki.
Tekst alternatywny
Zawsze dodawaj tekst alternatywny do obrazów, aby osoby korzystające z czytników ekranu mogły zrozumieć ich zawartość. W większości przypadków wykorzystanie filtra Liquid Img automatycznie zapewni odpowiednie atrybuty alt, natomiast jeśli używasz niestandardowych obrazów, upewnij się, że dodajesz alt lub aria-label do elementu <img>.
Nawigacja klawiaturą
Zagwarantuj opcję poruszania się po stronie przy użyciu klawiatury, jednocześnie dbając o dostępność wszystkich interaktywnych elementów. Pamiętaj o zdefiniowaniu stylu swojego :focus oraz :focus-visible, aby użytkownicy mogli łatwo zidentyfikować, który element jest aktualnie aktywny. Niektóre znaczniki HTML5 są domyślnie dostępne dla nawigacji klawiaturą, takie jak <button>, <a>, <input>, ale jeśli używasz niestandardowych elementów, takich jak <div> lub <span>, upewnij się, że dodajesz tabindex=”0″ i odpowiednie role ARIA.
Czytelność
Używaj prostego i zrozumiałego języka. Unikaj skomplikowanych zdań i terminologii, która może być trudna do zrozumienia dla niektórych użytkowników.
Elementy interaktywne
Formularze
Używaj odpowiednich znaczników formularzy, takich jak <input>, <select>, <textarea>. Zapewnij, że są one poprawnie oznaczone. Używaj aria-label lub aria-labelledby, jeśli etykiety nie są widoczne. Jeśli natomiast w szablonie wykorzystywane są customowe pola formularzy, np. przy użyciu wykorzystania elementów <div> lub <span> to upewnij się, że są one dostępne dla czytników ekranu i użytkowników korzystających z klawiatury, np. poprzez dodanie role=”checkbox” lub role=”button” oraz odpowiednich atrybutów ARIA.
Przyciski
Używaj <button> zamiast <div> lub <span> do tworzenia przycisków. Jeśli używasz ikon jako przycisków, dodaj aria-label lub title, aby opisać ich funkcję. Ikony, które nie mają znaczenia informacyjnego, powinny mieć aria-hidden=”true” lub role=”presentation”, aby nie były odczytywane przez czytniki ekranu.
Linki
Używaj <a> do tworzenia linków. Tekst linku powinien jasno opisywać jego cel. Unikaj używania ogólnych fraz, takich jak „kliknij tutaj”. Jeśli chcesz dostarczyć dodatkowe informacje, użyj aria-label np. w przypadku linków do pobrania plików, np. <a href=”plik.pdf” aria-label=”Pobierz plik PDF”>Pobierz</a>.
Role ARIA
Używaj ról ARIA, aby poprawić dostępność elementów, które nie mają semantycznego znaczenia w HTML. Na przykład, jeśli używasz <div> jako przycisku, dodaj role=”button” i zapewnij odpowiednie atrybuty ARIA, takie jak aria-pressed dla przycisków przełączających. Dodaj tłumaczenia do szablonu, aby zapewnić tłumaczenie tekstów używanych w atrybutach ARIA, takich jak aria-label, aria-labelledby i aria-describedby, aby były dostępne w różnych językach. np. aria-label=”{{translations.DownloadFile}}”.
Struktura treści
Nagłówki
Używaj nagłówków od <h1> do <h6> w logicznej hierarchii. Nagłówek <h1> powinien być używany tylko raz na stronie, a kolejne nagłówki powinny być używane zgodnie z hierarchią.
Listy
Używaj <ul> dla list nieuporządkowanych i <ol> dla list uporządkowanych. Unikaj używania <div> lub <span> do tworzenia list.
Tabele
Używaj tabel do prezentacji danych. Dodaj <caption> opisujący tabelę i używaj nagłówków <th> z atrybutem scope=”col” lub scope=”row” dla kolumn i wierszy, aby poprawić dostępność.
Animacje i ruch
Unikaj automatycznych animacji, które mogą być dezorientujące dla użytkowników. Jeśli musisz użyć animacji, zapewnij możliwość ich wyłączenia lub ograniczenia. Używaj prefers-reduced-motion w CSS, aby dostosować animacje do preferencji użytkownika.
Wideo i audio
Zapewnij napisy i transkrypcje dla materiałów wideo i audio. Używaj znaczników <video> i <audio> z odpowiednimi atrybutami, takimi jak controls, aby umożliwić użytkownikom interakcję z multimediami.
Dynamiczne treści
Jeśli używasz JavaScript do dynamicznego aktualizowania treści, upewnij się, że zmiany są ogłaszane dla czytników ekranu. Używaj aria-live i aria-atomic, aby kontrolować, jak zmiany są komunikowane użytkownikom korzystającym z technologii asystujących.
Testowanie dostępności
Regularnie testuj swoją stronę pod kątem dostępności, używając narzędzi, takich jak Lighthouse, Axe lub WAVE. Te narzędzia pomogą zidentyfikować problemy z dostępnością i zasugerują poprawki. Ręczne testowanie dostępności jest również ważne. Używaj czytników ekranu, takich jak NVDA lub VoiceOver, aby sprawdzić, jak Twoja strona jest odczytywana przez użytkowników korzystających z technologii asystujących. Testuj na różnych urządzeniach i przeglądarkach, aby upewnić się, że dostępność jest zachowana we wszystkich warunkach. Testuj również z użytkownikami korzystającymi z technologii asystujących, aby uzyskać rzeczywiste opinie na temat dostępności Twojej strony.
Wskazówka
Szczegółowy zakres wymagań związanych z przepisami, znajdziesz w:
Dostępność jest kluczowym aspektem tworzenia stron internetowych i aplikacji. Stosowanie się do najlepszych praktyk dostępności pomoże zapewnić, że Twoje treści są dostępne dla wszystkich użytkowników, niezależnie od ich zdolności. Pamiętaj, że dostępność to proces ciągły, a regularne testowanie i aktualizowanie treści jest niezbędne, aby utrzymać wysokie standardy dostępności.
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.
Ustawiamy swój App ID z edrone w panelu administracyjnym (Ustawienia/Ustawienia Sklepu/Ogólne/Integracja z edrone)
W głównym folderze szablonu tworzymy folder edrone, w którym umieszczamy pliki, których zawartość znajduje się w kolejnych punktach
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.