如何在Symfony中为不同的模块设置不同的模板布局?
我有一个银行应用程序,它由一个登录屏幕和一个成员部分组成。因此,当用户访问我的网站时,他会看到一个登录屏幕。登录后,他将被重定向到成员部分,他可以做任何他需要的银行业务。
那么,如何为登录屏幕和会员区域内的页面设置不同的布局呢?Symfony似乎使用frontend/templates/layout.php
作为所有页面的模板。可以定义不同的布局吗?
发布于 2009-03-05 10:25:28
可以,您可以为每个视图定义单独的布局(或完全禁用布局)。为此,您必须在模块的/config目录中创建(或编辑,如果已经有) view.yml文件。您可以定义要用于模块的所有视图或单独用于每个视图的布局。例如:
#in /apps/my_app/modules/my_module/config/view.yml
#this will apply custom_layout to all views of the module
all:
layout: custom_layout
#this will apply login_layout to the loginSuccess view
loginSuccess:
layout: login_layout
#disable layout for this view
homeSuccess:
has_layout: false
在所有情况下,布局都是应用程序的/templates目录中的文件(附加了.php )。如果您没有在模块的视图配置文件中定义任何布局指令,则将使用缺省布局。
发布于 2016-03-24 19:47:58
或者,如果您在操作内部,您可以简单地使用:
$this->setLayout('name_file_layout_without_extension');
在你可以在模块中使用的模板上工作之后。
https://stackoverflow.com/questions/610133
复制相似问题