我正在使用Laravel并将一些变量传递给视图,以便使用这样的刀片语法来回显它们:
@extends('masterLayout')
@section('content')
@foreach($products $product)
<p>{{ $product->name}}</p>
@endforeach @stop
@end
在masterLayout.blade.php文件中是页面的布局,其中包含<html><head>
和<body>
标记。问题是,当这些变量传递给视图并回显时,它们不会被放置在应该存在的页面内。所有回声输出数据都放在HTML标记上方页面的顶部,就好像我在控制器中而不是在视图中回显它一样。是否有一个设置可以在Laravel中进行更改或以不同的方式实现此目的?
编辑:好的,这里是整个视图代码。实际上有三个,库存,inventoryLayout和masterLayout。我已经在控制器中注释掉了返回View :: make()并且它消失了,所以我绝对不会在视图本身以外的任何地方回显它。感谢您的帮助!
master.blade.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>AppName</title>
<link rel="stylesheet" href="../assets/css/frontend.css">
</head>
<body>
<header class="navbar navbar-inverse navbar-fixed-top bs-docs-nav" role="banner">
<nav id='top-nav'>
<div class="centered-wrapper">
<ul>
<li><?php echo link_to('/login',"Login");?></li>
<li><?php echo link_to('/admin',"Admin");?></li>
<li><?php echo link_to('/inventory',"Inventory");?></li>
<li><?php echo link_to('/dashboard',"Dashboard");?></li>
<li><?php echo link_to('/recipes',"Recipes");?></li>
<li><?php echo link_to('/shopping_list',"Shopping List");?></li>
</ul>
</div>
</nav>
</header>
<div id="container">
@yield('content')
</div><!-- end container -->
</body>
</html>
inventoryLayout.blade.php
@extends('layouts.master')
<h1>My Inventory</h1>
@yield('inventoryItems')
inventory.blade.php
@extends('inventoryLayout')
@section('inventoryItems')
@foreach($products as $product)
<p>{{{ $product->name }}}</p>
@endforeach
@stop
答案 0 :(得分:0)
@foreach($products $product)
应为@foreach($products as $product)
varchar
,print_r
,echo
或dd
。答案 1 :(得分:0)
自己想出来。我加入了一个名为&#39; content&#39;但从未在子视图中实际创建该部分,因此不是将该部分放在页面中而是将其放在页面上方。这修好了
inventoryLayout.blade.php
@extends('layouts.master')
@section('content');
<h1>My Inventory</h1>
@yield('inventoryItems')
@stop