在 Laravel 的所有页面中包含一个带控制器的刀片

Posted

技术标签:

【中文标题】在 Laravel 的所有页面中包含一个带控制器的刀片【英文标题】:Include a blade with controller in all pages in Laravel 【发布时间】:2015-11-02 06:03:49 【问题描述】:

我有一个引导导航,应该可以从管理面板轻松修改。目前我包含该导航刀片,并且在不更改刀片文件的情况下无法从导航中添加/删除元素。

如何在页面中包含返回刀片文件的导航控制器?

可视化:

 Page controller
    Page blade
        Navigation controller
            Navigation blade

【问题讨论】:

【参考方案1】:

在刀片模板上调用控制器会破坏 Laravel 所基于的模型-视图-控制器 (MVC) 模式,因此不可能拥有您想要的上述结构。

我的建议是将导航刀片分解为更小的刀片模板,并根据您要显示的内容将不同的变量传递给刀片模板。然后使用

@if(variable ==true)
  @include('small.navigation.blade')
@endif

您可以使用 if 语句来控制可见或不可见的内容。因此,从管理端修改导航面板将涉及一组变量,这些变量控制导航以及它们是否存在。

【讨论】:

以上是关于在 Laravel 的所有页面中包含一个带控制器的刀片的主要内容,如果未能解决你的问题,请参考以下文章

在 laravel 5.3 中添加 css 和 js 文件

Laravel 4:如何在页脚中显示查询结果

在 Bash 中包含多个带引号的 args 的变量

在 tampermonkey(userscript) 中包含所有页面

如何在网站上的所有页面中包含带有 css 的模板

浏览器控制台 - 如何在每个页面重定向中包含javascript代码?