ノード入力フォームへパラメータを渡す

カテゴリ コンテンツの作成 コアバージョン 7.34 関連モジュール CCK

ノード入力時、指示(パラメータ)を渡し、特定のフォームに初期値を設定したり、入力不可にしたい場合があります。
ノード入力フォームにおけるパラメータの渡し方と、使い方を教えて下さい。

コメント

ユーザー actbrain の写真

下記のような形が最も良いと思います。

1.ノード新規作成時、や更新時のリンクにパラメータを乗せる。
2.hook_form_alter()でパラメータによるフォーム変更を行う。

以下に例を示します。

1.リンク

1)ノード新規作成:node/add/{your node-type}/パラメータ1/...
2)既存ノード変更:node/{node id}/edit/パラメータ1/...

2.hook_form_alter()

function {your module name}_form_alter(&$form, $form_state, $form_id) {
 switch ($form_id) {
  case '{your node-type}_node_form':
   if (strlen(arg(3))) {
    $is_add = arg(0) == 'node' && arg(1) == 'add' & empty($form['nid']['value']);
    $is_edit = arg(0) == 'node' && arg(2) == 'edit' & !empty($form['nid']['value']);
    if ($is_add || $is_edit) {
     // 初期値を設定し、変更禁止にする
     $form['{initial field name}']['und'][0]['#default_value'] = arg(3);
     $form['{initial field name}']['und'][0]['#disabled'] = TRUE;
    }
   }
  }
 }
}

ページ

OTHER FAQ

Drupal開発・運用の疑問/質問の答えはここに

無料ユーザー登録すると質問できます。

カテゴリ Core Ver. 関連モジュール昇順で並び替える タイトル
Libraries 8.5.x Libraries Commerceで外部JavaScriptをテスト/本番で読み分ける方法
言語 7.15 Language まだ翻訳されていない英語文、どうにかならない?
コンテンツの作成 8.4x json jQueryにjsonで渡す方法
見栄え 7.15 js Injector 簡単にJavascriptを追加する方法は?
GoogleMaps 7.28 Javascript IE9でGoogle Map APIを利用した住所情報所得がうまくゆかない
フォーム 8.6.x JavaScript 特定のformに動的にJavaScriptをロードする方法
サイト情報 8.4x JavaScript JavaScriptに変数を渡す方法
フォーム 8.6.x JavaScript 特定のformにJavaScriptを紐付ける方法
ユーザ 7.34 ip_ranges ログインアタック対策は?
コンテンツの作成 6.x Insert Block ブロックの内容を本文中に表示するには?
コンテンツの作成 7.50 Inline Entity Form Drupal6のフィールドグループのようなモジュールはありませんか?
サイトの環境設定 7.23 Image Style 画像スタイルの使い方(Crop)
言語 6.x i18n 多言語対応サイトのサイト名やスローガン/ミッションなどを多言語化する方法を教えてください
Views 8.4x hook_views_query_alter Viewsクエリの条件式にサブクエリを追加する方法
Views 8.4x hook_views_query_alter Viewsクエリに多くの条件を追加する方法
Views 8.4x hook_views_query_alter 現在のViewsクエリを保存・再現する方法
Views Exposed Filter 8.4x hook_views_pre_view Views Exposed Formの複数単語入力(textfield)をフォーム上だけ複数行入力(textarea)にする方法
テーマ 8.4x hook_preprocess_html bodyタグにnode idやaliasのClassを追加する方法
テーマ 7.23 hook ページや状況によってテーマを切り替える
タクソノミー 7.15 Hirarchical Select タクソノミー(ターム)の選択を楽にできないでしょうか

ページ