Laravel - 使用 yields / extends
Laravel - Using of yields / extends
我的 bootstrap 导航栏有一个@include 问题。今天早上搞定了,真不知道问题出在哪里。
这是错误消息:
未找到视图 [layouts.navbar]。
我要包含navbar.blade.php
的内容
<!DOCTYPE html>
<html>
<head>
<title>Mana Tournaments</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no"/>
{!! Html::style('css/style.css') !!}
{!! Html::style ('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css') !!}
{!! Html::style ('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css') !!}
</head>
<body>
<div class="container">
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">Logo</a>
</div>
<ul class="nav navbar-nav">
<li class="active"><a href="welcome">Accueil</a></li>
<li><a href="#">Tournois</a></li>
<li><a href="#">Inscription</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div>
</nav>
</div>
</body>
</html>
到我的索引页(welcome.blade.php)
<!DOCTYPE html>
<html>
<head>
<title>Mana Tournaments</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no"/>
{!! Html::style('css/style.css') !!}
{!! Html::style ('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css') !!}
{!! Html::style ('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css') !!}
</head>
<body>
<h1>Gestionnaire de tournois</h1>
<div class="container">
@include('layouts.navbar')
</div>
</body>
</html>
我手动创建了一个布局文件夹,然后创建了导航栏文件。如果我做错了什么,也许有 laravel 的命令行用于创建文件夹?
谢谢你帮我解决我的问题。
那是因为该文件不在 app/views 目录中。当您调用 @include('filename')
时,Blade 会自动在 apps/views 目录中查找具有该名称的任何文件。此外,您不应该写文件扩展名,因为 Blade 会自动查找扩展名为 .blade.php 和 .php 的文件。
Laravel 5 使用此文件夹
resources/views/
首先,
确保您要包含的视图存在于正确的文件夹中。
@include('layouts.navbar')
将包含该路径 \resources\views\layouts\navbar.blade.php
确保布局目录中的文件,
其次,包含的部分不需要写完整html。
navbar.blade.php 将添加(包含)到 welcome.blade.php,
就像你在复制 navbar.blade.php
的内容并将其添加到 welcome.blade.php
,
所以改成这样,
navbar.blade.php
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">Logo</a>
</div>
<ul class="nav navbar-nav">
<li class="active"><a href="welcome">Accueil</a></li>
<li><a href="#">Tournois</a></li>
<li><a href="#">Inscription</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div>
</nav>
我的 bootstrap 导航栏有一个@include 问题。今天早上搞定了,真不知道问题出在哪里。
这是错误消息:
未找到视图 [layouts.navbar]。
我要包含navbar.blade.php
的内容<!DOCTYPE html>
<html>
<head>
<title>Mana Tournaments</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no"/>
{!! Html::style('css/style.css') !!}
{!! Html::style ('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css') !!}
{!! Html::style ('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css') !!}
</head>
<body>
<div class="container">
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">Logo</a>
</div>
<ul class="nav navbar-nav">
<li class="active"><a href="welcome">Accueil</a></li>
<li><a href="#">Tournois</a></li>
<li><a href="#">Inscription</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div>
</nav>
</div>
</body>
</html>
到我的索引页(welcome.blade.php)
<!DOCTYPE html>
<html>
<head>
<title>Mana Tournaments</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no"/>
{!! Html::style('css/style.css') !!}
{!! Html::style ('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css') !!}
{!! Html::style ('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css') !!}
</head>
<body>
<h1>Gestionnaire de tournois</h1>
<div class="container">
@include('layouts.navbar')
</div>
</body>
</html>
我手动创建了一个布局文件夹,然后创建了导航栏文件。如果我做错了什么,也许有 laravel 的命令行用于创建文件夹?
谢谢你帮我解决我的问题。
那是因为该文件不在 app/views 目录中。当您调用 @include('filename')
时,Blade 会自动在 apps/views 目录中查找具有该名称的任何文件。此外,您不应该写文件扩展名,因为 Blade 会自动查找扩展名为 .blade.php 和 .php 的文件。
Laravel 5 使用此文件夹
resources/views/
首先,
确保您要包含的视图存在于正确的文件夹中。
@include('layouts.navbar')
将包含该路径 \resources\views\layouts\navbar.blade.php
确保布局目录中的文件,
其次,包含的部分不需要写完整html。
navbar.blade.php 将添加(包含)到 welcome.blade.php,
就像你在复制 navbar.blade.php
的内容并将其添加到 welcome.blade.php
,
所以改成这样,
navbar.blade.php
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">Logo</a>
</div>
<ul class="nav navbar-nav">
<li class="active"><a href="welcome">Accueil</a></li>
<li><a href="#">Tournois</a></li>
<li><a href="#">Inscription</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div>
</nav>