如何根据Typo3 6.2中的fe_usergroup高效显示不同的视图?

时间:2016-10-03 14:40:52

标签: typo3 fluid extbase usergroups

现在我正在我的动作控制器中获取当前登录用户的用户组,如下所示:

$roles = $GLOBALS['TSFE']->fe_user->groupData['title'];

我将此信息传递给我的观点,然后执行以下操作:

<f:if condition="{0:role} == {0:'management'}">
...

我不确定这是不是一个好方法......我想不是 - 所以我想到了这个:
例如:listAction()
根据用户组的不同,应显示不同的属性 我想通过在用户组之后命名它们并使用类似的东西来处理那里的部分:

<f:for each="{appointments}" as="appointment">
 <f:render section="{0:role} arguments="{appointment:appointment}"/>
...

但我想知道是否有更好的方法......? 我如何以最好的方式测试我的观点 - 我的想法: 如果有一个属于所有用户组的测试用户,那么能够在前端切换我的视图以查看所有视图是否有效而无需每次都使用不同的测试用户登录其他用户组。 我这样做的方式是不可能的。

所以我的问题:

  1. 我的方法是最佳做法,或者我怎样才能使这更简单和自动化?
  2. 是否有一种简单的方法来测试我所描述的与属于所有用户组的测试用户的视图?
  3. 我在Typo3 Basics中搜索过,但无法找到问题的解决方案或最佳做法。

1 个答案:

答案 0 :(得分:1)

您想要连接权限以查看某些字段到组。由于人们可以在一个以上的群体中,一个人可以看到的领域可以变化很大。如果为每个组创建部分/部分,则必须在模板中重复许多字段。 更灵活的方式是首先收集用户可以根据他们所属的各个组看到的字段。您可以在扩展程序的settings中设置哪些字段对每个组都可见。在控制器中,您可以组合用户的所有组的字段,最后将字段数组传递给视图。视图可以简单地遍历列表并渲染每个可见字段。