📜  在 laravel 刀片模板中包含导航栏或部分布局 - PHP (1)

📅  最后修改于: 2023-12-03 15:07:42.736000             🧑  作者: Mango

在 Laravel 刀片模板中包含导航栏或部分布局 - PHP

Laravel 刀片模板是一个强大的 PHP 模板引擎,允许您轻松地创建可重用的视图和布局。

在本文中,我们将介绍在 Laravel 刀片模板中如何包含导航栏或部分布局。这将使您的应用程序更加干净和可维护。

包含导航栏

要在 Laravel 刀片模板中包含导航栏,可以创建一个导航栏刀片,并将其包含在您的主刀片中。这样,您可以在所有页面上重复使用同一个导航栏。

创建导航栏刀片

首先,创建一个名为“nav.blade.php”的新文件,然后在其中添加您的导航栏 HTML。例如:

<nav>
    <ul>
        <li><a href="/">Home</a></li>
        <li><a href="/about">About</a></li>
        <li><a href="/contact">Contact</a></li>
    </ul>
</nav>
在主刀片中包含导航栏

要在您的主刀片中包含导航栏,请使用“@include”指令。例如:

<!DOCTYPE html>
<html>
<head>
    <title>My Website</title>
</head>
<body>
    @include('nav')
    
    <main>
        @yield('content')
    </main>
</body>
</html>

现在,无论访问您站点的哪个页面,都将在页面顶部显示导航栏。

包含部分布局

要在 Laravel 刀片模板中包含部分布局,可以创建一个部分刀片,并将其包含在您的主刀片中的适当位置。这样,您可以轻松地在多个页面上重复使用相同的 HTML。

创建部分刀片

首先,创建一个名为“sidebar.blade.php”的新文件,然后在其中添加适当的 HTML。例如:

<aside>
    <h2>Search</h2>
    <form action="/search" method="get">
        <input type="text" name="q">
        <button type="submit">Search</button>
    </form>
</aside>
在主刀片中包含部分布局

要在您的主刀片中包含部分布局,请使用“@yield”指令。例如:

<!DOCTYPE html>
<html>
<head>
    <title>My Website</title>
</head>
<body>
    @include('nav')
    
    <main class="container">
        <div class="row">
            <div class="col-md-8">
                @yield('content')
            </div>
            <div class="col-md-4">
                @include('sidebar')
            </div>
        </div>
    </main>
</body>
</html>

在这个例子中,我们创建了一个两列布局,其中包含一个主要区域和一个侧边栏。通过使用“@yield”指令,我们可以在子视图中替换“content”部分,同时在每个页面上重复使用相同的侧边栏。

这就是在 Laravel 刀片模板中包含导航栏或布局的方式。通过将重复的代码抽象成刀片,您可以轻松地减少代码重复,并使您的应用程序更加可维护。