针对具有不同权限的不同用户显示不同的视图
问题描述:
我正在开发像网站一样的社交网络,并且在如何管理不同类型用户的视图方面遇到了一些麻烦。我有几个页面,它的内容和结果视图取决于用户的权限。例如,如果用户是一个组(具有成员资格证书)的成员可以在该组页面中看到很多事情,但是如果他不是,那么该模板应该有如此多的不同。针对具有不同权限的不同用户显示不同的视图
最简单的方法是用IF结构控制页面的每个部分。但它有点讨厌,我不喜欢它。
你有什么更好的想法或ifs是这些情况下的最佳解决方案。
感谢您的帮助。
答
它的种类取决于你如何喜欢创建你的模板。 :-)
- 合并插槽,部分和组件。这可能是最简单和最“可读”的解决方案。它将简单可重用块中的逻辑分开。
- 您可以创建单独的布局,并在你的模板调用
<?php decorate_with('template_user'); ?>
(在if
-statements增加的部分,并包括部分) - 或创建你自己的基本动作类,这在
preExecute()
设置模板(this->setLayout('template_user')
) - 创建单独的操作,并根据用户的权限转发用户。
我会去的第一:-)
感谢。他们中的大部分都在我的脑海里,但我想我也是第一个去的。 – Firouziam