Leere Kategorien werden angezeigt

Hallo, ich habe ein Problem in meinem Shop mit leeren Kategorien. Die Kategoriestruktur sieht folgendermaßen aus: -Deutsch --Kategorie 1 ----Unterkategorie 1.1 ----Unterkategorie 1.2 ----Unterkategorie 1.3 --Kategorie 2 ----Unterkategorie 2.1 ----Unterkategorie 2.2 ------Unterkategorie 2.2.1 ------Unterkategorie 2.2.2 ----Unterkategorie 2.3 --Kategorie 3 Artikel sind nur der Kategorie 1 und ihren Unterkategorien zugeordnet. Alle anderen Kategorien 2/3 und deren Unterkategorien sind leer, sie werden aber im Shop angezeigt. Gibt es eine globale Einstellung, mit der ich leeren Kategorien aktivieren / deaktivieren kann?

Ja, bei den Kategorien ist eine Checkbox “Aktiv”. Da muss einfach nur der Haken raus wenn die nicht angezeigt werden sollen. Optionsweise Haken rein bei “NICHT in Top-Navigation anzeigen”.

Ich bin davon ausgegegangen, dass leere Kategorien automatisch deaktiviert werden, wenn kein Artikel vorhanden ist. In der Version 3.5 war das auch noch so. Siehe: http://wiki.shopware.de/Tutorial-Erste- … en_anlegen “Leere Hauptkategorien werden angezeigt. Für Unterkategorien gilt das nur, wenn mindestens ein Artikel dieser zugeordnet ist.” Gibt es evtl einen Workaround oder eine Änderung, die ich im Template machen könnte, damit nur gefüllte Kategorien angezeigt werden?

Ja gibt es sicherlich mit einer if abfrage. Aber ich verstehe den Sinn nicht. Warum nicht einfach den Haken deaktivieren?

1 „Gefällt mir“

Die Datenbank wird dynamisch gefüllt und es kann vorkommen, dass Artikel aus Kategorie XY ausverkauft sind und die Kategorie dann leer ist. Dann soll sie natürlich nicht mehr angezeigt werden. Wie sähe solch eine IF Abfrage denn aus?

Ich habe es hinbekommen: Für alle, die nach einer ähnlichen Lösung suchen: In die Datei index/listings_left.tpl einfach folgende If Anweisung einfügen: {if $category.articleCount != 0}

1 „Gefällt mir“

Super vielen Dank, genau das habe ich gesucht! :thumbup:

In der Datei frontend/index/categories_left.tpl zwei neue Zeilen einfügen: {foreach from=$categories item=category} // nach dieser Zeile einfügen {if $category.articleCount != 0} // neue Zeile ... ... ... {/if} // neue Zeile {/foreach} // vor dieser Zeile einfügen Das blendet dann alle Kategorien, die aktuell keine Artikel enthalten, aus.

1 „Gefällt mir“