web-dev-qa-db-ja.com

カスタムテンプレートのユーザープロファイルテーマフックの提案を作成する方法

Chaosツールのディスプレイスイートモジュールを使用してユーザープロファイルの「mini_teaser」ビューモードを作成していますが、drupalでカスタムテンプレートを読み取ることができません'user-profile__mini_teaser.tpl.php'テーマフォルダー内。ユーザーの前処理機能で、テーマの提案を追加していますが、機能していないようです。何か案は?

4
Curiouser

コードを見ないとわからないのですが、頭の上のプリプロセス関数は次のようになります。

function MYTHEME_preprocess_user_profile(&$vars) {
  if ($vars['view_mode'] == 'mini_teaser') {
    $vars['theme_hook_suggestions'][] = 'user_profile__mini_teaser';
  }
}

またはより一般的なソリューション:

function MYTHEME_preprocess_user_profile(&$vars) {
  $vars['theme_hook_suggestions'][] = 'user_profile__' . $vars['view_mode'];
}
1
Clive

通常は、アンダースコアを

$variables['theme_hook_suggestions'][] = 'user_profile__mini_teaser'; 

テンプレートファイル名にハイフンを使用:

つまり、テンプレートファイルの名前を次のように変更します。

user-profile--mini-teaser.tpl.php

テーマレジストリキャッシュをクリアした後、それ、または同様のアンダースコア/ハイフンファイル名の調整が役立つかどうかを確認します。

0
David Thomas