Types

Flüssige Objekte können einer von sechs Arten angehören. Sie können Liquid-Variablen mit Zuweisungs- oder Erfassungs-Tags initialisieren.

Inhalt

String

Zeichenketten werden deklariert, indem der Wert einer Variablen in einfache oder doppelte Anführungszeichen eingeschlossen wird.

{% assign my_string = "Hallo Welt!" %}

Number

Zu den Zahlen gehören Gleitkommazahlen und ganze Zahlen.

{% assign my_int = 25 %}
{% assign my_float = 39.756 %}

Boolean

Booleans sind entweder true oder false. Bei der Deklaration eines booleschen Wertes sind keine Anführungszeichen erforderlich.

{% assign foo = true %}
{% assign bar = false %}

Nil

Nil ist ein spezieller leerer Wert, der zurückgegeben wird, wenn Liquid-Code keine Ergebnisse hat. Es handelt sich nicht um eine Zeichenkette mit den Zeichen "nil".

Nil wird in den Bedingungen von if -Blöcken und anderen Liquid-Tags, die den Wahrheitsgehalt einer Aussage prüfen, als falsch behandelt.

Im folgenden Beispiel druckt Liquid den Text nicht aus, wenn keine Trackingnummer vorhanden ist (d. h. fulfillment. tracking_numbers gibt nil zurück):

{% if fulfillment.tracking_numbers %}
  Es gibt eine Verfolgungsnummer.
{% endif %}

Tags oder Ausgaben, die nil zurückgeben, werden nicht auf der Seite ausgegeben.

Tracking number: {{ fulfillment.tracking_numbers }}
Tracking number:

Array

Arrays enthalten Listen von Variablen beliebigen Typs.

Accessing items in arrays

Um auf alle Elemente in einem Array zuzugreifen, können Sie mit einem for- oder tablerow-Tag eine Schleife durch jedes Element des Arrays ziehen.

{% for tag in product.tags %}
  {{ tag }}
{% endfor %}
Verkauf Sommer Frühling Großhandel

Accessing specific items in arrays

Sie können die eckige Klammer [ ] verwenden, um auf ein bestimmtes Element in einem Array zuzugreifen. Die Array-Indizierung beginnt bei Null.

 <!-- if product.tags = "verkauf", "frühling", "sommer", "wholeverkauf" -->
{{ product.tag[0] }}
{{ product.tag[1] }}
{{ product.tag[2] }}
verkauf
frühling
sommer

Initializing arrays

Sie können Arrays nicht nur mit Liquid initialisieren.

Sie können jedoch den Split-Filter verwenden, um eine einzelne Zeichenfolge in ein Array von Teilzeichenfolgen zu zerlegen.

EmptyDrop

Ein EmptyDrop-Objekt wird zurückgegeben, wenn Sie versuchen, auf ein gelöschtes Objekt (z. B. eine Seite oder einen Beitrag) über dessen Handle zuzugreifen. Im folgenden Beispiel sind page_1, page_2 und page_3 allesamt EmptyDrop-Objekte.

{% assign variable = "hello" %}
{% assign page_1 = pages[variable] %}
{% assign page_2 = pages["does-not-exist"] %}
{% assign page_3 = pages.this-handle-does-not-exist %}

Checking for emptiness

Sie können prüfen, ob ein Objekt existiert oder nicht, bevor Sie auf eines seiner Attribute zugreifen.

{% unless pages.about == empty %}
  
 <!-- Dies wird nur gedruckt, wenn die Seite mit dem Handle "about" nicht leer ist -->
  <h1>{{ pages.about.title }}</h1>
  
 <div>
  {{ pages.about.content }}
 </div>
{% endunless %}

Wenn Sie nicht zuerst prüfen, ob die Datei leer ist, kann Liquid leere HTML-Elemente ausgeben:

<h1></h1>

 <div></div>

Sie können auch mit Sammlungen prüfen, ob sie leer sind:

{% unless Sammlungen.frontpage == empty %}
  {% for product in Sammlungen.frontpage.products %}
    {% include "product-grid-item" %}
  {% else %}
    <p>We have a "frontpage" collection, but it's empty.</p>
  {% endfor %}
{% endunless %}

EmptyDrop attributes

EmptyDrop-Objekte haben nur ein Attribut, empty?, was immer wahr ist.

Vorhandene Sammlungen und Seiten haben keine empty? Attribut. Ihre empty? ist "falsy", was bedeutet, dass der Aufruf innerhalb einer if -Anweisung false zurückgibt. Bei Verwendung einer unless -Anweisung für bestehende Sammlungen und Seiten, empty? wird true zurückgeben.

Wenn Sie prüfen müssen, ob ein Tropfen leer ist, sollten Sie nicht die empty? verwenden Sie eine bedingte Anweisung, um zu prüfen, ob der Tropfen gleich empty ist.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.