a-blog cmsではじめてモジュールを作ってみた

早速なんですが、最近はa-blog cmsでモジュールを作ることを覚えました。
今回は、どのバナーモジュールを使うかエントリーのカスタムフィールドで選べるようにしたいとおもいバナーモジュール一覧を表示するモジュールを作ってみました。
今回はそのメモの記事となります。
まずは実際に作ったモジュールから紹介します。

実際に作ったモジュール

今回作ったモジュールでは下のソースのようにループを使ってバナーモジュール一覧を表示できるようにしています

<!-- BEGIN_MODULE AdminBanner -->
<ul>
<!-- BEGIN banner:loop -->
<li>
モジュールID名 {module_identifier}<br/>
モジュールにつけた名前 {module_label}
</li>
<!-- END banner:loop -->
</ul>
<!-- END_MODULE AdminBanner -->

では、早速モジュールをどのように作成するのかを解説していきます。

PHPを編集する場所

a-blog cmsでモジュールを作成する場合はa-blog cmsのパッケージ >> php >> ACMS >> User >> GETフォルダの中にphpファイルを置いて作っていきます。
今回はAdminBanner.phpというファイルを設置しました。

PHPファイルの中身

class ACMS_User_GET_AdminBanner extends ACMS_GET
{
    function get()
    {
//テンプレートインスタンス作成
        $Tpl    = new Template($this->tpl, new ACMS_Corrector());
//DBインスタンスを作成
        $DB = DB::singleton(dsn());
//モジュールを選択対象に
        $SQL = SQL::newSelect('module');
//モジュールIDを取得したい
        $SQL->addSelect('module_identifier');
//モジュールにつけた名前も取得したい
        $SQL->addSelect('module_label');
//バナーモジュールから取得したい
        $SQL->addWhereOpr('module_name','Banner');
//SQL文取得
        $q = $SQL->get(dsn());
//DBをSQL文で検索してその結果を$bannersに格納
        $banners = $DB->query($q, 'all');
         foreach ($banners as $banner){
//バナーのオブジェクトをテンプレートに追加
              $Tpl->add('banner:loop',$banner);
         }
        return $Tpl->get();
    }
}

クラス名の先頭にACMS_User_GET_をつけてください。
このように書くと、AdminBannerモジュールでバナーモジュールのモジュールIDや名前が取得できます。
意外とモジュールは簡単に作れます。プログラマの方には嬉しいのではないでしょうか?
みなさんも是非チャレンジしてみてください!!

参考



堀 悟大

アップルップル フロントエンドエンジニア。2014年高知大学理学部卒業。学生時代にHTML5のCanvas要素を使ってゲームを作っていたことでWeb全般に興味をもつ。アップルップル入社後はa-blog cmsを便利に使うための機能の実装や、HTML5の技術を使ったデジタルサイネージの実装を行う。趣味は英語。読むことも話すことも好き。

Home
Next entry →