我正在尝试使用laravel建立一个站点,但是我真的遇到了一些基本的问题,文档中没有涉及到这些问题。在本例中,我看到它说我可以通过使用@include('view.name')将一个视图包含在另一个视图中。什么是view.name?它保存在哪里?我尝试创建一个文件app/views/view.name.blade.php,但它没有被读取。文件名如何Map到刀片名称?
@include('view.name')
app/views/view.name.blade.php
xxb16uws1#
您可以使用刀片模板引擎:
'view.name'将位于您的主视图文件夹中:
// for laravel 4.X app/views/view/name.blade.php // for laravel 5.X resources/views/view/name.blade.php
另一个例子
@include('hello.world');
将显示以下视图
// for laravel 4.X app/views/hello/world.blade.php // for laravel 5.X resources/views/hello/world.blade.php
@include('some.directory.structure.foo');
// for Laravel 4.X app/views/some/directory/structure/foo.blade.php // for Laravel 5.X resources/views/some/directory/structure/foo.blade.php
基本上,点表示法定义了视图所在的目录层次结构,然后是视图名称,相对于laravel 4.x的app/views文件夹或laravel 5.x的resources/views文件夹
app/views
resources/views
额外
如果要传递参数:@include('view.name', array('paramName' => 'value'))然后,您可以在视图中使用该值,如<p>{{$paramName}}</p>
@include('view.name', array('paramName' => 'value'))
<p>{{$paramName}}</p>
j13ufse22#
**编辑:以下是2014年的首选解决方案。现在你应该使用@include,就像在另一个答案中提到的那样。
@include
在Laravel视图中,点被用作文件夹分隔符。比如我有这样一段代码
return View::make('auth.details', array('id' => $id));
它指向app/views/auth/details.blade.php要在视图中包含一个视图,您可以这样做:文件:layout.blade.php
<html> <html stuff> @yield('content') </html>
文件:hello.blade.php
@extends('layout') @section('content') <html stuff> @stop
tgabmvqs3#
从Laravel 5.6开始,如果你有这种结构,并且你想在子文件夹中包含另一个刀片文件,|---观点|------- parentFolder(文件夹)|---------- name.blade.php(刀片文件)|---------- childFolder(文件夹)|-------------- mypage.blade.php(刀片文件)name.blade.php
<html> @include('parentFolder.childFolder.mypage') </html>
rkue9o1l4#
Laravel中目录结构的另一个有趣情况,跟随@gwed伟大的答案:
将显示以下视图:
// for laravel 5.X resources/views/hello/world/index.blade.php
nxowjjhe5#
如果文件不在子文件夹中
如果文件在子文件夹中
5条答案
按热度按时间xxb16uws1#
您可以使用刀片模板引擎:
'view.name'将位于您的主视图文件夹中:
另一个例子
将显示以下视图
另一个例子
将显示以下视图
基本上,点表示法定义了视图所在的目录层次结构,然后是视图名称,相对于laravel 4.x的
app/views
文件夹或laravel 5.x的resources/views
文件夹额外
如果要传递参数:
@include('view.name', array('paramName' => 'value'))
然后,您可以在视图中使用该值,如
<p>{{$paramName}}</p>
j13ufse22#
**编辑:以下是2014年的首选解决方案。现在你应该使用
@include
,就像在另一个答案中提到的那样。在Laravel视图中,点被用作文件夹分隔符。比如我有这样一段代码
它指向app/views/auth/details.blade.php
要在视图中包含一个视图,您可以这样做:
文件:layout.blade.php
文件:hello.blade.php
tgabmvqs3#
从Laravel 5.6开始,如果你有这种结构,并且你想在子文件夹中包含另一个刀片文件,
|---观点
|------- parentFolder(文件夹)
|---------- name.blade.php(刀片文件)
|---------- childFolder(文件夹)
|-------------- mypage.blade.php(刀片文件)
name.blade.php
rkue9o1l4#
Laravel中目录结构的另一个有趣情况,跟随@gwed伟大的答案:
将显示以下视图:
nxowjjhe5#
如果文件不在子文件夹中
@include('view_name')
如果文件在子文件夹中
@include('folder1.folder2.view_name')