加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-14 19:49:32 所属栏目:大数据 来源:网络整理
导读:在Laravel 3中,我曾经这样做. ?php render('partials.header'); ? 这是在“PHP”视图中完成的,而不使用Laravel的Blade模板. 与版本4相当的是什么? 我试过了 ?php @include('partials.header'); ? 这不行. 如果我做 @include('partials.header') 我必须将我
在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模板代码的解决方案.

祝你好运 :)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读