【问题标题】:Is it possible to manipulate the output of a laravel @yield in the blade template?是否可以在刀片模板中操作 laravel @yield 的输出?
【发布时间】:2020-10-14 10:44:42
【问题描述】:

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

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

示例(失败)但我本质上想要做的是:

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

【问题讨论】:

    标签: laravel laravel-blade


    【解决方案1】:

    @yield 被 PHP echo 语句替换,所以这不是你想要的。如果你想要某个部分的内容,你可以从 View Factory 中获取它:

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

    甚至拨打yieldContent:

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

    所以你可以试试:

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

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

    【讨论】:

    • 好吧,我没有被@yield 困住……还有其他方法可以做到这一点吗?我在刀片文档中看到的唯一内容......
    • 是的,等我有时间我会试试你上面的建议。
    • 很抱歉终于有机会测试这个 - 工作就像一个魅力!再次感谢!
    猜你喜欢
    • 2015-08-05
    • 2019-01-15
    • 2012-12-05
    • 1970-01-01
    • 2018-11-07
    • 2017-11-18
    • 1970-01-01
    • 2015-01-20
    • 2016-04-02
    相关资源
    最近更新 更多