我是Laravel的新手,我正试图做一个" modular"页面第一次。一切都很顺利,有我的基本布局,在我的主页上扩展,设置了一些没有问题的部分/产量(内容,标题等),但一个特定的@yield
一直在错误的地方呈现,我已经将它放在我的头文件(head.blade.php)中,它已经有了另一个@yield
的标题,但是那个一直在体内呈现。我尝试做了一些测试,并发现如果我将标题@yield
放在<title></title>
里面就可以了,但是如果我把它放在标签之外它会被移到身体上。
这是一种正常的Laravel工作方式(@yield
不能单独存在,只能在标签内)或出现问题?
default.blade.php
<!doctype html>
<html>
<head>
@include('includes.head')
</head>
<body>
<div class="mdl-layout mdl-js-layout mdl-layout--fixed-header mdl-layout--no-desktop-drawer-button">
@include('includes.nav')
@yield('tools')
<main class="mdl-layout__content">
<div class="page-content">
@yield('content')
</div>
</main>
@include('includes.footer')
</div>
</body>
</html>
head.blade.php
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="cache-control" content="no-cache">
<meta name="description" content="XXXXXX">
<meta name="author" content="XXXXXXXXXXXXX">
<title>@yield('title')</title> =====> Works normally if put here
@yield('title') =====> Rendered inside the body if put that way
<!-- jQuery 3.2.1 -->
<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
<!-- Normalize CSS -->
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<!-- Dialog Polyfill -->
<link rel="stylesheet" type="text/css" href="css/dialog-polyfill.css">
<!-- Bootstrap 3.3.7 -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
答案 0 :(得分:1)
这是一种正常的浏览器行为。首先,你必须将所有东西放在正确的位置。这就像你正在尝试吃一些没有叉子的肥肉,然后哭着你的手在胖:)
您始终必须定义浏览器所期望的所有标记。标题标签定义页面的内部标题所在。 cp Dir1/* OutputDir/
cp --backup=existing --suffix=.2 Dir2/* OutputDir/
cd OutputDir
# next line from here: https://stackoverflow.com/questions/3211595/renaming-files-in-a-folder-to-sequential-numbers
ls | cat -n | while read n f; do mv "$f" "$n.jpg"; done
只是表示你在那里插入的名称。在HTML中看起来像yield('title')
。
由于你没有向浏览器描述你要插入什么,所以它试图解决问题,它通常是一个放置所有东西而不需要标记在体内(只有当我们谈论省略时)标题中的标签。)