关于导航active item的问题

向大家请教一个问题。

在做网站导航时,把导航的代码放到app.blade.php里,其它页面只需要引入'app',就自动包含导航栏了。

但是,有一点不明白,如果我在app.blade.php里默认设置下图的_‘系列’_为active,那么我跳转到_‘问答’_页面怎么把_‘问答’_设置为active的呀?

9645895B-AC19-456C-A53D-CB16CC430C37.png

可以取得當前的Request來判斷是否符合參數提供之網址,我是習慣另外寫一個Helper,這樣就可以到處重複使用

class HtmlHelper {

    public static function set_active($route) {
        return (\Request::is($route.'/*') || \Request::is($route)) ? "active" : '';
    }

}

這樣我就可以在Blade中,放在需要active的地方

<div class="navigation">
// other item
<a class="item { HtmlHelper::set_active('question') }">問答</a>
// other item
</div>

這樣只要是
http://xxxxxxxx/question
http://xxxxxxxx/question/1
http://xxxxxxxx/question/create
http://xxxxxxxx/question/1/comments/123
之類的都會符合情況而返回 active
實際使用狀況還要根據需求去變更,例如判斷是否為某個group底下,大概思考方向就是這樣

cjjian
修改的评论也不能少于六个字哦!
Tomoe
修改的评论也不能少于六个字哦!
TonyWang
修改的评论也不能少于六个字哦!
TonyWang
修改的评论也不能少于六个字哦!
TonyWang
修改的评论也不能少于六个字哦!
Tomoe
修改的评论也不能少于六个字哦!
cjjian
修改的评论也不能少于六个字哦!
snail
修改的评论也不能少于六个字哦!