a-blog cmsのモジュールの書き方 その2
前回のa-blog cmsのモジュールの書き方 その1では、出力する内容はプログラム側でなんとかするカタチでのサンプルモジュールでしたが、今回は a-blog cms らしいものとして、ループと{波括弧}を利用するものを書いてみます。
<!-- BEGIN_MODULE Sample_List -->
<ul>
<!-- BEGIN data:loop -->
<li>{id} : {data}</li>
<!-- END data:loop -->
</ul>
<!-- END_MODULE Sample_List -->
今回のテンプレートは、上記のような a-blog cms らしい感じで、プログラムは以下のような場所に用意する事になります。
php/ACMS/GET/Sample/List.php
プログラムとしては、配列に入っているデータを繰り返して表示させるだけのシンプルなものです。
<?php
require_once ACMS_LIB_DIR.'GET.php';
class ACMS_GET_Sample_List extends ACMS_GET
{
function get()
{
$sampleArray = array ('aaa', 'bbb', 'cccc');
$Tpl = new Template($this->tpl);
foreach ( $sampleArray as $id => $data ) {
$row = array( 'id' => $id,
'data' => $data );
$Tpl->add('data:loop', $row);
}
return $Tpl->get();
}
}
上記では、次のような処理を行っています。
- テンプレートのクラスを利用するために $Tpl = new Template($this->tpl); を書きましょう。
- {id} や{data}にデータをセットするには、連想配列としてデータを用意します。
- 連想配列にセットしたデータを $Tpl->add('data:loop', $row); と書く事によって、BEGIN data:loop 〜 END data:loop を繰り返します。
- 最後に $Tpl->get(); でテンプレートのクラスより編集結果を取得します。
簡単な説明ですが、こんな感じにモジュールを準備する事で、a-blog cmsのテンプレートの作り方にあわせて作っていく事が可能になります。
こんな説明でご理解頂けますでしょうか? 公式サイト上に紹介される際には、もっと分かりやすく紹介される事になると思います。ご期待下さい。
この次は、もう少し実用的な感じで CSVファイルを読み込んでテーブルを生成、リンクをクリックする事で、1行分のデータを詳細表示というようなモジュールを紹介したいと思います。