「form_mods」と呼ばれるすべてのフォーム変更を行うモジュールを作成しました。ほとんどの状況で機能しますが、分類ページでは機能しません。
「taxonomy_overview_vocabularies」のフォーム ID をターゲットにしています。「webmaster」と「dj」の役割の「語彙の編集」リンクを非表示にしようとしています。
私のコードは $form 配列を正しく設定解除していますが、Drupal はまだ「語彙の編集」リンクを表示しています。
function form_mods_form_alter($form, $form_state, $form_id) {
if($form_id == 'taxonomy_overview_vocabularies'){
global $user;
$hide=0;
$hideArray = array('webmaster', 'dj');
foreach($user->roles AS $key => $value){
if(in_array($value, $hideArray)){
$hide++;
}
}
if($hide){
foreach($form AS $vocab){
//print_r($vocab);
if(isset($vocab['edit']['#value'])){
unset($vocab['edit']['#value']);
}
}
}
}
}