如何在控制器中渲染模板?

时间:2014-04-10 08:47:32

标签: php laravel laravel-4 template-engine blade

我有一个名为'main'的刀片模板,我想知道如何通过在主模板中调用控制器方法来渲染子模板。假设我有一个方法WidgetsController的控制器getSubView。该方法返回一个特定视图,其中包含来自(例如)数据库的一些数据。

我已经尝试过@include模板,但这不会调用控制器来为视图设置一些必要的数据。

感谢。

2 个答案:

答案 0 :(得分:1)

观看不会调用服务,他们只接受变量并将其放在屏幕上进行演示。

你在@include()方面做得很好。您只需要在控制器中预先收集该子视图的信息,并将其传递给View::make('main')->with($vars)

您还可以考虑在视图中使用其他<?= View::make('subview')->with($vars->sub);?>。或者只使用@extend功能。

答案 1 :(得分:0)

我不完全理解你的问题。

我认为你要找的是View Composer

它允许您获取子视图的数据,而无需在每个控制器中创建数据。