Skip to main content

Documentation Index

Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt

Use this file to discover all available pages before exploring further.

Mit dem $wsNavigation Modul können Sie den aktuellen Navigationspfad (Breadcrumb) des Kunden im Shop auslesen und anzeigen. Der Breadcrumb zeigt dem Kunden, wo er sich in der Kategoriestruktur befindet, und ermöglicht eine einfache Navigation zu übergeordneten Kategorien.

Modulübersicht

Beispiel / Ausschnitt über $wsNavigation
{{= $wsNavigation | json }}
JSON-Ausgabe
{
  "path": [
    {
      "type": "category",
      "object": {
        "id": "...",
        "name": "...",
        "descr": "...",
        "active": "...",
        "hidden": false,
        "productsCount": 0,
        "custom": { },
        "timestampCreatedAt": "...",
        "timestampUpdatedAt": "...",
        "productAssignmentType": "...",
        "productRules": "..."
      }
    }
  ]
}
Variablen in der Übersicht
VariableTypBeschreibung
patharrayPfad im Kategoriebaum, der angibt, wohin man im Shop navigiert hat.
[$i].typestringTyp der entsprechenden Position im Pfad.
[$i].objectmapKategorie-bzw. Produkt-Map.
Hinweis: Die Eigenschaften von object hängen vom type ab:
  • Bei type category stehen alle Eigenschaften aus $wsCategories zur Verfügung.
  • Bei type product stehen alle Eigenschaften aus $wsProducts zur Verfügung.
  • Nur das letzte Element im Pfad kann vom Typ product sein.

Templates

Standardmäßig wird der Breadcrumb in einer eigenen Datei breadcrumb.htm geladen, damit derselbe Breadcrumb überall im Shop angezeigt werden kann. Diese Datei wird typischerweise im Layout-Template eingebunden.

Variablen

$wsNavigation.path

Liste der Navigationselemente (Breadcrumb) von der Startseite bis zur aktuellen Position.
Pfad: {{= $wsNavigation.path | json }}

wsNavigation.path\[wsNavigation.path\[i].type

Gibt den Typ der Position im Pfad aus: "category" oder "product".
Typ: {{= $wsNavigation.path[0].type }}

wsNavigation.path\[wsNavigation.path\[i].object

Gibt die Kategorie- bzw. Produkt-Map aus. Bei Kategorien entspricht dieser der Category-Map, bei Produkten der Product-Map. So kann auf Eigenschaften wie name, id oder custom zugegriffen werden.
Name: {{= $wsNavigation.path[0].object.name }}

Methoden

Für $wsNavigation stehen keine Methoden zur Verfügung.

Aktionen

Für $wsNavigation stehen keine Aktionen zur Verfügung.

Beispiele für die Verwendung der Navigationsdaten

Um die verfügbaren Daten der Breadcrumb-Navigation einzusehen, können Sie sich diese in einem JSON-ähnlichen Format ausgeben lassen. Dies ist hilfreich, um die Struktur und Inhalte der Breadcrumb-Navigation zu verstehen oder auch Fehler zu debuggen.

Beispiel für die Anzeige des Breadcrumbs

In diesem Beispiel wird mittels des $wsNavigation Moduls die aktuelle Position des Shop-Kunden in der Menüstruktur der gerade besuchten Seite angezeigt.
{{ foreach $part in $wsNavigation.path }}
    {{ var $url = "" }}
    {{ if $part.type == "product" }}
        {{ $url = $wsViews.url("Product", {productId: $part.object.id}) }}
    {{ else }}
        {{ $url = $wsViews.url("Category", {id: $part.object.id}) }}
    {{ /if }}
   <span itemprop="title">{{= $part.object.name }}</span>
{{ /foreach }

Beispiel für Verlinkungen erzeugen

In diesem Beispiel wird gezeigt wie das letzte Element eines Breadcrumbs mit oder ohne Verlinkung erzeugt wird.
{{ foreach $part in $wsNavigation.path }}
    {{ var $url = "" }}
    ...
    {{ var $last = $part is $wsNavigation.path|last }}
   {{ if not $last }}<a href="{{= $url }}" itemprop="url">{{/if}}
      <span itemprop="title">{{= $part.object.name }}</span>
   {{ if not $last }}</a>{{/if}}
{{ /foreach }}