gpt4 book ai didi

php - 从包含在php中的 Blade 模板中访问变量

转载 作者:行者123 更新时间:2023-12-04 17:59:22 25 4
gpt4 key购买 nike

我有一个包含其他 Blade 模板的 Blade 模板。这是名为 accountnav.blade.php 的主模板

@if (count($subaccounts) > 0)
<ul class="nav navbar-nav">
@foreach ($subaccounts as $account)
<?php $p_link = $account->link?>
@include('frontend.template.subaccount', array('p_link' => $p_link))
@endforeach
</ul>
@endif

这是标题为 subaccount.blade.php 的包含模板

<li {{count($account->children) > 0 ? "class = dropdown" : ""}}>
@if(count($account->children) == 0 )
<a href="{{$account->link}}">{{$account->name}}</a>
@else
<a class="dropdown-toggle" data-toggle="dropdown" href="#" onclick="return false;" aria-expanded="false">
{{$account->name}}
<i class="icon-caret-down"></i>
</a>
@endif
@if (count($account->children) > 0)
<ul class="dropdown-menu">
@foreach($account->children as $account)
<?php $p_link .= $account->link?> //the $p_link is not defined here
@include('frontend.template.subaccount', array('p_link' => $account->link))
@endforeach
</ul>
@endif
</li>

但是,当我尝试访问变量 p_link 时在subaccount.blade.php在声明中 <?php $p_link .= $account->link?> , 有一个错误说 the variable $p_link is not defined尽管从 navaccount.blade.php 传递过来.

@include 中传递变量的正确方法是什么?以及如何访问传递的变量?

最佳答案

在您正在调用的 subaccount.blade.php 文件中的 foreach 循环中

@foreach($account->children as $account)

您正在用 child 覆盖 $account 对象。

你应该把它改成

@foreach($account->children as $child)

我不确定您为什么将值命名为 p_link,因为您从不在 View 中使用 p_link。为什么不这样传入

@foreach($account->children as $child)
@include('frontend.template.subaccount', array('account' => $child))
@endforeach

关于php - 从包含在php中的 Blade 模板中访问变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37451771/

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