Drupal 7 における AJAXフォームとは、ページをリロードすることなく動的に変化させるようなフォームのことで、簡単に生成、操作することが出来ます。これは Drupal のフォームAPI のシンプルな拡張機能です。
7 common.inc drupal_add_tabledrag($table_id, $action, $relationship, $group, $subgroup = NULL, $source = NULL, $hidden = TRUE, $limit = 0)
テーブル(表)要素にテーブルドラッグの javascript(マウスドラッグにより列の並び替えを行うスクリプト)を追加します。
特定のウィジェットタイプを操作するには、hook_field_widget_WIDGET_TYPE_form_alter() を使います。WIDGET_TYPE のところを、操作したいウィジェットタイプに置き換えて使います。
ウィジェットタイプの名前が分からないときは、操作したいウィジェットを含むフォームが存在するページで、hook_field_widget_form_alter() をコールしてみて、第1引数を $element とすると、$element['instance']['widget']['type'] にあります。
Drupal7のインストールのデフォルトでは、Listモジュール(コアモジュール)が無効になっているので、これを有効にする。
そうするとフィールドタイプ(保存データ形式)で List(float) と List(integer)、リスト(テキスト)が選択できるようになるので、いづれかを選択すると、ウィジェット(データ編集用フォーム要素)に選択リスト、チェックボックス/ラジオボタンを設定できるようになる。
整数、浮動小数点数値といった数値タイプのフィールドを追加したい場合は、Numberモジュール(コアモジュール)を有効にすると、フィールドタイプの選択肢に追加される。Numberモジュールもデフォルトでは無効になっている。
コンテンツタイプのフィールド項目が多くなると、ノードの編集画面の整理(グループ分け等によるカスタマイズ)が必要になってくる。
フィールドセットなどで入力フォームをグループ分けするのに、独自の汎用カスタムモジュールの中で、hook_form_FORM_ID_alter() などのフックでフォームをカスタマイズしていましたが、そういったことは、普通に CCK をインストールしていれば GUI 操作で簡単に出来ることがわかった。
コンテンツタイプの「フィールドの管理」ページで、「追加」フォームの一番下、New group を追加すれば良い。
ノード編集フォームの中の CCK フィールドの、例えばセレクトボックスをチェックボックスにしたい場合なんかは、GUI で変更できる。