2016-10-03 14 views
0

지금 내가 이렇게 내 액션 컨트롤러에 현재 로그인 한 사용자의 사용자 그룹 (들)을 받고 있어요 :Typo3의 fe_usergroup에 따라 다른보기를 표시하는 방법 6.2 Extext Extension을 효율적으로?

$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에서 검색했지만 내 문제에 대한 해결책이나 모범 사례를 찾을 수 없습니다.

답변

1

권한을 연결하여 특정 필드를 그룹에 표시하려고합니다. 사람이 여러 그룹에 속할 수 있기 때문에 사람이 볼 수있는 분야는 크게 다를 수 있습니다. 각 그룹에 대해 섹션/부분을 만들면 템플릿에서 많은 필드를 반복해야합니다. 더 유연한 방법은 먼저 사용자가 구성원으로 속한 다양한 그룹을 기반으로 볼 수있는 필드를 수집하는 것입니다. 각 그룹에 대해 표시 할 수있는 내선 번호 settings을 설정할 수 있습니다. 컨트롤러에서 사용자의 모든 그룹에 대한 필드를 결합하고 마지막으로 필드 배열을 뷰에 전달할 수 있습니다. 뷰는 단순히 목록을 반복하고 각 보이는 필드를 렌더링 할 수 있습니다.

+0

좋은 생각처럼 들리지만 - 그/설정은 무엇입니까/어디입니까? "필드"가 정확히 무엇을 의미합니까? 속성 이름의 문자열 또는 각 필드에 대해 섹션을 만들어야하며 그 섹션의 이름이됩니까? –

+1

모든 extbase 확장자는 TypoScript 설정에서 "settings"섹션을 가지고 있습니다 :'plugin.tx_myextensionname.settings'. 이 키 아래에서 원하는 구성을 입력 할 수 있습니다. 당신의 컨트롤러에서는'$ this-> settings'과'{settings}'을 가진 Fluid에 접근 할 수 있습니다. "필드"란 표시하려는 속성을 의미합니다. 2-3 사용자 그룹에서는 각 그룹에 대해 별도의 섹션을 갖는 것이 문제가되지 않지만 그룹의 조합도 고려해야합니다. 그러면 어떤 속성이 표시되어야하는지 먼저 확인하는 것이 더 쉽습니다. –

+0

감사합니다. 설정 섹션에 대해서는 아직 알지 못했습니다.하지만 '설정'의 필드를보기 만하면'