繁体   English   中英

产量在Laravel Blade部分中不起作用

[英]yield doesn't work in section Laravel Blade

我的网站结构如下:

首先: master.blade.php :其中包含section('content')

<body>
   @include('partial.header')
   @yield('content')
   @include('partial.footer')
</body>

第二index.blade.php :包含section('content')

@extends('layouts.master')
@section('content')
<div id="container">
   <div id="news">
      @yield('news')
   </div>
   <div id="apartment">
      @yield('apartment')
   </div>
</div> <!-- ./container -->
@endsection

第三: news.blade.php :这个简单的显示所有news

@foreach($posts as $post)
@endforeach

最终文件: apartment.blade.php :这个简单地显示了所有apartment

@foreach($apartments as $apartment)
@endforeach

我的路线直接到达master.blade.php 我的问题是:

  1. 当我在index.blade.php使用@yield('news')包含news时。 它可以正确显示数据库中的所有news 但是当我在index.blade.php删除@yield('news')时。 它还显示来自我的数据库的news (但是为此丢失了css / js)。 为什么删除@yield('news') ,该页面上不显示任何news

  2. 似乎Laravel Blade在@section不支持两个@yield 当我仅将1行@yield('news')index.blade.php文件中时。 它在我的索引页面上显示列表新闻。 当我继续添加@yield('apartment') 索引页面上没有显示任何公寓。 我当然有foreach获取数据时的价值。 我还测试了HTML静态变量,但是没有任何变化。

我的路线直接到达master.blade.php。

索引扩展了母版,因此将您的路线指向索引视图。

如果节继续产生,@ yield删除后,我认为框架正在加载一个缓存的视图。

尝试清除视图缓存php artisan view:clear或使用php artisan --help view:clear寻求帮助。

@yield还会在父子关系中产生一个部分。

如果新闻位于部分文件夹中或位于任何路径中, @include('partial.news')产量更改为包括@include('partial.news')之类的内容。 可以使用@isset@empty语句甚至@forelse循环来操纵渲染。

叶片控制结构

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM