You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Blade引擎@yield与@section指令不生效问题排查

故障根本原因

路由配置错误,访问根路径时直接渲染了父模板welcome.blade.php,并未加载定义了example区块内容的子模板,导致@yield('example')无法获取到填充内容。

Blade模板继承的生效逻辑如下:

  • 渲染子模板时,子模板通过@extends声明要继承的父模板,再把自身@section定义的区块内容,填充到父模板对应的@yield位置,最终合并输出完整页面。
  • 当前代码中@section('example')的内容写在views/pages/dadmin.blade.php子模板中,但路由直接返回view('welcome')渲染父模板时,框架不会加载子模板的代码,预留的@yield('example')位置找不到对应填充内容,自然显示为空。
修复方法

修改路由文件中的返回视图逻辑,渲染对应子模板即可:

Route::get('/', function () {
    return view('pages.dadmin');
});

可选优化:如果需要直接渲染父模板时@yield位置也有兜底内容,可以给@yield传入第二个参数作为默认值,示例:

@yield('example', '<p>这是默认展示的兜底内容</p>')

内容的提问来源于stack exchange,提问作者Loko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 06:33:59