【发布时间】:2018-12-18 16:08:28
【问题描述】:
我有一个模板admin.blade.php,其中包含以下代码:
@yield('breadcrumbs', Breadcrumbs::render(Request::route()->getName()))
在我的子文件中,我要么忽略面包屑,要么我想做类似的事情:
@section('breadcrumbs')
{{ Breadcrumbs::render(Request::route()->getName(), $event) }}
@endsection
问题是默认的 yield 内容似乎仍在被触发,当函数被调用时我得到一个错误。
函数参数太少 DaveJamesMiller\Breadcrumbs\BreadcrumbsServiceProvider::{closure}(), 1 传入 C:\xampp\htdocs\msu\vendor\davejamesmiller\laravel-breadcrumbs\src\BreadcrumbsGenerator.php 在第 68 行,预计正好 2 行(查看: C:\xampp\htdocs\msu\resources\views\event\station\edit.blade.php)
我明白了,所以我的问题是如何在刀片中实现我想要做的事情?
我也尝试过 @section @show 和 section @stop 但这似乎只是隐藏了这些部分并给了我同样的错误。
非常感谢任何帮助。
【问题讨论】:
-
你确定
{{ Breadcrumbs::render(Request::route()->getName(), $event) }}正在返回一些东西吗? -
我在子刀片中有该代码,有时它确实或会返回一些东西。问题是在此之前,当 $event 存在时,默认内容仍会调用 render 并引发错误。我希望它更像一个 if 语句。如果 $event = null 使用默认内容。否则,使用子部分。 (例如)
-
您不能在您的子视图中执行
@if ($event != null) @section('breadcrumbs') ... @endif之类的操作吗? -
嗯,$event 只是一个例子。这个变量几乎可以是任何东西。我不想为每种情况编写一个 if 语句检查。
标签: php laravel laravel-blade