layout - 具有小部件支持的全局侧边栏

标签 layout zend-framework2

我想制作一个带有侧边栏的布局,该侧边栏可以包含来自不同模块的小部件。可以说,如果用户未登录,则顶部始终会有一个登录小部件,然后它将显示用户信息。 getting started album guide可以用它来显示最新的专辑等等,我希望你明白我想如何使用侧边栏。

是否可以使用自动加载的配置文件和读取该配置并在每次加载页面时调用小部件的小代码来完成?

最佳答案

Zend Framework 2 中有几种页面组合方式:

1。在布局之间切换

默认情况下,ZF2 为您提供一个布局模板layout.phtml。 在实际应用程序中,您可能需要多种布局 并切换某些 Controller / Action 的布局。在您的每个布局中,您将能够显示不同的小部件/侧边栏。

2。局部 View

部分 View 是一个.phtml View 模板文件,可以由另一个 View 呈现 查看模板。部分 View 允许组成您的页面并重复使用片段 跨不同 View 模板的 View 渲染逻辑。这是通过 Partial View 助手完成的。

3。占位符 View 助手

Placeholder 是另一个有用的 View 助手,允许捕获 HTML 内容并将其存储以备后用。因此,类似于 Partial 查看助手,它允许将您的页面组合成几部分。

4。转发 Controller 插件

使用 Forward Controller 插件,您可以从您的 Controller 的另一个模块/ Controller 调用一个 Action (例如,渲染某个小部件的 Action )并获取该 Action 的输出。然后您就可以将该输出合并到您的页面中。

5。使用 View 模型进行页面组合

当您为 Controller 类编写操作方法时,您使用 ViewModel 类作为变量容器,用于将变量从 Controller 传递到 View 模板, 并覆盖默认 View 模板名称。但是,实际上 ViewModel 类不仅仅是一个变量容器加上 View 模板名称。其实,它与布局和页面构成密切相关。

View 模型类的第三大功能是它允许组合多个 以树状结构查看模型。树中的每个 View 模型都有关联的 可以传递给 View 模板以控制的 View 模板名称和数据变量 渲染的过程。

当“组合”布局 View 模板和与 Controller 的操作方法关联的 View 模板时,Zend Framework 2 内部使用此功能。 ZF2 在内部为布局模板创建 View 模型,并为其分配 layout/layout View 模板名称。当您的 Controller 的操作方法返回 ViewModel 对象时,该对象将作为子对象附加到布局 View 模型。

因此,您可以将自己的 View 模型附加到默认 View 模型以呈现您想要的片段页面。

关于layout - 具有小部件支持的全局侧边栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13606050/

相关文章:

java - 如何在启动时将 JFrame 定位到屏幕的右上角

android - mdpi 设备的自定义 dimens.xml - 如何完成?

php - 是否支持在 1 个查询中进行多次插入?

rest - ExceptionStrategy 不适用于 JsonStrategy

php - ZF2 处理文件上传。如何访问上传的文件?

redirect - ZF2 在 Controller 外部使用重定向

java - 关于简单计算器中的布局

java - 图形用户界面 : how to properly set layout

javascript - 缩小内联脚本

javascript - 基于 jquery 的图像拼接墙布局