Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ccc9812'@'localhost' (using password: NO) in /home/ccc9812/hcy3.net/public_html/drupal/wp-content/plugins/statpress-seolution/statpress.php on line 854

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/ccc9812/hcy3.net/public_html/drupal/wp-content/plugins/statpress-seolution/statpress.php on line 854

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ccc9812'@'localhost' (using password: NO) in /home/ccc9812/hcy3.net/public_html/drupal/wp-content/plugins/statpress-seolution/statpress.php on line 854

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/ccc9812/hcy3.net/public_html/drupal/wp-content/plugins/statpress-seolution/statpress.php on line 854

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ccc9812'@'localhost' (using password: NO) in /home/ccc9812/hcy3.net/public_html/drupal/wp-content/plugins/statpress-seolution/statpress.php on line 854

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/ccc9812/hcy3.net/public_html/drupal/wp-content/plugins/statpress-seolution/statpress.php on line 854

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ccc9812'@'localhost' (using password: NO) in /home/ccc9812/hcy3.net/public_html/drupal/wp-content/plugins/statpress-seolution/statpress.php on line 854

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/ccc9812/hcy3.net/public_html/drupal/wp-content/plugins/statpress-seolution/statpress.php on line 854

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ccc9812'@'localhost' (using password: NO) in /home/ccc9812/hcy3.net/public_html/drupal/wp-content/plugins/statpress-seolution/statpress.php on line 854

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/ccc9812/hcy3.net/public_html/drupal/wp-content/plugins/statpress-seolution/statpress.php on line 854

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ccc9812'@'localhost' (using password: NO) in /home/ccc9812/hcy3.net/public_html/drupal/wp-content/plugins/statpress-seolution/statpress.php on line 854

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/ccc9812/hcy3.net/public_html/drupal/wp-content/plugins/statpress-seolution/statpress.php on line 854
モジュールの開発 第2回 Helloプログラム | Drupal メモ
このエントリーを含むはてなブックマークはてなブックマーク - モジュールの開発 第2回 Helloプログラム この記事をクリップ!Livedoorクリップ - モジュールの開発 第2回 Helloプログラム Yahoo!ブックマークに登録 @niftyクリップに追加 FC2ブックマークへ追加 このエントリをつぶやくこのWebページのtweets Googleブックマークに追加 Bookmark this on Delicious Digg This BuzzurlにブックマークBuzzurlにブックマーク Share on Tumblr newsing it! この記事をChoix! FriendFeedで共有

さて、Drupalのモジュール開発の第2回目です。

ありきたりなテーマで恐縮ですが、Drupalで「Hello!」と表示させるモジュールを作成してみましょう。

第1回の「モジュールの雛形」の.infoと.moduleを利用します。エディタは何でも良いですが、私は、「CodeLobster PHP Edition」を使っています。

エディタで、第1回の.infoの雛形をコピーし、下記のように「sample」を「Hello」に変更します。

name = Hello
description = Hello module
package = My Module
version = 1.0
core = 6.x

ファイル名は、hello.infoで、エンコードはUTF-8で保存します。

次に、.moduleの雛形をコピーし、下記のように変更しましょう。

This is sample module.

'; return $output; } } function hello_perm(){ //実行権限をチェック(ユーザ管理の権限管理でユーザごとに実行権限を与える) return array('permission hello'); } function hello_menu(){ //メニュー表示 //'title':表示されるメニュー名 //'page callback':実行される関数名 //'accsess argument':実行権限 $items['hello_execute'] = array( 'title' => t('hello program'), 'page callback' => 'hello_execute', 'access arguments' => array('permission hello'), ); return $items; } function hello_execute(){ $output = drupal_get_form(hello_exe_form); return $output; } function hello_exe_form($form_state){ $form = array(); $form['hello_name'] = array( '#type' => 'textfield', '#title' => t('相手の名前'), '#size' => 32, '#maxlength' => 32, '#description' => '', '#required' => true, ); $form['submit'] = array( '#type' => 'submit', '#value' => t('submit') ); return $form; } function hello_exe_form_validate($form_id, &$form_state){ //チェックロジック } function hello_exe_form_submit($form_id, &$form_state){ //処理ロジック $name = $form_state['values']['hello_name']; drupal_set_message($name ."さん、こんちには!"); } ?>

単純に「Hello」だけを表示するなら、コードはもう少し短くなりますが、今回は最初の画面で名前を入力し「submit」ボタンを押すと、その名前を含めて、「こんにちは、~さん」と表示するようにしました。

hello_exe_form()で、名前入力とsubmitボタンを表示し、submitボタンが押されると、hello_exe_form_submit()で処理をします。

この時、hello_exe_form()からhello_exe_form_submit()への値の引渡しは、hello_exe_form_submit()側で、$form_state[‘values’][‘hello_name’]で参照することができます。これが一つのキーポイントになります。

後は、この引き渡された値(名前)と「さん、こんにちは!」を組み合わせて、Drupalの画面に表示させているのが
drupal_set_message($name .”さん、こんちには!”);
です。

完成したら、通常のモジュールと同様にこの2つのプログラムをhelloフォルダに格納し、FTPでsites/all/modules/配下にコピーして、Drupalの管理画面のモジュールで有効化してください。

すると、Drupalのメニューに「hello program」が表示されますので、それをクリックします。

この画面で、「名前」に例えば、Drupalと入力し、submitをクリックすると、

と「Dupalさん、こんにちは!」と表示されます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

トラックバックURL

最新の記事一覧

  • サイト内検索

ページ上部に