Search

Das Objekt search hat die folgenden Attribute:

Inhalt

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
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.