laravel11无法安装summerblue/laravel-active扩展实现类似效果的方法
1、在 _header.blade.php 里这样写(参考了“上帝不玩骰子”在“说个简单易懂不需要任何扩展直接使用的方法自动 url 选择”中的回复)
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link {{ request()->routeIs('topics.index') ? 'active' : '' }}" href="{{ route('topics.index') }}">话题</a>
</li>
@foreach($categories as $item)
<li class="nav-item"><a class="nav-link {{!empty($category) && $item->id == $category->id ? 'active':''}}" href="{{ route('categories.show', $item->id) }}">{{ $item->name }}</a></li>
@endforeach
</ul>
2、在 AppServiceProvider.php 里这么写,解决$categories参数传递问题(参考“用『视图共享』重写导航栏”)
public function boot()
{
.
.
.
// 判断 categories 表是否存在
if( Schema::hasTable('categories') ) {
// 视图共享
View::share('categories', Category::all());
}
}
3、在 app.scss 里这么写
.nav-link.active {
color: #ff0000; /* 高亮颜色 /
font-weight: bold; / 加粗 */
}