【问题标题】:Laravel Blade Conditional @YieldLaravel Blade 条件 @Yield
【发布时间】:2018-01-15 09:59:55
【问题描述】:

我有一个刀片视图,它使用我的模板使用

@extends('layouts.master')

如果我的子视图上的部分为真,我想在该模板中显示 2 个按钮,而不是必须将它们包含在使用该模板的每个子视图中。

比如我的布局(sn-p)

@yield('buttons')
  <div>
    <button>BUTTON 1</button>
    <button>BUTTON 2</button>
  </div>
@show 

@yield('content)

这是我的孩子视图

@extends('layouts.master')

@section('buttons',false)

@section('content')
  <p>Hello world!</p>
@endsection

我知道它不像我尝试过的那样工作,但这样的事情可能吗?我还尝试将@yield('buttons') 包装在@if 中,但这不可能,因为@yield 显然只能在函数中使用。

【问题讨论】:

  • “如果为真,我想在该模板中显示 2 个按钮”,如果为真?
  • @SapneshNaik 如果在我的孩子视图中我传递的值为 true.. @section('buttons',false)
  • 包含它们有什么问题?
  • @kerbholz 完成 :)

标签: php laravel eloquent blade


【解决方案1】:

在我的主布局中,我将@yield 替换为@section

@section('buttons')

  <button>BUTTON 1</button>
  <button>BUTTON 2</button>

@endsection

在我的子视图中我使用

@section('buttons','')

这将替换默认值,如果您希望保留默认值并将附加内容放在之前或之后,请在附加内容之前或之后使用@parent,例如在我的子视图中:

@section('buttons')
   Additional content to be inserted before the buttons in my master layout.
   @parent
@endsection

输出:

要在我的主布局中的按钮之前插入的其他内容。按钮 1 按钮 2

参考:https://laravel.com/docs/5.5/blade

【讨论】:

    猜你喜欢
    • 2016-02-27
    • 1970-01-01
    • 2015-10-19
    • 2021-07-06
    • 2017-05-16
    • 1970-01-01
    • 1970-01-01
    • 2019-02-17
    • 2021-01-23
    相关资源
    最近更新 更多