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模板代码的解决方案. 祝你好运 :) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |