如何在 Laravel 5 中使用分音符?
how do I use partials in Laravel 5?
今天我们在学校开始了 Laravel 5 课程。所以我开始在网上搜索以重新使用东西。我已经阅读了一些关于 sections、components 和 yield 的东西,但我还是不太明白。
在我的 resources/views
文件夹中有一个名为 home.blade.php
的文件。
它包含此导航栏:
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Logo</a>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="/about">About</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="/control-panel"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
</ul>
</div>
</div>
</nav>
现在在我的 about.blade.php
中,我想使用相同的代码而无需复制和粘贴。因此,如果我进行更改,它会立即更改两个导航栏,而不会更改 2 次。
有人可以向我解释如何在不复制和粘贴的情况下重新使用这个导航栏吗?
提前致谢,Sylent。
创建一个新文件夹并将其命名为partials。在那里,您可以将导航、页眉和页脚全部作为单独的 blade 文件。
然后(通常)您会创建一个布局 blade,其中包含结构并包括导航、页眉和页脚。
然后您可以扩展 home 和 about 的布局,并通过创建一个名为 content 的部分来封装每个 home 和 about 的任何内容。
然后您将在布局中生成内容。
https://laravel.com/docs/5.5/blade
#navigation /resources/views/partials/navigation.blade.php
<nav>
...
</nav>
#header /resources/views/partials/header.blade.php
<header>
...
</header>
#footer /resources/views/partials/footer.blade.php
<footer>
...
</footer>
#layout /resources/views/layouts/layout.blade.php
@include('partials.header')
@include('partials.navigation')
<div class="main-content">
@yield('content')
</div>
@include('partials.footer')
#home /resources/views/page/home.blade.php
@extends('theme.layouts.layout')
@section('content')
<p>Anything within home</p>
@endsection
#about /resources/views/page/about.blade.php
@extends('theme.layouts.layout')
@section('content')
<p>Anything within about</p>
@endsection
今天我们在学校开始了 Laravel 5 课程。所以我开始在网上搜索以重新使用东西。我已经阅读了一些关于 sections、components 和 yield 的东西,但我还是不太明白。
在我的 resources/views
文件夹中有一个名为 home.blade.php
的文件。
它包含此导航栏:
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Logo</a>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="/about">About</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="/control-panel"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
</ul>
</div>
</div>
</nav>
现在在我的 about.blade.php
中,我想使用相同的代码而无需复制和粘贴。因此,如果我进行更改,它会立即更改两个导航栏,而不会更改 2 次。
有人可以向我解释如何在不复制和粘贴的情况下重新使用这个导航栏吗?
提前致谢,Sylent。
创建一个新文件夹并将其命名为partials。在那里,您可以将导航、页眉和页脚全部作为单独的 blade 文件。
然后(通常)您会创建一个布局 blade,其中包含结构并包括导航、页眉和页脚。
然后您可以扩展 home 和 about 的布局,并通过创建一个名为 content 的部分来封装每个 home 和 about 的任何内容。
然后您将在布局中生成内容。
https://laravel.com/docs/5.5/blade
#navigation /resources/views/partials/navigation.blade.php
<nav>
...
</nav>
#header /resources/views/partials/header.blade.php
<header>
...
</header>
#footer /resources/views/partials/footer.blade.php
<footer>
...
</footer>
#layout /resources/views/layouts/layout.blade.php
@include('partials.header')
@include('partials.navigation')
<div class="main-content">
@yield('content')
</div>
@include('partials.footer')
#home /resources/views/page/home.blade.php
@extends('theme.layouts.layout')
@section('content')
<p>Anything within home</p>
@endsection
#about /resources/views/page/about.blade.php
@extends('theme.layouts.layout')
@section('content')
<p>Anything within about</p>
@endsection