好的,我的 @yield 或 @extends 由于某种原因无法正常工作

问题描述

多亏了我的布局(cristarium)中的 @yield,我只想打印一些东西,但由于某种原因什么都不做,它只显示文本 MASTER 而不是 HELLO

查看文件夹位置

资源\视图\ffxiii-2\cristarium.blade.PHP

资源\视图\ffxiii-2\cristarium_personajes\noel_kreiss.blade.PHP

WEB.PHP 中的路由

Route::get('/ffxiii-2/cristarium',function () {
    return view('ffxiii-2.cristarium');
})->name('cristarium');

布局 -> cristarium.blade.PHP

<!DOCTYPE html>
<html lang="es">
<head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="width=device-width,initial-scale=1.0">
    <Meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Cristarium</title>
</head>

<body>
    MASTER
    <div class="container">
        @yield('content')
    </div>
</body>
</html>

要打印的刀片 -> noel_kreiss.blade.PHP

@extends('ffxiii-2.cristarium')

@section('content')
    HELLO
@endsection

我尝试更改名称文件夹,避免使用下划线,并更改为 ffxiii-2 中的 -,但仍然无效,所以我认为这不是问题。

解决方法

您正在控制器方法中返回 layout 文件。但我认为你应该返回第二个文件(noel_kreiss.blade.php):

Route::get('/ffxiii-2/cristarium',function () {
    return view('ffxiii-2.cristarium_personajes.noel_kreiss');
})->name('cristarium');
,

视图以另一种方式级联。

您的路线显示了呈现文件 ffxiii/cristarium.blade.php 的视图,
这是您的主布局。

您需要做的是从路由返回视图 ffxiii-2/cristarium_personajes/noel_kreiss,该视图将呈现该视图,而该视图又包含您的主布局。

例如

Route::get('/ffxiii-2/cristarium',function () {
    return view('ffxiii-2.cristarium_personajes.noel_kreiss');
})->name('noel_kreiss');

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...