Scroll
Drupal でモジュールを作成する、クイックスタート
api.drupal.org から始めましょう。ノードが保存される前にトリガーされる hook_node_validate() フックのページを開きます:
http://api.drupal.org/api/drupal/modules!node!node.api.php/function/hook_node_validate/7
フックを使うと、通常の Drupal の処理に独自のコードを注入できます――検証、データフィールド、フォーム要素などを追加できます。
カスタムモジュールを sites/all/modules ディレクトリに追加しましょう:
sites/all/modules/custom/
sites/all/modules/custom/custom.info
sites/all/modules/custom/custom.module
custom.info ファイル内に、次を記述します:
name = Custom
description = Custom
core = 7.x
custom.module ファイルでは、ノードの body フィールドが空でないことを保証する検証を実装します。空の場合は、エラーを表示します。(もちろん、これはフィールド設定でも強制できますが、これはデモンストレーションのためのものです。):
custom.module
body['und'][0]['value'])) {
form_set_error('node-body', 'Body is empty'); // Displays error and prevents the node from being saved
}
}
この場合、サイトの言語が 1 つだけ(未定義、つまり und)のとき、body フィールドの最初の textarea をチェックします。(1 フィールドあたり複数の textarea を設定することも可能です。)
Devel モジュールとその dsm() 関数を使って、デバッグメッセージを表示し、画面上で配列やオブジェクトを調べます:
?>