モジュールを作ろう!(7)調整その2

本記事は、Cubson というモジュール生成ツールを使った XOOPS のモジュール作成方法を解説するものです。

対象は、XOOPS のモジュールを作ったことはないし、PHP もプログラミング自体もほとんど経験が無い、という人です。

引き続き,修正すべき点です。

今度はテンプレートの修正で,

/templates/{modulename}_{tablename}_list.html

を開いて,テーブルの中の

<img src="<{"icons/up.gif"|theme}>" ... />
<img src="<{"icons/down.gif"|theme}>" ... />

という部分を,

<img src="icons/up.gif" ... />
<img src="icons/down.gif" ... />

に書き換えてください。そのままにしておくと,一覧を表示したときにエラーになってしまいます。*1テンプレートを書き換えた場合は,モジュールのアップデートを行わないと反映されませんので,管理画面から行ってください。

Smartyについて

theme の部分は,PHP の処理を html 内に見やすく埋め込むための Smarty というテンプレートエンジンの記述です。

XOOPS では,画面の表示を指定するテンプレートの記述に,この Smarty を採用しています。データベースから取り出したデータを格納した変数は,html テンプレート上で,この Smarty を使うことで表示できます。

たとえば,$data という変数に入っている文字を表示するには,Smarty の記述を表す <{ }> で囲って*2

<{$data}>

と書きます。$name に「氷川 霧霞」という文字列が入っていれば,

ようこそ,<{$name}> さん。

と書くことで,

「ようこそ,氷川 霧霞さん。」

と表示されます。

Smarty は豊富な機能を持ちますので,ここでは到底解説しきれません。以下の本か,ネット上の情報で徐々に学んでいってください。

XOOPS 特有の Smarty プラグインについては,以下で良くまとめられています。

*1:Smartyのtheme修飾子がないため。本来どうあるべきかは不明

*2:Smarty のデフォルトでは { } で囲みますが,XOOPS では <{ }> で囲むことになっています