如何为所有页面制作一个布局?例如,我有:
带有标题的header.blade.php文件。
<!doctype html>
<head>
<meta charset="utf-8">
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js">
</script>
</head>
<body>
在login.blade.php中:
@extends('layouts.header')
<form method="POST" action="/auth/login">
{!! csrf_field() !!}
<div>
Email
<input type="email" name="email" value="{{ old('email') }}">
</div>
<div>
Password
<input type="password" name="password" id="password">
</div>
<div>
<input type="checkbox" name="remember"> Remember Me
</div>
<div>
<button type="submit">Login</button>
</div>
</form>
</body>
但是当我打开登录页面后,我的标题会在登录后打印出来吗?为什么? 像这样:
对于所有页面,使用一个页眉/页脚可能更简单吗?例如:
@extends('layouts.header')
~~somethingfile.php~~
@extends('layouts.footer')
提前致谢
答案 0 :(得分:3)
您通常会创建一个这样的布局文件:
<html>
<head>
<title>App</title>
</head>
<body>
@yield('header')
<div class="container">
@yield('content')
</div>
@yield('footer')
</body>
</html>
所有其他文件都使用@extends('layout.layout')
扩展此文件,并在@section
中拥有自己的内容。
@section('content')
// content
@endsection
或
@section('header')
// content
@endsection
取决于目的,等等。
答案 1 :(得分:2)
在头文件内容插入的最后 @yield( '内容')
然后你可以写这个
@extends( 'layouts.header') @section( '内容') 〜出头〜 @停 @extends( 'layouts.footer')
我认为这可能对你有所帮助。