gpt4 book ai didi

php - Laravel - 如何将变量传递给布局局部 View

转载 作者:可可西里 更新时间:2023-11-01 13:38:25 26 4
gpt4 key购买 nike

我在主布局中有一个局部 View ,即导航栏。我有一个变量 $userApps。此变量检查用户是否已启用应用程序 (true),如果已启用,那么我想在导航栏中显示指向该应用程序的链接。

主页扩展了包含 partials.navbar 的 master.layout

我在 navbar.blade.php 中的代码是这样的:

@if ($userApps)
// display link
@endif

但是我得到一个 undefined variable 错误。如果我在带有 Controller 的普通 View 中使用它,它在我声明变量并将 Controller 路由到 View 后工作正常。我不认为我可以将 Controller 放置到布局中,因为我无法将 Controller 路由到局部 View ,那么我该如何优雅地做到这一点?

最佳答案

您使用的是什么版本的 Laravel?对于您的情况应该是这样的:

@include('partials.navbar', ['userApps' => $userApps])

只是为了测试目的,我在本地做了,并且有效:

routes.php

Route::get('/', function () {
// passing variable to view
return view('welcome')->with(
['fooVar' => 'bar']
);
});

resources/views/welcome.blade.php

// extanding layout
@extends('layouts.default')

resources/views/layouts/default.blade.php

// including partial and passing variable
@include('partials.navbar', ['fooVar' => $fooVar])

resources/views/partials/navbar.blade.php

// working with variable
@if ($fooVar == 'bar')
<h1>Navbar</h1>
@endif

所以问题一定出在别的地方。检查您的路径和变量名称。

关于php - Laravel - 如何将变量传递给布局局部 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38418864/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com