2016-06-11 21 views
0

ノード型のコンテンツタイプxyzに対して2つのカスタム表示スイートフィールド(abc1とabc2)をプログラムで作成しました。条件付きで表示/非表示Drupal表示スイートフィールド

xyzの表示管理でフィールドを見ることができますが、いくつかの条件に応じて1つのカスタムフィールドを表示し、他のフィールドを非表示にする必要があります。

template.phpのpreprocess_fieldsでこれをやってみました。条件付きチェックに基づいてフィールドをレンダリングする最適な場所はどこですか?

答えて

0

hook_entity_view_alter();ユーザー$buildを参照して、各フィールドの#accessキー値を変更してください。つまり、これはすべてのフィールドを表示するための例です。#accessキー値(論理値)

function yourmodule_entity_view_alter(&$build, $type){ 
     global $node; 

      foreach($build as $key => $item){ 
       if(strstr($key, 'field')){ 
        $build[$key]['#access'] = true; 
       } 
      } 


    } 
関連する問題