2015年12月4日金曜日

役に立つモジュール

ここにいくつ調べた使えそうなモジュールをまとめる。

1.開発用  Form Inspect
        このモジュールはDevelを参考に作成したものだか、Develには依存しない。
  FormのArray()をDumpしてくれるらしい。ためし価値がありです。

2.フォーム作成用モジュール Form Builder
        このモジュールでdrag&dropでフォームを作成できる。
  そして作成したフォームをExportができる。これを自分で開発するとき
  フォームの設計用に使えそう。

3.開発に参考になりそうな Survey Builder
        このツールを使って簡単にサーベイを作成できるが、画面の設計はForm Builderをベースにしているので、開発にはヒットになりそう。

4.開発用 Node Export Webforms モジュール


2015年11月26日木曜日

モジュールの hook関数 installIO と uninstall()

今日は簡単なモジュールを作ったが、
install 関数と uninstall() 関数がどうしても正常動作にみえない。

現象はモジュールインストール画面で繰り返しにモジュールを選択・はずしにしても
最新の追加機能が反映されない。

一日はまって今日は原因を判明した。

理由はモジュールのインストール画面でモジュール選択をはずしだけでは、
モジュールのアンインストールにならないことがわかった。

一般的にモジュールのインストールとアンインストールは
モジュール管理画面のオン・オフだけでいいと思い込んでいた。

アンインストールするとき、やはりアンインストールのタグにいって
ちゃんとアンインストールを実行しないとuninstall()関数が走らない。

その結果、インストール済みのモジュールを再インストールと思って
モジュールをオンにしても実際には install()関数が実行されない。

なので、モジュール再実装するときに必ずアンインストール画面にて
まずアンインストールを行うこと。

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);
}