我是laravel的新手,它使用了奇怪的视图扩展方法。
假设我有3个视图文件:
template.blade.php
form.blade.php
filteredData.blade.php
现在我将这些文件组织为
模板是最高的 form.blade正在扩展template.blade
和filteredData正在扩展表单。
哪个有效,但对我来说没有意义,因为逻辑过滤的数据不是孩子,它更像是兄弟的形式。它只在有数据时加载。
你能给我一些如何思考的建议吗?
我也无法将其直接放在模板中,因为模板适用于所有网站页面,而且不需要处理过滤数据的表单。
我是否必须创建第4个文件,让我们说FormAndFilter.blade.php有2个块 - 表格和filteredData?那么它将扩展模板。
然后form将扩展FormAndFilter.blade.php
并且filteredData将扩展FormAndFilter.blade.php
所以它看起来更像是兄弟姐妹。
但是我将如何在控制器功能中调用它?
现在(哈佛那3个文件)我打电话
$this->layout->content = View::make('filteredData', $this->viewData);
如果我有兄弟姐妹 - 其中一个不会被召唤。我打电话给表格或过滤数据。我不明白。
Btw
$this->layout->content
按照我的理解填写@yield('content');这是在模板中。
被修改
最后经过长时间的争吵找到了看起来像兄弟姐妹的方式,但是使用了第4个观点:
$form = View::make('form');
$filteredData = View::make('filteredData');
$turnover = View::make('turnover')
->with('form', $form)
->with('filtered', $filteredData);
return View::make('layout', array('content' => $turnover));
第4个视图 - turnover.blade.php看起来像这样:
turnover
{{ $form }}
{{ $filtered }}
感谢这位在页面中写道的人:
https://coderwall.com/p/2v7urq
我希望这是在laravel文档中。