用『视图共享』重写导航栏
导航问题
现在的导航栏是写死的,通过查阅 视图共享 文档可重写导航栏。
解决方案
1.修改 App\Providers\AppServiceProvider
服务提供者如下:
<?php
namespace App\Providers;
.
.
.
use Illuminate\Support\Facades\Schema;
use App\Models\Category;
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
.
.
.
// 判断 categories 表是否存在
if( Schema::hasTable('categories') ) {
// 视图共享
View::share('categories', Category::all());
}
}
}
2.修改头部视图 resources\views\layouts\_header.blade.php
如下:
.
.
.
<!-- Left Side Of Navbar -->
<ul class="navbar-nav mr-auto">
<li class="nav-item"><a class="nav-link {{ active_class(if_route('topics.index')) }}" href="{{ route('topics.index') }}">话题</a></li>
@foreach( $categories as $category )
<li class="nav-item"><a class="nav-link {{ category_nav_active($category->id) }}" href="{{ route('categories.show', $category->id) }}">{{ $category->name }}</a></li>
@endforeach
</ul>
.
.
.
这个办法好