web-dev-qa-db-ja.com

異なるtwig異なる役割のユーザープロファイルのテンプレート

役割に基づいてユーザープロファイルページのテーマを変更したいのですが、その方法がわかりません。

誰かが管理者プロファイルを表示しているときに、このtwigロードするファイル:user--administrator.html.twigが必要です。

エディタープロファイルを表示しているとき:user--editor.html.twig

どうすればこれを達成できますか?

3
Florin Simion

YOUR_THEME.themeファイルのロールに基づいてフックテーマの提案を追加することで実行できます

/**
 * Implements hook_theme_suggestions_user_alter().
 */
function YOUR_THEME_theme_suggestions_user_alter(array &$suggestions, array $variables) {
  foreach ($variables['elements']['#user']->getRoles() as $role) {
    $suggestions[] = 'user__' . $role;
  }
}

次に、user--administrator.html.twiguser--editor.html.twigなどのテンプレートを使用できます

4
Razeem Ahmad