[英]include nested views if exists in blade, laravel 5
我试图包含另一个视图,如果它存在。 我有一个page.blade.php
,它应该呈现所选页面的内容。 在应用程序的后端,我得到一个包含所有内容的平面数组(id和name)。 所以现在如果存在模板我想渲染它,但首先我需要检查模板是否确实存在。
我现在得到以下代码:
@foreach($flattenPage as $page)
@if(file_exists('templates.'.strtolower($page['name'])))
@include('templates.'.strtolower($page["name"]))
@endif
@endforeach
问题是它不会通过if语句。 我也尝试过:
@if(file_exists('../templates/'.strtolower($page['name']).'.blade.php'))
当前模板是views/page/show.blade.php
,我需要渲染views/templates/myContent.blade.php
如果您需要确定是否存在视图 - 您可以使用exists
方法( 如文档中所述 )
@if (view()->exists('templates.'.strtolower($page["name"])))
@include('templates.'.strtolower($page["name"]))
@endif
从Laravel 5.2您也可以这样做:
@includeIf('view.name', ['some' => 'data'])
您的代码将如下所示:
@foreach($flattenPage as $page)
@includeIf('templates.'.strtolower($page["name"]))
@endforeach
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.