Einzelne Kategorien als Navigation einbinden

Ein redaxo-User fragte mich, ob es möglich sei, mehrere separate Menübereiche mit separaten CSS-Einstellungen anzulegen.

In diesem Fall sollten drei Zusatzmenüs in unterschiedlichen Farben eingebaut werden.

Das ist mit dem Template yaml_navigation nach einer kleinen Anpassung des Quelltextes einfach zu realisieren.

Vor dem Bereich im Quelltext des yaml_navigation Templates der das Breadcrumbmenü aufbaut, müsste folgendender Quelltext eingeschoben werden.

// Hier die ID's für die gewünschten Kategorien zuordnen
// z. B. $catIdRot='2'
$catIdRot='';
$catIdGruen='';
$catIdBlau='';

// Hier wird das "rote" Menü aufgebaut und an $navigation_rot übergeben
$nav1=OOCategory::getCategoryById($catIdRot);
// redaxo 3.x: $navi1 = build_navigation($userTyp, $nav1, $path, 'on');
$navi1 = build_navigation($nav1, $path, 'on');
$navigation_rot = "<ul class=\"rot\">\n {$navi1[0]} </ul>\n";

// Hier wird das "grüne" Menü aufgebaut und an $navigation_gruen übergeben
$nav2=OOCategory::getCategoryById($catIdGruen);
// redaxo 3.x: $navi2 = build_navigation($userTyp, $nav2, $path, 'on');
$navi2 = build_navigation($nav2, $path, 'on');
$navigation_gruen = "<ul class=\"gruen\">\n {$navi2[0]} </ul>\n";

// Hier wird das "blaue" Menü aufgebaut und an $navigation_blau übergeben
$nav3=OOCategory::getCategoryById($catIdBlau);
// redaxo 3.x: $navi3 = build_navigation($userTyp, $nav3, $path, 'on');
$navi3 = build_navigation($nav3, $path, 'on');
$navigation_blau = "<ul class=\"blau\">\n {$navi3[0]} </ul>\n";

// Im Seitentemplate können die Menüs nun einfach mit der Variable
// §navigation_rot, $navigation_gruen oder $navigation_blau uebergeben und angezeigt werden

//////////////// ------- Breadcrumb erstellen ---------- ////////////////

// ...
 

In

$navi1 = build_navigation($nav1, $path, 'on');

kann das ‘on’ am Ende natürlich auch durch ‘off’, ‘allOn’ etc. ersetzt werden. Dadurch erzielt man die gleichen Ergebnisse, die auch der “Menü-Umschalter” im YAML-Laypout Template bewirken würde.