とほほのDrupal入門

トップ > Drupal入門 > モジュール > モジュールを作る

モジュールを作る

Drupal 6.4 の簡単なモジュールの作り方を紹介します。Drupal 5.x とは様々な変更箇所があるので注意してください。Drupal のインストールディレクトリ(例:drupal-6.4)の下に、下記のディレクトリとファイルを作成していきます。

drupal-6.4
└□site
 └□all
  └□modules
   └□test
    ├◇test.info
    ├◇test.module
    └□transrations
     └◇module-test.ja.po

test.info ファイルの内容を次のようにします。詳細は http://drupal.org/node/206756 を参照してください。

name = Test
description = Test module
package = Test - optional
version = VERSION
core = 6.x

test.module ファイルの内容を次のようにします。意図しない空白が出力されるのを防ぐため、ファイルの最後の ?> は省略するのが流儀だそうです。詳細は「Drupalコーディング規約」(http://drupal-jp.sourceforge.jp/main/node/67)に従ってください。t(...) で囲んだ文字列は翻訳対象になります。

<?php

function test_menu() {
  $item['test'] = array(
    'title' => 'TEST',
    'page callback' => 'test_main',
    'access arguments' => array('access content'),
  );
  return $item;
}

function test_main() {
  return '<p>' . t('Hello World') . '</p>';
}

module-test.ja.po ファイルの内容を次のようにします。翻訳情報はキャッシュされるため、.po ファイルを書き換えた場合、[管理セクション]→[サイトの構築]→[インターフェイスの翻訳]→[インポート] で、モードを [既存文字列の置換と新規文字列の追加] にしてインポートしないとうまく反映できないことがあります。

msgid ""
msgstr ""
"POT-Creation-Date: 2008-09-20 22:52+0900\n"
"Last-Translator: Yamada Taro <taro-yamada@example.com>\n"
"Language-Team: Yamada\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"

msgid "Hello World"
msgstr "ハローワールド"

[管理セクション]→[サイトの構築]→[モジュール] で新しく作成した Test モジュールにチェックをつけて保存すると、左ナビゲーションメニューに TEST というメニューが表示されます。これをクリックして「ハローワールド」と表示されれば成功です。


Copyright (C) 2008 杜甫々
初版:2008年9月21日
http://www.tohoho-web.com/drupal/