Search
Das Objekt search
hat die folgenden Attribute:
Inhalt
- search.default_sort_by
- search.filters
- search.performed
- search.results
- Search result object_type
- search.results_count
- search.sort_by
- search.sort_options
- option.name
- option.value
- search.terms
- search.types
search.default_sort_by
Gibt relevance
zurück. Dies ist die Standardsortierreihenfolge für die Suche.
search.filters
Gibt ein Array von Filterobjekten zurück, die auf der Suchseite eingerichtet wurden.
Gibt nur Filter zurück, die für die aktuellen Suchergebnisse relevant sind. Bei Suchergebnissen, die mehr als 1000 Produkte enthalten, sind die Filter leer.
search.performed
Gibt true
zurück, wenn ein HTML-Formular mit dem Attribut action="/search"
erfolgreich übermittelt wurde. Auf diese Weise können Sie Inhalte anzeigen lassen, je nachdem, ob eine Suche durchgeführt wurde.
{% if search.performed %} <!-- Show search results --> {% endif %}
search.results
Gibt ein Array mit passenden Suchergebnissen zurück. Die Elemente in der Matrix können a(n) sein:
Sie können auf die Attribute der einzelnen Suchergebnisse zugreifen, indem Sie eine Schleife durch search. results
ziehen.
{% for item in search.results %} <h3>{{ item.title | link_to: item.url }}</h3> {% endfor %}
Search result object_type
Die Suchergebnisse haben ein zusätzliches Attribut object_type
, das den Typ jedes Ergebnisses angibt. Dies ist nützlich für die Identifizierung von Ergebnistypen bei der Ausgabe von Ergebnissen.
{% for item in search.results %} <h3>{{ item.title | link_to: item.url }}</h3> {% if item.object_type == 'article' %} {% comment %} 'item' is an article Auf alle Eigenschaften des Artikelobjekts kann zugegriffen werden. {% endcomment %} {% if item.image %} <div class="result-image"> <a href="{{ item.url }}" title="{{ item.title | escape }}"> {{ item | image_url: width: 100 | image_tag }} </a> </div> {% endif %} {% elsif item.object_type == 'page' %} {% comment %} 'item' is a page. Auf alle Eigenschaften des Seitenobjekts kann zugegriffen werden. {% endcomment %} {% else %} {% comment %} 'item' is a product. Auf alle Eigenschaften des Produktobjekts kann zugegriffen werden. {% endcomment %} {% if item.featurot_image %} <div class="result-image"> <a href="{{ item.url }}" title="{{ item.title | escape }}"> {{ item.featurot_image | image_url: width: 100 | image_tag }} </a> </div> {% endif %} {% endif %} <span>{{ item.content | strip_html | truncatewords: 40 | highlight: search.terms }}</span> {% endfor %}
search.results_count
Gibt die Anzahl der gefundenen Ergebnisse zurück.
search.sort_by
Gibt die Sortierreihenfolge zurück, die durch den URL-Parameter sort_by
auf die Suchanfrage angewendet wurde. Wenn es keinen sort_by
URL-Parameter gibt, ist der Standardwert relevance
.
Bei der folgenden URL zum Beispiel würde die folgende Eingabe zu folgender Ausgabe führen:
/search?q=snowboard&sort_by=price-ascending
Sort by: {{ search.sort_by }}
Sort by: price-ascending
search.sort_options
Gibt ein Array von Sortieroptionen für die Suchanfrage zurück.
Zum Beispiel würde die folgende Eingabe zu folgender Ausgabe führen:
<select id="sort-by"> {% assign sort_by = search.sort_by | default: search.default_sort_by %} {% for option in search.sort_options %} <option value="{{ option.value }}" {% if option.value="=" sort_by %}selected="selected" endif %}> {{ option.name }} </option> {% endfor %} </select>
<select id="sort_by"> <option value="relevance">Relevance</option> <option value="price-ascending">Price, low to high</option> <option value="price-descending">Price, high to low</option> </select>
Jede Option hat die folgenden Eigenschaften:
option.name
Die kundenorientierte Bezeichnung für die Sortieroption, die von Händlern im Spracheditor bearbeitet werden kann.
option.value
Der Wert der Sortieroption, der der Eigenschaft sort_by
in einer Formularübermittlung zugewiesen werden soll.
search.terms
Gibt die Zeichenfolge zurück, die in das Sucheingabefeld eingegeben wurde.
Verwenden Sie den Liquid highlight filter, um einen anderen Stil auf alle Instanzen in den Suchergebnissen anzuwenden, die mit search. terms
übereinstimmen. Zum Beispiel:
{{ item.content | highlight: search.terms }}
<!-- Wenn der Suchbegriff "Gelb" war --> <strong class="highlight">Gelb</strong> Hemden sind die besten!
search.types
Gibt ein Array von Strings zurück, die die Typen darstellen, für die die Suche durchgeführt wurde. Die Elemente im Array können eine beliebige Kombination aus article
, page
, product
sein.
Die Sucharten sind in den URL-Parametern der Suchseite zu sehen. Bei der folgenden URL zum Beispiel würde die folgende Eingabe zu folgender Ausgabe führen:
/search?type=article,product&q=*
{% for type in search.types %} - {{ type }} {% endfor %}
- article - product