$wsCategories
Mit dem $wsCategories Modul können Sie Kategoriedaten laden und im Frontend anzeigen. Es stellt Methoden zum Abrufen von Kategorien, Unterkategorien und Produkten bereit.
Inhaltsverzeichnis
Modulübersicht
Beispiel / Ausschnitt über $wsCategories
{{= $wsCategories | json }}
JSON-Ausgabe
{
"loadCategory": "ƒ()",
"loadCategoryMembershipPaths": "ƒ()",
"loadCategoryMemberships": "ƒ()",
"loadChildren": "ƒ()",
"loadPath": "ƒ()",
"loadProducts": "ƒ()"
}Anmerkung: “f()” kennzeichnet eine Funktion.
Variablen und Methoden in der Übersicht
$wsCategories ist ein Modul zum Laden von Kategorien. Es stellt keine aktuelle Kategorie in Abfragen wie $wsCategories.id bereit.
Die unten aufgeführten Variablen gehören zu einer Category-Map, auf die wie folgt zugegriffen werden kann:
aus dem aktuellen Seitenkontext:
{{ var $category = $wsViews.current.info.category }}aus Funktionen wie
loadChildren():{{ foreach $category in $wsCategories.loadChildren(<parentId>) }}
Name | Rückgabe- Typ | Beschreibung |
|---|---|---|
| string | Gibt die eindeutige, vom Shop vergebene ID der Kategorie aus. |
| string | Gibt den Namen der Kategorie aus. |
| string | Gibt die Kategoriebeschreibung aus. |
| string | Gibt aus, wann die Kategorie sichtbar ist. Mögliche Werte:
|
| bool | Gibt aus, ob die Kategorie versteckt ist (z.B. nicht in der Navigation sichtbar). |
| number | Gibt die Anzahl der Produkte in der Kategorie aus. |
| map | Gibt Freie Felder der Kategorie aus (z.B. Bilder). |
| datetime | Gibt den Erstellungszeitpunkt der Kategorie aus. |
| datetime | Gibt den letzten Änderungszeitpunkt der Kategorie aus. |
| string | Gibt die Art der Produktzuordnung aus. |
| string | Gibt die Regeln für automatische Produktzuordnung aus. |
| map | Lädt eine einzelne Kategorie anhand ihrer ID. |
| array | Lädt alle direkten Unterkategorien der Kategorie. |
| array | Lädt den Kategoriepfad (Breadcrumbs) von der Wurzel bis zur angegebenen Kategorie. |
| array | Lädt die Liste der Produkte, die in einer Kategorie enthalten sind. |
| array | Lädt alle Kategorien, in denen ein bestimmtes Produkt enthalten ist. |
| array | Lädt die vollständigen Kategoriepfade (Breadcrumbs) für alle Kategorien, in denen ein bestimmtes Produkt enthalten ist. |
Template
Im Standard erfolgt die Anzeige von Kategorien über das Template category.htm. Dieses Template ist im Verzeichnisbaum unter dem Pfad templates/views/category.htm gespeichert. Die Zuweisung dieses Templates erfolgt im Admin Interface unter Shop-Einstellungen > Kategorie-Navigation, Kategorie-Feld und Kategorie-Feldgruppen.
Kategoriedaten können jedoch auch auf allen anderen Templates und somit Seiten des Shops geladen und somit angezeigt werden.
Variablen
$category.id
Gibt die Eindeutige, vom Shop vergebene ID der Kategorie aus.
Kategorie-ID: {{= $category.id }}$category.name
Gibt den Namen der Kategorie aus. Mehr dazu in der Konfiguration.
Kategoriename: {{= $category.name }}$category.descr
Gibt die Beschreibung einer Kategorie aus. Mehr dazu in der Konfiguration.
Kategoriebeschreibung: {{= $category.descr }}$category.active
Gibt den Sichtbarkeitsstatus der Kategorie aus. “always” (immer sichtbar), “test” (nur Testmodus) oder “never” (nicht sichtbar).
{{ if $category.active == "always" }}
// Kategorie ist aktiv
{{ /if }}$category.hidden
Gibt aus, ob die Kategorie versteckt ist (z.B. nicht in der Navigation angezeigt wird).
{{ if !$category.hidden }}
<li>{{= $category.name }}</li>
{{ /if }}
$category.productsCount
Gibt die Anzahl der Produkte in einer Kategorie aus.
{{ if $category.productsCount > 0 }}
// Produkte verfügbar
{{ /if }}
$category.custom
Gibt die benutzerdefinierten Felder der Kategorie aus (z.B. Bilder, SEO-Texte oder eigene Attribute).
{{ if $category.custom }}
// Freie Felder verfügbar
{{ /if }}$category.timestampCreatedAt
Gibt den Erstellungszeitpunkt der Kategorie aus.
Erstellt: {{= $category.timestampCreatedAt | date }}$category.timestampUpdatedAt
Gibt den Zeitpunkt der letzten Änderung an der Kategorie aus.
Aktualisiert: {{= $category.timestampUpdatedAt | date }}
Methoden
$wsCategories.loadCategory()
Lädt eine einzelne Kategorie anhand ihrer ID.
Signatur$wsCategories.loadCategory(categoryId)
Rückgabemap - Category-Map mit allen Kategorie-Daten.
Parameter
Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| string | ja | ID der zu ladenden Kategorie. |
Beispiel, das eine Kategorie lädt und den Namen ausgibt.
{{ var $category = $wsCategories.loadCategory("100-12345") }}
{{= $category.name }}
$wsCategories.loadChildren()
Lädt alle direkten Unterkategorien der Kategorie.
Signatur$wsCategories.loadChildren(parentId)
Rückgabearray- Liste mit der Map Category.
Parameter
Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| string | nein | ID der übergeordneten Kategorie. |
Beispiel, das alle Unterkategorien als Links ausgibt.
{{ foreach $cat in $wsCategories.loadChildren("100-12345") }}
{{= $cat.name }}
{{ /foreach }}Ohne Angabe einer parentId werden alle Kategorien der obersten Ebene ausgegeben.
$wsCategories.loadPath()
Lädt den Kategoriepfad (Breadcrumb) von der Wurzel bis zur angegebenen Kategorie.
Signatur$wsCategories.loadPath(categoryId)
Rückgabearray - Liste mit der Map Category (von oben nach unten).
Parameter
Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| string | ja | ID der Zielkategorie. |
Beispiel, das den Kategoriepfad als Breadcrumb ausgibt.
{{ foreach $myCategoryVariable in $wsCategories.loadPath($category.id) }}
<a href="{{= $wsViews.url('Category', {id: $myCategoryVariable.id}) }}">{{= myCategoryVariable.name }}</a> /
{{ /foreach }}
$wsCategories.loadProducts()
Lädt die Liste der Produkte, die in der Kategorie mit der ID categoryId enthalten sind.
Signatur$wsCategories.loadProducts(categoryId)
Rückgabearray - Liste mit der Map Product.
Parameter
Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| string | ja | ID der Kategorie, deren Produkte geladen werden soll. |
Beispiel, das die Produkte einer Kategorie in eine Variable lädt.
{{ var $products = $wsCategories.loadProducts("100-12345") }}
$wsCategories.loadCategoryMemberships()
Lädt alle Kategorien, in denen ein Produkt enthalten ist.
Signatur$wsCategories.loadCategoryMemberships(productId)
Rückgabearray - Liste mit der Map Category.
Parameter
Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| string | ja | ID des Produkts, nach dem die Kategorien durchsucht werden sollen. |
Beispiel, das alle Kategorien eines Produkts ausgibt:
{{ foreach $myProductCategorie in $wsCategories.loadCategoryMemberships($product.id) }}
<span>{{= $myProductCategorie.name }}</span>
{{ /foreach }}
$wsCategories.loadCategoryMembershipPaths()
Lädt die vollständigen Kategoriepfade für alle Kategorien, in denen ein Produkt enthalten ist.
Signatur$wsCategories.loadCategoryMembershipPaths(productId)
Rückgabearray - Liste von Pfad-Arrays.
Parameter
Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| string | ja | ID des Produkts, nach dem die Kategorien durchsucht werden sollen. |
Beispiel, das alle Kategoriepfade eines Produkts ausgibt.
{{ foreach $myCategoriepPath in $wsCategories.loadCategoryMembershipPaths($product.id) }}
{{ foreach $myCategory in $myCategoriepPath }}
{{= $myCategory.name }} >
{{ /foreach }}
{{ /foreach }}
Aktionen
Für $wsCategories stehen keine Aktionen zur Verfügung.
Beispiele für die Anzeige von Kategorie-Informationen
Nachdem die Daten einer Kategorie geladen und einer Variable zugewiesen wurden, können Sie diese flexibel ausgeben. Die Zuweisung kann wie folgt erfolgen:
{{ var $myCategory = $wsView.current.info.category }}
Name und Beschreibung der Kategorie
In diesem Beispiel werden die Kategorienamen und die Kategoriebeschreibung angezeigt.
Kategoriename: {{= $myCategory.name}}
Kategoriebeschreibbung: {{= $myCategory.description }}
Bilder der Kategorie
In diesem Beispiel wird geprüft, ob ein Übersichtsbild vorhanden ist. Im positiven Fall wird das Bild angezeigt.
{{ if $myCategory.custom.image.normal }}
<img src="{{= $myCategory.custom.image.normal}}" alt="{{= $myCategory.name }}">
{{ /if }}
Unterkategorien einer Kategorie
In diesem Beispiel werden innerhalb einer foreach Schleife die Unterkategorien einer beliebigen Kategorie mit der Funktion $wsCategories.loadChildren() geladen. Als Argument wird die jeweilige Kategorienummer übergeben.
{{ foreach $myCategory in $wsCategories.loadChildren("100-12345") }}
Unterkategorie-Nummer: {{= $myCategory.id }}
Unterkategorie-Name: {{= $myCategory.name }}
Unterkategorie-Beschreibung: {{= $myCategory.desc }}
{{ /foreach }}
Produkte einer Kategorie
In diesem Beispiel werden innerhalb einer foreach Schleife die Produkte einer Kategorie geladen und auf die Produktdaten zugegriffen.
{{ foreach $myProduct in $view.info.products }}
Produktname: {{= $myProduct.name }}
{{ /foreach }}
Kategorien auf beliebigen Seiten verwenden
Die Daten einer Kategorie können mittels der $wsCategories.load() Funktion auch auf anderen Seiten des Shops geladen werden, wie zum Beispiel Blogbeiträge, im Warenkorb oder auf der Startseite.
Dazu muss der Index der gewünschten Kategorie angegeben werden:
{{ var $myCategory = $wsCategories.load("101-12345") }}Dann können Sie ebenfalls auf alle Daten der geladenen Kategorie zugreifen, z. B. Kategoriename und Kategoriebeschreibung:
Kategoriename: {{= $myCategory.name}}
Kategoriebeschreibung: {{= $myCategory.description }}
Praxisbeispiele zu Umsetzungen von Kategorien und Kategorien-Funktionen finden Sie hier: Praxisbeispiele Kategorien