8

私のテンプレートでは、ユーザーがそれに応じて物事を表示する特定の役割を持っているかどうかを知る必要があります。これまでのところ、ユーザー クラスに小さな関数を実装しました。

  public function hasRole($role) {
    $roles = array();
    foreach ($this->getRoles() as $rol) {
      $roles[] = $rol->getRole();
    }
    return in_array($role, $roles);
  }

これは、このユーザーがパラメーターとして渡された文字列によって指定されたロールを持っているかどうかを示します。これは機能し、小枝テンプレートから呼び出すことができますが、ロール階層について何も知ることができません。コントローラーからロール階層にアクセスする方法はありますか? 小枝テンプレートから直接?公式ドキュメントを調べましたが、何も見つかりませんでした。

4

1 に答える 1

21

以下のコードを使用して小枝テンプレートのロールを確認できます。現在のユーザーが以下のロールを持っている場合、何かを表示することを説明しています

{% if is_granted('ROLE_ADMIN') %}

  //show things related to admin role

{%else if is_granted('ROLE_USER')%}
//show things related to user role
{% endif %}

これがお役に立てば幸いです。ハッピーコーディング!!

于 2012-04-21T14:33:19.910 に答える