php – Laravel 4 – 包括视图中的“部分”视图(不使用Blade模板)

前端之家收集整理的这篇文章主要介绍了php – Laravel 4 – 包括视图中的“部分”视图(不使用Blade模板)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Laravel 3中,我曾经这样做.
<?PHP render('partials.header'); ?>

这是在“PHP”视图中完成的,而不使用Laravel的Blade模板.

与版本4相当的是什么?

我试过了

<?PHP @include('partials.header'); ?>

这不行.

如果我做

@include('partials.header')

我必须将我的文件保存为“.blade.PHP

如何在不使用刀片模板的情况下添加“子视图”?

在Laravel 4的视图中包含一个视图有不同的方法.您的选择将取决于下面概述的任何一个结果…

灵活性

您可以在相应的Controller中编译(渲染)部分视图,并使用$data [”]数组将这些视图传递到主视图.

这可能会变得乏味,因为视图的数量增加,但嘿,至少有很多的灵活性:)

有关示例,请参阅以下代码

调节器

...

public function showMyView()
{
   /* Header partial view */
   $data['header'] = View::make('partials.header');

   /* Flexible enough for any kind of partial views you require (e.g. a Header Menu partial view) */
   $data['header_menu'] = View::make('partials.header_menu'); 

   /* Footer partial view */
   $data['footer'] = View::make('partials.footer');

   return View::make('myView',$data);
}

...

视图

您可以将以上部分内容(在您的查看代码中的任何位置):

<html>  
<head></head>   
<body>

<!-- include partial views -->
<?PHP echo ($header) ?>  
<?PHP echo ($header_menu) ?>  

<div id="main-content-area"></div>  

<?PHP echo ($footer) ?>  

</body>  
</html>

您的部分视图现在将添加到您的主视图.

简单

实际上比使用上面的方法更简单:简单地将它包含在视图的html中…

视图

<html>  
<head></head>   
<body>

<!-- include partial view: header -->
<?PHP echo View::make('partials.header') ?>

   <div id="main-content-area">
   </div>

<!-- include partial view: footer -->
<?PHP echo View::make('partials.footer') ?>

</body>  
</html>

确保partials的文件夹结构是[views / partials / header.PHP],以便为Laravel的View :: make()函数提供正确的文件路径.

警告

如果您尝试在控制器中传递$data [‘page_title’],嵌套视图将不会接收数据.
要将数据传递给这些嵌套视图,您需要这样做:

<html>  
<head></head>   
<body>

<?PHP
   /* Pass page title to header partial view */
   $data ['page_title'] = "My awesome website";  
   echo View::make('partials.header',$data); 
?>

<div id="main-content-area"></div>

<?PHP echo View::make('partials.footer') ?>

</body>  
</html>

注意

问题清楚地表明:“没有使用刀片模板”,所以我已经确定提供一个不包括任何Blade模板代码解决方案.

祝你好运 :)

猜你在找的Laravel相关文章