用『视图共享』重写导航栏

导航问题

现在的导航栏是写死的,通过查阅 视图共享 文档可重写导航栏。

解决方案

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>
.
.
.

效果

用『视图共享』重写导航栏

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!