【问题标题】:Laravel Blade @yield is not working inside included viewLaravel Blade @yield 在包含的视图中不起作用
【发布时间】:2018-06-08 18:43:36
【问题描述】:

我正在尝试使用刀片进行布局,但问题是当我尝试 主文件中包含的文件上的@yield,但@yield 不起作用。

资源/视图/布局/app.blade.php

<html>
<head>
...
...
</head>
<body>

@include('layouts.navigation')

@include('layouts.main_panel')

@include('layouts.footer')
</body>
</html>

资源/视图/布局/main_panel.blade.php

// some html stuff 
@yield('form')
// some html stuff

资源/views/auth/login.blade.php

@extends('layouts.app') 

@section('form')
<form>
// input
</form>
@endsection

【问题讨论】:

  • 请显示您的文件夹结构
  • 是否有错误或@yield 是像普通文本一样的视图?
  • 代码是对的,没有问题。
  • 没有错误,也没有像普通文本一样显示
  • @EtibarRustemzade 我已经用视图文件的完整路径更新了问题

标签: laravel laravel-blade


【解决方案1】:

我建议你 将变量传递 到部分和 echo 他们在里面。这是实现您的目标的另一种方法 努力去做。

例如-

部分刀片文件(资源/视图/partials.header.blade.php) -

<h4>{{ $name }}</h4>

查看(资源/视图/custom.blade.php)-

@include('partials.header', [ 'name' => 'Lorem Ipsum' ])

【讨论】:

    【解决方案2】:

    我也在使用 laravel 框架,但我曾经这样做过:-

    布局:- 资源/视图/布局/app.blade.php

    <html>
    <head>
     ...
     ...
    </head>
    <body>
    
     @include('layouts.navigation')
    
     @yield('content') // use @yield here why you need separate file 
    
     @include('layouts.footer')
    </body>
    </html>
    

    之后:- resouces/views/auth/login.blade.php

    @extends('layouts.app') 
    @section('content')
    <form>
       // input
    </form>
    @stop
    

    希望对您有所帮助!.. 我曾经在 laravel 项目中遵循这种结构

    【讨论】:

      猜你喜欢
      • 2017-12-12
      • 1970-01-01
      • 2017-06-18
      • 2019-11-25
      • 2021-03-29
      • 2013-06-18
      • 1970-01-01
      • 1970-01-01
      • 2015-07-06
      相关资源
      最近更新 更多