Для тех, кто юзает path_auto

Главные вкладки

Аватар пользователя kosilko kosilko 21 ноября 2008 в 18:43

Вот, накропал тут, может кому пригодится такое решение...

function phptemplate_menu_item_link($link) {
         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". Таким образом, путем последующей правки файла стилей мы сможем реализовать подсветку ссылок по принципу логической вложенности, при этом ссылки могут находиться в разных меню и блоках.

Комментарии

Аватар пользователя kosilko kosilko 21 ноября 2008 в 21:39

Код писался под свои нужды, особого смысла тут искать не стоит. Не надо - не ешьте, какие проблемы-) А скриншот зачем? Я непонятно описал суть?

Кста., небольшой доработко (не забыть бы до понедельника)

&& strpos($_SERVER['REQUEST_URI'],$aliases[$link['href']].'/')===0)