Может быть, не лучшее объяснение, но выслушай меня.Скажем, у меня есть следующее в файле конфигурации с именем menu.php :
// Default controller is 'home' and default action is 'index'
return array(
'items' => array(
'Home' => '',
'News' => 'news',
'Resources' => 'resources',
),
);
Теперь я хочу напечатать это как меню, которое довольно просто:
foreach(Kohana::config('menu.items') as $title => $uri)
{
echo '<li>' . HTML::anchor($uri, $title) . '</li>';
}
Однако я хочу найти $uri
, который соответствует текущему контроллеру и действию.И если это действие по умолчанию или нет.Я хочу закончить тем, что пункт меню должен иметь id="active-item"
, если это ссылка на текущий контроллер, но действие по умолчанию.И id="active-subitem
, если он связан с текущим контроллером и действие не является заданным по умолчанию.Надеюсь, это имело смысл ...
Кто-нибудь может мне здесь помочь?Как в том, как это сделать в Кохане 3, так и в том, как это должно быть сделано в Кохане 3. Я уверен, что есть много способов, но да ... любая помощь приветствуется:)
Примеры:
- domain.com - Home должно быть active-item , поскольку это контроллер по умолчанию
- domain.com / home - Home должен быть active-item
- domain.com / home / index - Home долженбыть active-item , поскольку index является действием по умолчанию
- domain.com / resources - Resources должно быть active-item
- domain.com / resources / get / 7 - Resources должно быть active-subitem , поскольку get не является значением по умолчаниюдействие