Drupal 6.x のインストールプロファイルのカスタマイズ
テストサイトとか、複数の環境に Drupal 6.x をインストールする場合、その都度、共通して使うモジュールを有効化したり、日付の表示形式を定義したり、とかいう設定を繰り返すのも面倒なので、ある程度のことはインストール時に実行しちゃえた方が便利だよね。 の Drupal 6.x 版。
日本語翻訳は自動でインポートされるようになったから、そこまで便利な感じはしなくなったけど、一応。
インストール時の環境設定などを行うのは .profile ファイル。
デフォルトプロファイルの /profiles/default/default.profile を改変するよりは、設定ごとに別のプロファイルを作っちゃうという方が安全かも。 …とか言いながら、面倒なのでデフォルトのものを改変して使ってますが。
.profile ファイルで設定を行う関数は以下の 5つ。
- profilename_profile_modules()
インストール時に有効化するモジュールを指定できる。 必須モジュールの指定は不要。
→ 変更しちゃってます。 - profilename_profile_details()
インストール時にプロファイル選択画面に表示されるプロファイル名、説明、言語を定義する。
→ プロファイル名とか説明はテキトーで、言語は "ja" に。 - profilename_profile_task_list()
インストールの作業をユーザインタフェースに表示する場合にそのタスクリストを定義する。 たぶん…
→ デフォルトでも特になにも設定されていないし、あまりよくわかってないので、そのまま。 - profilename_profile_tasks(&$task, $url)
その他もろもろの設定を行える。
→ デフォルトで作成されるコンテンツタイプの変更と日付の表示形式のデフォルト値を変更してます。 - profilename_form_alter(&$form, $form_state, $form_id)
サイトの環境設定ページのフォームの内容を変更できる。
→ デフォルトで、サイト名フィールドについて設定してあるので、特に変更していません。
ファイルのそれぞれの関数定義部分はこんな↓感じ。
インストール時に有効化するモジュールの指定
function default_profile_modules() { ..... } 部分に記述。
return array(
// コア任意モジュール
'blog', 'locale', 'menu', 'path', 'taxonomy', 'update', 'upload',
// 追加モジュール
'jamail', 'pathauto', 'token',
);
※ 追加モジュールで日本語翻訳が同梱されていないものについては、それぞれのモジュールディレクトリ内に "translations/モジュール名.ja.po" として置いています。
プロファイルの言語情報を追加
default_profile_details() { ..... } 部分に記述。
'name' => 'Drupal',
'description' => 'Select this profile to enable some basic Drupal functionality and the default theme.',
'language' => 'ja', // プロファイルの言語情報を追加
);
※ 名前や説明はそのままで、言語情報のみを "ja" に変更しています。 しなくてもいいかもだけど…
デフォルトで作成されるコンテンツタイプの変更
function default_profile_tasks(&$task, $url) { ..... } 部分に記述。
$types = array(
// page コンテンツタイプの修正
array(
'type' => 'page',
'name' => st('Static Page'),
'module' => 'node',
'description' => st('Static Pages may be used for like a contact page or an about page.'),
'custom' => TRUE,
'modified' => TRUE,
'locked' => FALSE,
'help' => '',
'min_word_count' => '',
),
array(
// story コンテンツタイプを info コンテンツタイプへ変更
'type' => 'info',
'name' => st('Information'),
'module' => 'node',
'description' => st('Informations may be used for information and news articles.'),
'custom' => TRUE,
'modified' => TRUE,
'locked' => FALSE,
'help' => '',
'min_word_count' => '',
),
);
※ 特に変更する必要もないけど、なんとなく「ページ」とか「ストーリー」とかってやっぱり微妙な感じがしてるんで、Drupal 5.x の時と同様、「静的ページ」と「お知らせ」っぽく修正して使ってます...
日付表示形式のデフォルト値の設定
これも、function default_profile_tasks(&$task, $url) { ..... } 部分に記述。
variable_set('date_format_short', 'custom');
variable_set('date_format_short_custom', 'Y-m-d - H:i');
variable_set('date_format_medium', 'custom');
variable_set('date_format_medium_custom', 'Y-m-d (D) H:i');
variable_set('date_format_long', 'custom');
variable_set('date_format_long_custom', 'Y年m月d日 (D) H:i');
※ すべての表示形式にカスタム設定を使用するように設定してます。
この部分は jBox モジュールを使えば(以前は使用していました)必要ないけど、自分で設定した方がよりカスタマイズの自由度が高いので…
トラックバック
- 0829さんのブログ
- ログインしてコメントを投稿

