メインコンテンツに移動

shirane lab

メインナビゲーション

  • ホーム
  • ブログ
  • Drush
  • 検索

パンくず

  • ホーム
  • ブログ
  • ノードのフォームでボタンを無効または非表示にする方法

ノードのフォームでボタンを無効または非表示にする方法

2008/12/27(土) - 17:19
shirane

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

 

Drupal6
‹ 前の記事次の記事 ›

書籍

『D9 おいしいレシピ集2』がパワーアップして商業誌に

『D9 おいしいレシピ集2』がパワーアップして商業誌に

 書籍の一覧はこちら

 

タグ一覧

DrushDrupal9Drupal6ffdsmVagrant開発環境VirtualBoxDrupal7ComposerコミュニティDrupal5Migrate勉強会モジュールDocker書籍ubercartWindowsCKEditorArtisteerDrupal ONSENDrupal4MariaDBTwigデバッグthemingTomeテーマH5PインストールAnalytics仮想マシンCentOSMacREPLpsyshDruxtJSデカップルドヘッドレスNuxtQuizVue

サイト運営

シナジークエスト

© shirane lab