2

AllowViewHelperでfrontendUserGroupパラメータを設定したいのですが、その方法がわかりません。

ときどき (キャッシュをフラッシュしても非決定論的)、次のエラーがポップアップ表示されます。

引数「frontendUserGroup」はタイプ「TYPO3\CMS\Extbase\Domain\Model\FrontendUserGroup」で登録されましたが、ビューヘルパー「FluidTYPO3\Vhs\ViewHelpers\Security\AllowViewHelper」ではタイプ「string」です

次のように、単にユーザーグループの参照を引数として渡すのは正しいですか?:

{namespace v=FluidTYPO3\Vhs\ViewHelpers}
...
<v:security.allow frontendUserGroup="3">
  <f:then>
    <span>Access granted</span>
  </f:then>
  <f:else>
    <span>Access denied</span>
  </f:else>
</v:security.allow>

パラメータは、ViewHelper によって次のように登録されます。

$this->registerArgument('frontendUserGroup', 'TYPO3\CMS\Extbase\Domain\Model\FrontendUserGroup', 'The FrontendUserGroup to allow/deny');
4

2 に答える 2

4

あなたの例に基づいて、CMS Fluid に同梱されている security.hasRole ViewHelper を使用するだけです。

<f:security.ifHasRole role="3">
  <f:then>
    <span>Access granted</span>
  </f:then>
  <f:else>
    <span>Access denied</span>
  </f:else>
</f:security.ifHasRole>

EXT:vhs の allow ViewHelper とは対照的に、この ViewHelper はユーザー グループの UID を引数として受け入れます。UID の代わりにユーザーグループのタイトルを渡すこともできますが、私の知る限り、これはあいまいです。

于 2015-04-24T06:40:39.773 に答える