2015-01-29 4 views
0

Я новичок Laravel лезвия, и я хочу иметь автоматическую активную панель навигации, поэтому у меня есть этот кодДобавить класс в HTML Macros Laravel Клинка

<li>{{ HTML::clever_link("index", 'Home') }}</li> 
<li><a class="glow" href='breeder'>Breeder's Profile</a></li> 
<li><a class="glow" href='gallery'>Gallery</a></li> 
<li><a class="glow" href='contact'>Contact Us</a></li> 

Я использовал умную ссылку как я исследую сделать то, что я хочу, но удалить класс ссылку «свечение» теперь я хочу, чтобы добавить класс свечения к литиево с умной ссылке, я попытался это

<li>{{ HTML::clever_link("index", 'Home', class="glow") }}</li> 

, но это только дает мне ошибку. Благодаря

ответ

0

Вы можете просто добавить аргумент в ваш HTML Macro: (Очевидно, что я не знаю, как ваш макрос выглядит как так это просто пример)

HTML::macro('clever_link', function($link, $label, $class = ''){ 
    return '<a href="'.$link.'" class="'.$class.'">'.$label.'</a>'; 
}); 

Использование:

{{ HTML::clever_link("index", 'Home', 'glow') }} 

Или что-то более гибкое

HTML::macro('clever_link', function($link, $label, $attributes = array()){ 
    return '<a href="'.$link.'" '.HTML::attributes($attributes).'>'.$label.'</a>'; 
}); 

Использование:

{{ HTML::clever_link("index", 'Home', array('class' => 'glow')) }} 

(Метод HTML::attributes() позволяет преобразовать массив в HTML атрибуты строки)

0
// for navigation menu highlight 
HTML::macro('clever_link', function($route, $text, $icon) {  

if(Request::path() == $route) { 
     $active = "class = 'active'"; 
    } 
     else { 
     $active = ''; 
    } 

    return "<a href = '{url($route)}' $active> <i class = '{$icon}'></i>{$text}</a>"; 
}); 

</pre> 

Usage: 
Make your menu as: 

{{ HTML::clever_link("/", 'Home', 'icon-home-2') }} 
{{ HTML::clever_link("/aboutus", 'About Us', 'icon-dollor') }} 

in your menu's link 

ИЛИ использовать

https://github.com/pyaesone17/active-state

Смежные вопросы