我正在构建一个使用Blade实现继承模板系统的系统。根据用户的位置,将加载不同的视图。
系统运行良好,我有一个默认的'主题',其中包含网站使用的所有内容的所有视图和组件。我没有在我的控制器中使用默认的view
方法,而是使用我自己的函数,它的工作方式与view
相同,而是尝试在层次结构的最低部分加载视图然后继续前进,直到达到默认值。
例如,我的视图结构如下:
+-- views
| +-- frontend
| +-- default
| +-- home.blade.php
| +-- test.blade.php
| +-- site1
| +-- en-gb
| +-- home.blade.php
| +-- en-de
| +-- home.blade.php
| +-- site2
| +-- en-gb
| +-- home.blade.php
这很有效。我可以致电custom_view('home');
并根据某些情况显示正确的观点。在上面的示例中,如果我调用custom_view('test')
,我的系统将检查站点和区域设置的正确文件夹,如果视图不存在,则将使用默认回退。
当我想在我的代码中使用Laravel指令加载视图部分时,我的问题出现了。麻烦的三个指令是:
@each()
,@include()
和@component()
。
我想覆盖这些指令,让他们首先从我的视图结构中的相应子目录中查找该文件。
如何覆盖Blade指令?
答案 0 :(得分:0)
我无法找到覆盖现有组件以添加继承的方法。我转而推出自己的组件。