今日は簡単なモジュールを作ったが、
install 関数と uninstall() 関数がどうしても正常動作にみえない。
現象はモジュールインストール画面で繰り返しにモジュールを選択・はずしにしても
最新の追加機能が反映されない。
一日はまって今日は原因を判明した。
理由はモジュールのインストール画面でモジュール選択をはずしだけでは、
モジュールのアンインストールにならないことがわかった。
一般的にモジュールのインストールとアンインストールは
モジュール管理画面のオン・オフだけでいいと思い込んでいた。
アンインストールするとき、やはりアンインストールのタグにいって
ちゃんとアンインストールを実行しないとuninstall()関数が走らない。
その結果、インストール済みのモジュールを再インストールと思って
モジュールをオンにしても実際には install()関数が実行されない。
なので、モジュール再実装するときに必ずアンインストール画面にて
まずアンインストールを行うこと。
2015年11月26日木曜日
2015年11月25日水曜日
Form ID を表示
hook_form_alter()関数を使ってサイトにどのフォームをアクセスしているのか
メッセージ表示させる方法です。
すべてフォームのIDを表示したい場合、 template.php にこの関数処理を入れる。
関数を作成するとき、利用するThemeによってhook関数の名前を変更する必要がある。
今回bartikのテーマを使うので、そうするとき、hook_form_alter()は
bartik_form_alter()に名前を変更する。
そして、下記の関数をとりあえずソースファイルの最後に追加して完了。
function bartik_form_alter(&$form, $form_state, $form_id) {
// ↓ drupal_set_messageはdsmと呼ばれ、デベロッパー用に使用される。
// $form_idでフォーム名を調べる
drupal_set_message("Form ID is : " . $form_id);
}
メッセージ表示させる方法です。
すべてフォームのIDを表示したい場合、 template.php にこの関数処理を入れる。
関数を作成するとき、利用するThemeによってhook関数の名前を変更する必要がある。
今回bartikのテーマを使うので、そうするとき、hook_form_alter()は
bartik_form_alter()に名前を変更する。
そして、下記の関数をとりあえずソースファイルの最後に追加して完了。
function bartik_form_alter(&$form, $form_state, $form_id) {
// ↓ drupal_set_messageはdsmと呼ばれ、デベロッパー用に使用される。
// $form_idでフォーム名を調べる
drupal_set_message("Form ID is : " . $form_id);
}
登録:
投稿 (Atom)