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 $wsCategories Modul können Sie Kategoriedaten laden und im Frontend anzeigen. Es stellt Methoden zum Abrufen von Kategorien, Unterkategorien und Produkten bereit.

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>) }}
    
NameRückgabe- TypBeschreibung
idstringGibt die eindeutige, vom Shop vergebene ID der Kategorie aus.
namestringGibt den Namen der Kategorie aus.
descrstringGibt die Kategoriebeschreibung aus.
activestringGibt aus, wann die Kategorie sichtbar ist. Mögliche Werte:
  • always - die Kategorie ist immer sichtbar.
  • test - die Kategorie ist nur im Testmodus sichtbar.
  • never - die Kategorie ist nicht sichtbar.
hiddenboolGibt aus, ob die Kategorie versteckt ist (z.B. nicht in der Navigation sichtbar).
productsCountnumberGibt die Anzahl der Produkte in der Kategorie aus.
custommapGibt Freie Felder der Kategorie aus (z.B. Bilder).
timestampCreatedAtdatetimeGibt den Erstellungszeitpunkt der Kategorie aus.
timestampUpdatedAtdatetimeGibt den letzten Änderungszeitpunkt der Kategorie aus.
productAssignmentTypestringGibt die Art der Produktzuordnung aus.
productRulesstringGibt die Regeln für automatische Produktzuordnung aus.
loadCategory()mapLädt eine einzelne Kategorie anhand ihrer ID.
loadChildren()arrayLädt alle direkten Unterkategorien der Kategorie.
loadPath()arrayLädt den Kategoriepfad (Breadcrumbs) von der Wurzel bis zur angegebenen Kategorie.
loadProducts()arrayLädt die Liste der Produkte, die in einer Kategorie enthalten sind.
loadCategoryMemberships()arrayLädt alle Kategorien, in denen ein bestimmtes Produkt enthalten ist.
loadCategoryMembershipPaths()arrayLä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 flexibel genutzt werden, wie zum Beispiel in Blogbeiträgen oder im Warenkorb. Eine Voraussetzung ist, dass das Template bereits im Verzeichnis views angelegt wurde.

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ückgabe
map - Category-Map mit allen Kategorie-Daten.
Parameter
ParameterTypPflichtBeschreibung
categoryIdstringjaID 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ückgabe
array- Liste mit der Map Category.
Parameter
NameTypPflichtBeschreibung
parentIdstringneinID 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ückgabe
array - Liste mit der Map Category (von oben nach unten).
Parameter
ParameterTypPflichtBeschreibung
categoryIdstringjaID 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ückgabe
array - Liste mit der Map Product.
Parameter
NameTypPflichtBeschreibung
categoryIdstringjaID 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ückgabe
array - Liste mit der Map Category.
Parameter
ParameterTypPflichtBeschreibung
productIdstringjaID 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ückgabe
array - Liste von Pfad-Arrays.
Parameter
ParameterTypPflichtBeschreibung
productIdstringjaID 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 $category.custom.image.normal }}
  <img src="{{= $category.custom.image.normal}}" alt="{{= $category.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