我想制作一个带有侧栏的布局,该侧栏可以包含来自不同模块的小部件。假设如果用户未登录,则顶部始终会有一个登录小部件,然后它将显示用户信息。 getting started album guide可以使用它来显示最新的专辑等等,我希望你能理解我想如何使用侧边栏。
是否可以使用自动加载中的配置文件和读取该配置并在每次加载页面时调用窗口小部件的小代码来完成?
答案 0 :(得分:0)
Zend Framework 2中有多种页面组合方式:
默认情况下,ZF2为您提供单个布局模板 layout.phtml 。 在实际应用程序中,您可能需要具有多个布局 并切换某个控制器/动作的布局。在每个布局中,您将能够显示不同的小部件/侧边栏。
部分视图是 .phtml 视图模板文件,可以由其他人呈现
查看模板。部分视图允许组合您的页面和重用部分
视图渲染逻辑跨不同的视图模板。这是通过Partial
视图帮助程序完成的。
Placeholder
是另一个有用的视图助手,可以捕获HTML
内容并存储以供以后使用。因此,类似于Partial
查看帮助器,它允许组成几个部分的页面。
使用Forward
控制器插件,您可以从控制器中调用另一个模块/控制器的操作(例如,呈现某个小部件的操作)并获取该操作的输出。然后,您可以将该输出合并到您的页面中。
当您为控制器类编写操作方法时,使用ViewModel
class作为变量容器,用于将变量从控制器传递到视图模板,
并覆盖默认视图模板名称。但是,实际上ViewModel
类不仅仅是一个变量容器加上视图模板名称。实际上,它与布局和页面组成密切相关。
视图模型类的第三大功能是它允许组合几个 以树状结构查看模型。树中的每个视图模型都具有关联 查看可以传递给要控制的视图模板的模板名称和数据变量 渲染过程。
当“组合”布局视图模板和与控制器的操作方法关联的视图模板时,Zend Framework 2内部使用此功能。 ZF2在内部为布局模板创建视图模型,并为其分配layout/layout
视图模板名称。当控制器的操作方法返回ViewModel
对象时,此对象将作为子项附加到布局视图模型。
因此,您可以将自己的视图模型附加到默认视图模型,以呈现所需的部分页面。