是否可以在 blade 模板中操纵 laravel @yield 的输出?

Is it possible to manipulate the output of a laravel @yield in the blade template?

想知道是否可以在 Laravel 中操纵 @yield 的输出?简而言之,我的 child 模板中有一个标题,我想设置一些 id 以使其独一无二。我知道我可以创建另一个 @section('id', 'asdf') 但不必担心用户,尤其是因为标题必须是唯一的......

找不到任何说明这是可能的吗?

示例(失败)但我实际上想做的是:

id="{{Str::kebab(@yield('title'))}}-preview-tab"

@yield 被替换为 PHP echo 语句,所以这不是您想要的。如果你想要一个部分的内容,你可以从视图工厂中获取它:

$__env->getSection($name, $default)

甚至调用 yieldContent:

$__env->yieldContent($section, $default)

所以你可以试试:

{{ Str::kebab($__env->getSection('title', 'some default if you want')) }}

如果您对此有任何疑问,请尝试 yieldContent 方法。