OXID6 Sidebar aktivieren

Bin neu in Oxid und möchte bei einem Oxid6 mit Flow-Theme die linke Sidebar aktivieren/einblenden.

In den tpl-Dateien sehe, dass mit:

[{if $sidebar && $sidebar != “Right”}]

nach $sidebar gefragt wird, der Sourcecode für die Sidebar also vorhanden ist.

=> Wir kann ich nun die Variable setzen, damit die Sidebar eingeblendet wird?

Danke!
Heiko

In page.tpl ein assign-Statement einfügen:

[{* sidebar IMMER anzeigen *}]
[{assign var="sidebar" value="Left"}]
[{if $sidebar && $sidebar != "Right"}]

Zusätzlich in sidebar.tpl angeben, auf welchen Seiten die sidebar angezeigt werden soll. Abgeprüft wird der Klassenname (alist sind Kategorieseiten, details ist die Artikeldetailseite usw.). Mit or true wird es auf allen Seiten angezeigt. Die Abfrage ist nur ein Beispiel, einfach nach Wunsch anpassen.

[{if $oView->getClassName() == 'alist' or $oView->getClassName() == 'start' or $oView->getClassName() == 'details' or true}]

1 Like

Super, danke. Tolle Hilfe!

Die Sidebar wird nun überall angezeigt. Hast du eine Idee warum jedoch der Kategorie-Kasten zwar überall angezeigt wird, aber meistens “leer” ist (ohne Kategorien gerendert wird)?

zB auf der Suchergebnisseite oder im Impressum

Dazu musst du in widget/sidebar/categorytree.tpl die Zeile

[{assign var="categories" value=$oxcmp_categories->getClickRoot()}]

ersetzen durch

[{assign var="categories" value=$oxcmp_categories}]

Das führt zu zwei Änderungen:

  1. wird immer der komplette Kategoriebaum angezeigt
  2. und das auch auf den Seiten, wo es keine ClickRoot gibt wie Impressum etc.

Wieso ist das Ganze jetzt eigentlich so kompliziert, seit der Umstellung?
Davor war es nicht so kompliziert!

Nur der Ansatz zu der Lösung ist kompliziert, in oxid selbst hat sich diesbezüglich seit 5 Jahren nichts verändert.
D.h. man hätte auch ganz einfach das Template, wo man die sidebar haben will, bearbeiten können.