繁体   English   中英

如果存在于blade,laravel 5中,则包括嵌套视图

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM