向大家请教一个问题。
在做网站导航时,把导航的代码放到app.blade.php里,其它页面只需要引入'app',就自动包含导航栏了。
但是,有一点不明白,如果我在app.blade.php里默认设置下图的_‘系列’_为active,那么我跳转到_‘问答’_页面怎么把_‘问答’_设置为active的呀?
向大家请教一个问题。
在做网站导航时,把导航的代码放到app.blade.php里,其它页面只需要引入'app',就自动包含导航栏了。
但是,有一点不明白,如果我在app.blade.php里默认设置下图的_‘系列’_为active,那么我跳转到_‘问答’_页面怎么把_‘问答’_设置为active的呀?
可以取得當前的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底下,大概思考方向就是這樣