使用PHP突出显示Left菜单的最佳实践

时间:2016-04-06 19:10:01

标签: php css laravel laravel-5

我有

左侧菜单,我正在寻求使用PHP突出显示左侧菜单的最佳做法。

路线

http://localhost:8888/000D6766F2F6/network/create
http://localhost:8888/000D6766F2F6/network

我已经尝试了

创建一个功能,根据我的路线,我抓取网址段,并检查它是否存在。

public static function customerTab($tab){

    $url = Request::url();
    if (strpos($url, $tab) !== FALSE){
        return 'active';
    }else{
        return '';
    }

}

我称之为

网络

<li class="{{ Helper::customerTab('network')}}"><a href="/{!! $cpe_mac !!}/network"><i class="fa fa-cloud"></i><span>Network</span></a></li>

我的网络

<li class="{{ Helper::customerTab('network')}}"><a href="/{!! $cpe_mac !!}/network/create"><i class="fa fa-sitemap"></i> My Network</a></li>

由于这两个路线都包含network这个词,所以我的方法并不奏效。我现在正在接受任何建议。

任何提示/建议/帮助都将非常感谢!

1 个答案:

答案 0 :(得分:3)

您可以使用Request::is()来确定当前的URL路径是否与简单的glob匹配。它推迟到str_is()进行匹配(https://laravel.com/docs/5.1/helpers#method-str-is),因此您可以进行非常简单的通配符匹配,例如Request::is('*/network')Request::is('*/network/*')

<li class="{{ Request::is('*/network') ? 'active' : null }}">... Network ...</li>
<li class="{{ Request::is('*/network/*') ? 'active' : null }}">... My Network ...</li>

希望有所帮助!