【问题标题】:How to render a template in a controller?如何在控制器中渲染模板?
【发布时间】:2014-05-23 20:47:04
【问题描述】:

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

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

谢谢。

【问题讨论】:

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


    【解决方案1】:

    我不完全理解你的问题。

    我认为您正在寻找的是View Composer

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

    【讨论】:

      【解决方案2】:

      视图不调用服务,它们只获取变量并将它们放在屏幕上进行演示。

      @include() 对你有利。您只需要事先在控制器中收集该子视图的信息,并将其传递给View::make('main')->with($vars)

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

      【讨论】:

        猜你喜欢
        • 2012-07-27
        • 2012-12-31
        • 1970-01-01
        • 1970-01-01
        • 2016-07-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-09
        相关资源
        最近更新 更多