我是 laravel 的新手,它对我来说使用了奇怪的视图扩展方法。
假设我有 3 个视图文件:
template.blade.php
form.blade.php
filteredData.blade.php
现在我将这些文件组织为
模板是最高的一种形式。刀片正在扩展模板。刀片
和过滤数据是扩展形式。
哪个有效,但对我来说没有意义,因为逻辑过滤的数据不是孩子,它更像是表单的兄弟。仅在有数据时才加载。
你能给我建议如何思考吗?
我也不能将它直接放在模板中,因为模板适用于所有网站页面,并非所有地方都需要带有过滤数据的表单。
我是否必须创建第 4 个文件,比如说 FormAndFilter.blade.php,它有 2 个块 - 表单和过滤数据?那么它将扩展模板。
然后表单将扩展 FormAndFilter.blade.php
而且filteredData将扩展FormAndFilter.blade.php
所以它看起来更像兄弟姐妹。
但是那我将如何在控制器函数中调用它呢?
现在(有这 3 个文件)我打电话给
$this->layout->content = View::make('filteredData', $this->viewData);
如果我有兄弟姐妹 - 其中一个不会被调用。我称表单或过滤数据。我不明白。
顺便提一句
$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 个视图 - 营业额.blade.php 看起来像这样:
turnover
{{ $form }}
{{ $filtered }}
感谢这个在页面中写道的人:
https://coderwall.com/p/2v7urq
我希望这是在 laravel 文档中。