0

我是 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 文档中。

4

0 回答 0