将类添加到 html 宏 Laravel Blade


Add Class to html Macros Laravel Blade

我是拉拉维尔刀片的新手,我想有一个自动主动导航栏,所以我有这个代码

<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 中,我试过这个

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

但它只是给了我错误。谢谢

您可以简单地向HTML宏添加一个参数:(显然我不知道您的宏是什么样子的,所以这只是一个例子)

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 属性字符串)

 // 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