目下PowerCMS Xの案件を進めていて、モデルにカラムが多くカラム名も少々長いため、テンプレートタグを書くことに疲れてきました...。「なんとか楽ができないか」と考えたのですが、モデルの情報はmt_table
テーブルに、カラムの情報はmt_column
テーブルに入っていたので「PADO : PHP Alternative Database Object」を利用してテンプレートタグを一覧にして出力しました!
単純にモデル名とカラム名を繋げたものを出力するだけでなく、テンプレートタグでは省略されるアンダースコアを除去したり、編集表示がリッチテキストの場合はconvert_breaks="auto"
を付けたり、リレーションだとブロックタグにしたりと色々工夫しました。またリレーションしているモデルへのリンクを表示して、リレーション先のテンプレートタグも書きやすくしています。
動作サンプルを下記に置きました。(私の研究開発用サーバーで、PowerCMS Xをインストールしたホストとは別のホストに設置しています。データは学習用に作成したものです。)
ちなみに後から気付いたのですが、mt:objectcols
タグでもカラムの情報が取得できるようです。