Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
пытаюсь сделать динамический класс active состояния меню, но класс active присваивается только пункту меню со ссылкой на главную страницу /
а остальные всегда неактивные
app\macros.php
HTML::macro('menu_active', function($class,$route,$name)
{
if(Request::is($route . '/*') OR Request::is($route))
{
$active ='<li class="active"><a class="'.$class.'" href="'.URL::to($route).'">'.$name.'</a></li>';
}
else
{
$active ='<li><a class="'.$class.'" href="'.URL::to($route).'">'.$name.'</a></li>';
}
return $active;
});
\views\template\topmenu.blade.php
<div class="topmenu">
<ul class="nav menu nav-pills">
{{ HTML::menu_active('fa fa-newspaper-o','/',' Новости') }}
{{ HTML::menu_active('fa fa-sitemap','/pages/1',' Карта сайта') }}
{{ HTML::menu_active('fa fa-user','/pages/2',' Админка') }}
{{ HTML::menu_active('fa fa-question','/pages/3',' FAQ') }}
{{ HTML::menu_active('fa fa-globe','/pages/4',' Ссылки') }}
</ul>
</div>
\views\template\template.blade.php
@include('template.topmenu')
Не в сети
еще видел в буржунете вариант URI::is вместо Request::is
это выдает ошибку Class 'URI' not found
Не в сети
решил проблему, убрав первый слеш в остальных пунктах меню
Не в сети
решил проблему, убрав первый слеш в остальных пунктах меню
это где, подробней можно,
Не в сети
вот так
\views\template\topmenu.blade.php
<div class="topmenu">
<ul class="nav menu nav-pills">
{{ HTML::menu_active('fa fa-newspaper-o','/',' Новости') }}
{{ HTML::menu_active('fa fa-sitemap','pages/1',' Карта сайта') }}
{{ HTML::menu_active('fa fa-user','pages/2',' Админка') }}
{{ HTML::menu_active('fa fa-question','pages/3',' FAQ') }}
{{ HTML::menu_active('fa fa-globe','pages/4',' Ссылки') }}
</ul>
</div>
Не в сети
Страницы 1