投稿者: shirane 日付: 2008-12-27 (土) 17:19
Posted in
Drupal のノードの新規作成や編集のフォームで、「プレビュー」や「削除」のボタン表示を制御する方法について。
方法1
当該要素を CSS で display:none; 指定する。
方法2
hook_form_alter() フックをオーバーライドする。
たとえば、hoge モジュールを使用して、コンテンツタイプが hogege であるノードのフォームで「プレビュー」ボタンが表示されないようにするなら、
function hoge_form_alter($form_id, &$form) { switch ($form_id) { case 'hogege_node_form': unset($form['preview']); break; } }
とする。「削除」ボタンの場合は 'preview' の代わりに 'delete' とする。
同じく、「プレビュー」ボタンを無効(淡色表示)にするなら、
function hoge_form_alter($form_id, &$form) { switch ($form_id) { case 'hogege_node_form': $form['preview']['#disabled'] = true; break; } }
とする。
適用したいコンテンツタイプが複数ある場合は、(break は入れずに)対応する case 文を追加:
function hoge_form_alter($form_id, &$form) { switch ($form_id) { case 'hogege_node_form': case 'hohoho_node_form': case 'hehehe_node_form': $form['preview']['#disabled'] = true; break; } }
注)フォームID($form_id)は、「コンテンツタイプ名_node_form」の形式をとる。