minihakuの拡張その2
minihakuの拡張、まず「登録」から。
基本的にこれは以下の3ファイルから構成されているようだ。
・include/config.php
・include/registerhook.php
・templates/minihaku_register.html
もちろん設定ファイルの読み込み等があるので、別ファイルも関連するがそれは割愛。上記のうちconfig.phpは、登録フォームで追加すべき項目を設定する(config.dist.phpからrenameして使用)。このファイルはもちろん編集でも使用することになる。
結局このファイルでは、入力項目の設定、入力値のチェック、編集時の初期値をDBから取得、なんて処理が書かれている。手動で作業する場合はこれを編集・追記するわけだ。目指すはここの自動化(もちろんテンプレートも自動的に変更されることを目指す)。
registerhook.phpはプログラムの主要部分。今回は最初ということでフォームの表示部分のみを見ることにする。最初のところは受け取りたい変数の初期化だ。ここも自動化する必要がある。途中の大部分は実際の登録処理なので、とりあえず省略(後日検討)。フォームの表示は最後のほうの「FORM STAGE」以下の部分だ。
最初にheaderを読み込む。次にフォームの情報をセットし、またconfig.phpで追加された情報もここでセットされる。そして最後にfooterの読み込み。それだけ。これをDB化すればいいということになる。まぁ、簡単ではあるが、実際作業するのは多少手間であることは間違いない。
あとはテンプレートminihaku_register.htmlを適宜修正する必要がある。ちなみにminihakuでは、項目名は既存の設定ファイルを流用する形になっている。これではまずいのでここもDB化していくことになる。
今回いろいろ試行錯誤していて覚えたXoopsのお作法。テンプレートファイルを編集しても、それでは直接反映されない。いったんXoopsの管理者権限を取得し、モジュールのアップデートを実行することでようやくテンプレートが反映される。これは、Xoopsのモジュールではテンプレートの内容はDBに書き込まれ、それがコンパイルされてtemplates_cディレクトリに保存されているからだ。なんでそんな面倒なことになっているのかわからないけれど・・・。まずは少しめどがついた。
次回は実際の登録ルーチンを見ていくことにする。