繁体   English   中英

Laravel 8 – Blade 模板 – 从另一个模板文件读取变量

[英]Laravel 8 – Blade template – read variable from another template file

这一定非常简单,但由于我是 Laravel 的新手,我很难在文档或 stackoverflow 中找到此功能。

我将尝试构建一个非常简单的示例来展示我想要的东西。

假设我有一个名为 data.blade.php 的文件

@php
$myVariable = 'xyz';
@endphp

然后,我有我的布局模板文件,名为:home.blade.php

@extends('data.blade')
@section('content')
    @php
        echo $myVariable;
    @endphp
@endsection

当我尝试这样做时,它返回一个错误:

Undefined variable $myVariable (etc)

如何使用另一个刀片文件中定义的变量? 我用 extends 来举例说明,但我不确定那是否是正确的架构。

谁能指出我实现这一目标的正确方法?

谢谢!

你正在扩展 data.blade.php 并且这个文件需要有一些元素作为模板并被扩展。

您可以采用任何 html5 文件并将其重命名为 template.blade.php,但是您要在模板中呈现部分的位置必须具有 yield('section-name')。

制作一个新的 app.blade.php 应该是这样的

<html>
    <head>
        <title>App Name - @yield('title')</title>
    </head>
    <body>
        @section('sidebar')
            This is the master sidebar.
        @show
 
        <div class="container">
            @yield('content')
        </div>
    </body>
</html>

然后,在你的 home.blade.php

@extends('layouts.app')
 
@section('title', 'Page Title')
 
@section('sidebar')
    @parent
 
    <p>This is appended to the master sidebar.</p>
@endsection
 

@section('content')
  @include(data)
   {{$myVariable}}


    <p>This is my body content.</p>
@endsection

来自 Laravel 文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM