如何根据 Typo3 6.2 Extbase 扩展中的 fe_usergroup 有效地显示不同的视图?

How to show different views depending on the fe_usergroup in Typo3 6.2 Extbase extension efficiently?

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

$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. 有没有一种简单的方法可以像我描述的那样用属于所有用户组的测试用户来测试视图?

我在 Typo3 Basics 中四处搜索,但找不到解决我的问题的方法或最佳实践。

您想将查看某些字段的权限关联到组。由于人们可以属于多个组,因此一个人可以看到的字段可能会有很大差异。如果你为每个组制作部分/部分,你必须在模板中重复很多字段。 一种更灵活的方法是首先根据用户所属的各个组收集用户可以看到的字段。您可以在扩展程序的 settings 中设置每个组的哪些字段可见。在控制器中,您可以组合所有用户组的字段,最后将字段数组传递给视图。视图可以简单地遍历列表并呈现每个可见字段。