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」の形式をとる。
参考資料
http://drupal.org/node/138528