在laravel /resources/view/layout
文件夹中,我有header.blade.php
和footer.blade.php
。
我在/resources/view
中还有另一个名为page1.blade.php
的文件。
page1是@extends('layout.haeder')
@extends('layout.footer')
当我看到http://127.0.0.1:8000/page1
问题是所有元素都以相反的顺序显示。从上到下显示。首先显示页脚,然后显示页眉。我该怎么办?资源/视图/页面1
@extends('layout.header')
@extends('layout.footer')
路由/网络
Route::get('/page1', function () {
return view('page1');
});
答案 0 :(得分:1)
/resources/view/layout
内创建一个名为main.blade.php
的新刀片文件。
这是您的布局。
根据您的需要,应该是这样的:<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Example</title>
</head>
<body>
@include('partials.header')
@yield('content')
</body>
</html>
main.blade.php
内部,我们使用了@include(partials.header)
,它实际上是位于/resources/view/partials
上的刀片文件,它是 partial ,因此您可以多次使用它(另一个布局中的示例)
它可以包括这样的内容(或您想要的任何内容):<nav>
<ul>
<li>
<a href="/">Nav 1</a>
</li>
<li>
<a href="/">Nav 2</a>
</li>
<li>
<a href="/">Nav 3</a>
</li>
</ul>
</nav>
page1.blade.php
中,您可以扩展(使用)构建的版面,并添加其唯一的 content (其中将替换@yield('content')
部分在main.blade.php
布局中)
所以可能是这样:@extends('layout.main')
@section('content)
<h1>Hello World</h1>
<p>this is page content ... </p>
@endsection
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Example</title>
</head>
<body>
<nav>
<ul>
<li>
<a href="/">Nav 1</a>
</li>
<li>
<a href="/">Nav 2</a>
</li>
<li>
<a href="/">Nav 3</a>
</li>
</ul>
</nav>
<h1>Hello World</h1>
<p>this is page content ... </p>
</body>
</html>
PS:您可以在Laravel Documentation
中了解有关布局和局部的更多信息。