[英]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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.