不同权限的用户显示不同的视图


show different views for different users with different permissions

我正在开发一个像网站一样的社交网络,我在如何管理不同类型用户的观点方面遇到了一些麻烦。我有几个页面,它的内容和结果视图取决于用户的权限。例如,如果用户是一个组的成员(有成员证书)可以看到很多东西在该组页面,但如果他不是,模板应该是这么多不同。

最简单的方法是用IF结构控制页面的每个部分。但有点恶心,我不喜欢。

对于这种情况,你有什么更好的主意或最好的解决方案吗?

谢谢你的帮助。

这取决于你如何喜欢创建你的模板。: -)

  1. 组合槽,部分和组件。这可能是最简单和最"可读"的解决方案。它将逻辑分离为易于重用的块。
  2. 您可以创建单独的布局,并在模板中调用<?php decorate_with('template_user'); ?>(将if -语句添加到partial并包含partial)
  3. 或创建自己的基本动作类,在preExecute()中设置模板(this->setLayout('template_user'))
  4. 创建单独的动作,并根据用户的权限转发用户

我选第一个:-)