Alle Kategorien inkl. Subkategorien in Seitennavigation

Hallo, ich sitze hier vor folgendem Problem: Die Navigation des Shops soll alle Kategorien inkl. ihrer Subkategorien anzeigen. Immer. Jetzt bin ich leider neu in Shopware und finde nicht den richtigen Punkt um dort anzusetzen. Ich dachte unter frontend\index\categories_left.tpl fündig zu werden aber dem ist wohl nicht so. Kann mir mal jemand einen Schubser in die richtige Richtung geben wo man bei hier ansetzen muss ? Gruß, Jens

Erstmal herzlich willkommen :wink: Die categories_left.tpl ist schon mal der richtige ansatz gewesen. Dort werden im standard-template samtliche Kategorien als verschachtelte listen ausgegeben. wichtig sind die zugeordneten css-klassen #content #left ul.categories #content #left ul.submenu #content #left ul.levelN (wobei N dem level der Kategorie entspricht) #content #left li.active #content #left li.sub #content #left a.flag #content #left a.active du musst nur die css-klassen auf display:block anpassen und dann sollten sie alle angezeigt werden. Viel Spaß beim experimentieren!

Danke für die Antwort. Ich denke wir haben aneinander vorbeigeredet bzw ich hab das Problem falsch beschrieben. Im _default Template werden zwar alle Kategorien ausgegeben, aber nur die Topkategorien. Erst wenn man eine davon auswählt werden die untergeordneten Kategorien dazu ausgegeben, aber nur zu dieser Kategorie. Der Ausgegebene Code (Ausschnitt, gekürzt) vom Shop hierzu: [code]

  • Mobilität
  • Pflege
  • Hygiene
    [/code] Wie man sieht gibt die categories_left.tpl zwar alle Kategorien aus die sie bekommt, aber es werden immer nur die Subkategorien der aktiven Kategorie übermittelt. Die restlichen Subkategorien sind im Quelltext nicht enthalten, also ist hier mit css auch nichts zu machen. Ich benötige die Ausgabe aller Topkategorien inkl. ihrer untergeordneten Kategorien, unabhängig von der gewählten Kategorie. Meine Vermutung ist das ich hier eine Ebene Höher ansetzen muss, evtl mit einem Plugin, um die Daten für das Template anders aufzubereiten. Gruß, Jens

Die Antwort auf diese Frage würde auch mich interessieren. Wir sitzen vor derselben Aufgabe und benötigen ALLE Kategorien inklusive der Subcategories, und nicht nur die Kategorien der ausgewählten Kategorie.

So bekommt man den vollständigen Kategorienbaum: $view->allCategories = Shopware()->Modules()->Categories()->sGetWholeCategoryTree();

Hallo, zufällig habe ich vor kurzem eine Anleitung für ein ähnliches Problem in diesem Thread gepostet: templates-und-design-f57/nur-unterkategorien-einblenden-die-zur-top-kategorie-passen-t10694.html Hier aber die leicht angepasste Anleitung, um den kompletten Kategorienbaum auszugeben: 1. Aktiviere das mitgelieferte Plugin “AdvancedMenu” (Einstellungen -> Plugin-Manager -> Shopware-Erweiterungen -> AdvancedMenu aktivieren). 2. Editiere in deinem Template die Datei “dein_template/index/left.tpl” (bzw. lege sie an falls noch nicht vorhanden) und ergänze oder editiere folgenden Block darin: {\* Maincategories left \*} {block name='frontend\_index\_left\_categories'} {if not $sCustomPage} {include file='frontend/plugins/advanced\_menu/advanced\_left.tpl'} {/if} {/block} 3. Jetzt muss noch die Datei “advanced_left.tpl” in dem Verzeichnis “dein_template/frontend/plugins/advanced_menu/advanced_left.tpl” angelegt werden. Dies ist die Datei, die das neue Menü links mit dem Code des AdvancedMenu (dem vollständigen Kategorienbaum) trägt. 4. Fülle die “advanced_left.tpl” mit folgendem Code: [code]{function name=categories_left level=0}

{foreach from=$categories item=category} - {$category.name}{if ($sCategoryCurrent eq $category.id)}aktuell{/if} {if $category.sub} {call name=categories_left categories=$category.sub level=$level+1} {/if}
{/foreach}{/function}

{foreach from=$sAdvancedMenu item=sCategory} - {$sCategory.description} {if $sCategory.sub} {call name=categories_left categories=$sCategory.sub} {/if}
{/foreach}
[/code] 5. Passe die CSS-Klasse #myLeftNavigation nach deinen Wünschen an. Das ganze müsste übrigens auch irgendwie mit dem Code von der Sitemap funktionieren. Ich habe mich aber für die Variante mit dem AdvancedMenu entschieden. Viel Erfolg!

Allerdings ergibt sich hier für uns ein neues Problem: Die Kategorien werden zwar vollständig von getWholeCategoryTree() gezogen, aber die Kategorien werden von dieser Methode nicht mit eventuell hinterlegten Kategorie-Bildern angereichert. Die ansonsten vorliegende media.path-Variable wird nicht gesetzt.

Bei diesem Lösungsansatz werden in 4.0.4 leider keine Kategorien angezeigt. Ich vermute er lädt die advanced_menu/advanced_left.tpl einfach nicht in der left.tpl Warum das so ist, keine Ahnung. Jemand ’ne Idee?

mineralium weißt du zufällig, wie man den Code abändern könnte, dass nur die ersten beiden Kategorie Level angezeigt werden? Nach der Lösung suchen wir schön länger