Laravel Blade @section不显示

时间:2017-11-13 02:44:04

标签: php laravel frameworks blade

我有一个名为“home.blade.php”的刀片页面

home.blade.php

<doctype html>

<html>
   <head>
      <title>{{$title}}</title>
   </head>
   <body>
      <!-- some other html here -->
      @section('content')
      @show
   </body>
</html>

我还有一个文件“content.blade.php”

content.blade.php

@extends('home')

@section('content')
   <p>Page content goes here</p>
@endsection

当我在浏览器上加载页面时,@ section('content')中的内容不会显示。当我检查源时,它没有输出 - 行

<p>Page content goes here</p>

不在源代码中。

我不知道它是否相关,但这是此页面和控制器代码的路由。

路线

Route::get('/', 'Controller@show')->name("home");

控制器代码

public function show()
{
    return view("home", ['title' => "My Home"]);
}

我在这里缺少什么?

2 个答案:

答案 0 :(得分:1)

更新:我刚刚再次检查过,您应该加载content视图,而不是home布局。

我认为您必须在@yield

中定义@section而不是home.layout.blade

<html>
   <head>
      <title>{{$title}}</title>
   </head>
   <body>
      <!-- some other html here -->
      @yield('content')
   </body>
</html>

您可以从Laravel Template Inheritance

了解更多信息

答案 1 :(得分:-1)

为什么不尝试使用@yield,

use waitKey(17)

https://laravel.com/docs/5.0/templates

希望这会有所帮助:)