Składnia języka liquid

Składnia języka Liquid

Rodzaje znaczników

Składnia silnika Liquid zawiera dwa typy znaczników. Znacznik wypisujący dane oraz znacznik sterujący.

Znacznik wypisujący dane stosowany jest do wypisywania wartości zmiennych lub wyrażeń, również z zastosowaniem filtrów.

Filtry mogą przyjmować parametry, które podawane są wewnątrz znaczników wypisujących.

Drugi typ znacznika jest stosowany dla operacji sterujących, m.in. instrukcji warunkowych, pętli itp.

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.

 

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

Proste logowanie napisane z użyciem zapytania AJAX

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:

Rezultat operacji w przypadku niepoprawnych danych wyglądać będzie następująco:

Natomiast zapytanie z poprawnymi danymi zrwóci:

 

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.

 

Wskazówka
Więcej o akcjach możesz przeczytać w artykule Dostępne akcje.

Czy ten artykuł był pomocny?