Linkes Menü - Alle aufgeklappt

Hey, ich stehe gerade etwas auf dem Schlauch. Ich möchte das linke Menü dauer aufgeklappt haben. So dass man sofort alle Unterkategorie sieht. Aber irgendwie raffe ich das heute nicht. Hat mir jmd einen Tipp? Danke

würd mich auch mal gern wissen bei TYPO3 und WordPress ist sowas in 2 Minuten erledigt…

Hallo ottscho und b0li, ich möchte auch erreichen, dass der Kategorienbaum immer aufgeklappt ist und habe inzwischen schon ziemlich viel ausprobiert. Wie an anderer Stelle im Forum gesagt wurde, liegt das Problem darin, dass die Variable $sCategories nur den aktuellen Kategoriepfad enthält und entsprechend nur die aktuell angewählte Kategorie mit Unterkategorien enthält (es liegt also nicht nur am Template-Code). Nun dachte ich, ich nehme statt dessen einfach den Kategorienbaum des “AdvancedMenu”. Das hat einerseits auch geklappt, der Code in categories_left.tpl sieht dann so aus: [code]{function name=categories level=0}

{block name=“frontend_index_categories_left_ul”}{/block} {foreach from=$categories item=category} - {$category.description} {if $category.sub} {call name=categories categories=$category.sub level=$level+1} {/if}
{/foreach} {/function} {if $sCategories} {call name=categories categories=$sAdvancedMenu} {elseif $sMainCategories} {call name=categories categories=$sAdvancedMenu} {/if} [/code] Das Menü erscheint jetzt auch komplett ausgeklappt. …allerdings besteht nun das Problem, dass der komplette Kategoriebaum links dargestellt wird, inklusive allen anderen Oberkategorien. Mein Ziel ist es aber (und wahrscheinlich auch das eurige), nur den Kategoriebaum des aktuell angewählten Reiters komplett darzustellen . Ich vermute jetzt, dass dazu noch eine weitere Variable über ein Plugin eingeführt werden muss… Das Plugin “AdvancedMenu” enthält bereits eine Funktion “CategoryTree”, vielleicht ließe sich damit etwas erreichen? Falls noch jemand an diesem Problem arbeitet oder einen Lösungsvorschlag hat, würde ich mich sehr über eine Rückmeldung freuen! Viele Grüße mineralium

Wenn ich die Anfrage oben richtig verstanden habe, ist gewollt das alles komplett ausgeklappt ist. Ich habe es mittlerweile für einen Kunden auch verwirklicht, dann sieht das Menü so aus: http://www.wollwerkstatt.at/shop/ Du willst also nur die Kategorien von der aktuell angeklickten Kategorie angezeigt bekommen?

Hallo Ottscho, genau, das Ergebnis des obigen Codes ist, dass der komplette Baum inklusive allen Hauptkategorien erscheint und komplett ausgeklappt ist. Ich möchte aber erreichen, dass nur die Kategorien des angewählten Reiters komplett ausgeklappt im linken Menü erscheinen. Die Kategorien der anderen Reiter sollen links gar nicht zu sehen sein. Viele Grüße mineralium

Dazu gab es hier auch mal einen Code. Meinst du so wie hier? Wenn ja, dann reich ich dir diesen nach. Bin gerade nur auf dem Sprung.

Hi ottscho, hmm, ich glaube der Link zum “hier” wurde nicht mitgepostet… aber sonst klingt es ja gut :happy:

[quote=“mineralium”]…oder einen Lösungsvorschlag hat, würde ich mich sehr über eine Rückmeldung freuen![/quote] Du kennst ja die ID der aktuellen Kategorie, und kannst in dem foreach-Loop die Generierung nur dann ausführen, wenn die dort bearbeitete Kategorie die aktuelle ist.

1 Like

Hallo zusammen, @ottscho: Danke für den nachgereichten Link! Ja so meine ich das im Grunde. Mit der Möglichkeit, dass auch zusätzliche Unterkategorien sofort aufgeklappt sind. Es wäre klasse, wenn du den Code posten oder einen Tipp geben könntest. @avenger: Hmm ok. Aber würde das nicht dazu führen, dass nur die Unterkategorien der aktuellen Kategorie angezeigt werden, wie es in Shopware schon Standard ist? Ich möchte ja verschiedene Seiten bzw. Reiter haben - sagen wir “Obst” und “Gemüse”. Wenn ich Obst anklicke, sollen immer alle Kategorien und Unterkategorien von Obst statisch angezeigt werden (und von Gemüse keine Spur). Und wichtig: egal welche Sub-Kategorie oder Sub-Sub-Kategorie ich von Obst anklicke, der Baum soll gleich bleiben… Viele Grüße Robert

Schau mal, so ist der Code, dass nur die aktuelle Kategorie angezeigt wird. Jetzt muss du nur nich das dauerhafte aufklappen einbinden. Das hat ja dann nur noch was mit CSS bzw. den CSS Klassen und ID’s zu tun: [code] {* Maincategories left *} {function name=categories level=0}

{block name=„frontend_index_categories_left_ul“}{/block} {foreach from=$categories item=category} {if $category.subcategories or $level > 0 or $category.id == $sCategoryCurrent} - [{$category.description}]({if $category.external}{$category.external}{else}{$category.link|rewrite:$category.description}{/if}) {if $category.subcategories} {call name=categories categories=$category.subcategories level=$level+1} {/if}
{/if} {/foreach} {/function} {if $sCategories} {call name=categories categories=$sCategories} {elseif $sMainCategories} {call name=categories categories=$sMainCategories} {/if} [/code]

1 Like

Hallo ottscho, super, vielen Dank, der Code hilft mir weiter! Ich möchte nun noch erreichen, dass alle Sub-Sub-Kategorien etc. auch sofort aufgeklappt sind, aber ich denke, das bekomme ich mit der Variable sAdvancedMenu irgendwie hin. Herzlich grüßt Robert

Funktionier das auch für 3.5? Bei mir hat es nicht geklappt… :oops: [code]{* Maincategories left *} {function name=categories level=0}

{block name=„frontend_index_categories_left_ul“}{/block} {foreach from=$categories item=category} - {$category.description} {if $category.subcategories} {call name=categories categories=$category.subcategories level=$level+1} {/if}
{/foreach} {/function} {if $sCategories} {call name=categories categories=$sCategories} {elseif $sMainCategories} {call name=categories categories=$sMainCategories} {/if}[/code]

Das geht glaube ich nicht :frowning:

Wie ist denn jetzt die Lösung für aufgeklappte Kategorien bis level2 (also level2 sollte sich nur aufklappen, wenn es aktiv wird)? Beide Codes klappen bei mir nur bedingt.

Reicht Dir das hier? [code]{function name=categories level=0}

{block name=“frontend_index_categories_left_ul”}{/block} {foreach from=$categories item=category} {if $level>0 or $category.subcategories } - {$category.description} {if $category.subcategories} {call name=categories categories=$category.subcategories level=$level+1} {/if}
{/if} {/foreach} {/function} {call name=categories categories=$sCategories}

[/code]

Selbe Problem hier, funktioniert aktuell nicht. (4.0.4)