Вот, накропал тут, может кому пригодится такое решение...
static $aliases = array();
if (!isset($aliases[$link['href']])) {
$aliases[$link['href']]=url($link['href']);
}
if ($_SERVER['REQUEST_URI']!=$aliases[$link['href']] && strpos($_SERVER['REQUEST_URI'],$aliases[$link['href']].'/')===0) {
$link['localized_options']['attributes']['class']=isset($link['localized_options']['attributes']['class'])?$link['localized_options']['attributes']['class'].' parent':'parent';
}
return theme_menu_item_link($link);
}
Что делает код:
Если мы зашли по ссылке 'catalog/novosti/2008/', и при этом у нас отображены ссылки как на 'catalog/novosti/2008/', так и на 'catalog/novosti', то для ссылки, урл которой 'catalog/novosti' будет добавлен CSS-класс "parent". Таким образом, путем последующей правки файла стилей мы сможем реализовать подсветку ссылок по принципу логической вложенности, при этом ссылки могут находиться в разных меню и блоках.
Комментарии
Спасибо, хорошая идея, может где-нибудь будем косить вашим методом)))
Скриншот с примером в студию, а то я смысла не вижу, а вообще интересно.
Код писался под свои нужды, особого смысла тут искать не стоит. Не надо - не ешьте, какие проблемы-) А скриншот зачем? Я непонятно описал суть?
Кста., небольшой доработко (не забыть бы до понедельника)
&& strpos($_SERVER['REQUEST_URI'],$aliases[$link['href']].'/')===0)
Спасибо, хорошее применение возможностей темизации друпал,
в закладки
а и правда, киньте скриншотик какой-то, ато я дурак по гороскопу, не могу въехать...