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モジュール |
|---|---|---|
基底クラス |
|
|
戻り値 | 文字列(HTML等) | 配列(構造化データ) |
呼び出し |
| Twig の |
{% set result = module('V2_Sample') %}
<p>{{ result.moduleTest }}</p>詳細は V2 GETモジュールの開発 を参照してください。
ディレクトリ構造
パス | 用途 |
|---|---|
| GETモジュール |
| POSTモジュール |
| 独自モジュール(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