laravel 呈现包含多个@include语句的字符串不适用于使用@extend的包含模板

yhxst69z  于 2023-05-01  发布在  其他
关注(0)|答案(1)|浏览(151)

在我的刀片模板中,我用途:

<div class="entity-content">{!! Blade::render($project->content, compact('project')) !!}</div>

$project->content是:

<div class="contact-list">
@include('content.contacts.jane-doe')
@include('content.contacts.john-doe')
@include('content.contacts.hardcoded')
</div>

jane-doe.blade.php:

@extends('content.contacts.contact')

@section('content')
    Jane Doe
@endsection

john-doe.blade.php:

@extends('content.contacts.contact')

@section('content')
    John Doe
@endsection

hardcoded.blade.php:

Hardcoded

Blade::render的输出是:
无名氏
无名氏
硬编码
因此,对于每个使用@extend的包含刀片模板,第一个包含/扩展结果也用于所有以下@include语句。这是一个bug吗?如何正确地包含扩展的模板?deleteCachedView: true也不行。

oewdyzsn

oewdyzsn1#

我不知道为什么你经常在问完问题后自己找到答案,不是在之前的研究中,而是@overwrite来拯救:
在使用@extends的每个刀片文件中,将endSection替换为@overwrite

@extends('content.contacts.contact')

@section('content')
    Jane Doe
@overwrite

我认为这有点不直观,但它为我工作。More

相关问题