Я использую модуль category для структуры сайта, материалы помещены в контейнеры, контейнеры выводят список материалов в них. Category создаёт меню, в которое вносит только контейнеры, при открытом контейнере соответствующая ветка меню развёрнута и подсвечена. Но когда открываю дочерний материал из этого контейнера, ветка меню сворачивается и ни один пункт не подсвечен. Есть ли такие модули которые активизируют родительские пункты меню судя по иерархии из category? Или эту проблему можно по другому решить? Мне надо чтобы в меню были только контейнеры из структуры category, без дочерних материалов.
Комментарии
День поисков по инету и экспериментов, и в результате workaround: в шаблон определённого материала, который используется category нужно добавить код:
<?php
$parnts = $node->categories;
foreach($parnts as $parnt) {
menu_set_active_item('node/' . $parnt->nid);
}
?>
и всё работает. важно чтобы этот код не был в шаблоне teaser, иначе будет выделяться не тот пункт меню при просмотре списков (контейнеров)
Более лучший код:
<?php
if ($page) {
$old = 'node/' . $node->nid;
$parnts = $node->categories;
foreach($parnts as $parnt) {
menu_set_active_item('node/' . $parnt->nid);
break;
}
menu_block('view','menu-main-menu');
menu_set_active_item($old);
}
?>