a-blog cmsのモジュール


a-blog cmsのモジュール

a-blog cmsは GETモジュールPOSTモジュール という独自単位のPHPプログラムによって動作します。

GETモジュール

テンプレートを通して情報を表示するためのプログラムです。テンプレート内で表示制御のテンプレートタグとして動作します。

  • データベースの情報を表示する

  • XML生成用に加工して表示する

  • 外部データを取得して表示する

<html>
<body>
<!-- BEGIN_MODULE Hoge -->
(プログラムの出力結果)
<!-- END_MODULE Hoge -->
</body>
</html>

詳細はGETモジュールの開発を参照してください。

POSTモジュール

入力・操作に対してアクションを起こすためのプログラムです。送信されるフォームデータのキー(name属性)に ACMS_POST_{POSTモジュール名} を含めれば動作します。これにより、submitボタンだけでなくJavaScriptからフォームを送信する場合にも利用できます。

  • フォームの情報をデータベースに記録する

  • ボタンを押した後に指定したページに遷移する

  • ファイルをアップロードする

<form action="" method="post">
<input type="submit" name="ACMS_POST_Fuga" value="Fugaモジュールを実行" />
</form>
const csrfToken = window.csrfToken ?? document.querySelector('meta[name="csrf-token"]')?.content;
const formData = new FormData();
formData.append('ACMS_POST_Fuga', 'Fugaモジュールを実行');
formData.append('formToken', window.csrfToken);
// 必要に応じて他のフィールドを追加
// formData.append('field1', '値');

const response = await fetch(document.location.href, {
  method: 'POST',
  body: formData,
  headers: {
     'X-CSRF-Token': csrfToken,
     'X-Requested-With': 'XMLHttpRequest',
  },
});

詳細はPOSTモジュールの開発を参照してください。

V2 GET モジュール

Twigテンプレート と連携する新しい形式のGETモジュールです。従来のGETモジュールと異なり、連想配列を返す ことでTwig側で柔軟に表示を制御できます。

項目

従来のGETモジュール

V2 GETモジュール

基底クラス

ACMS_GET

Acms\Modules\Get\V2\Base

戻り値

文字列(HTML等)

配列(構造化データ)

呼び出し

<!-- BEGIN_MODULE -->

Twig の module() 関数

{% set result = module('V2_Sample') %}
<p>{{ result.moduleTest }}</p>

詳細は V2 GETモジュールの開発 を参照してください。


ディレクトリ構造

パス

用途

/php/ACMS/GET/

GETモジュール

/php/ACMS/POST/

POSTモジュール

/extension/acms/

独自モジュール(GET/POST/V2)

GETモジュールはGETディレクトリ内に、POSTモジュールはPOSTディレクトリ内に配置します。独自V2モジュールは extension/acms/Modules/Get/V2/ に配置します。

extension/acms/
├── Modules/Get/V2/    # 独自 V2 GETモジュール
├── GET/               # 独自 GETモジュール
├── POST/              # 独自 POSTモジュール
├── Hook.php
├── Corrector.php
└── Validator.php