a-blog cmsを触って1ヶ月
a-blog cms Advent Calendar 2022 23日目の記事です。
前書き
a-blog cmsを触り始めて1ヶ月ほど経ちました。一度課題として、公式サイトにあるチュートリアルの復習1~4に沿って実装しました。現在は、別の課題を頂き、あるサイトのCMSを行なっています。今回はその中でモジュールとフォームについて、詰まった内容も伏せて紹介できればと思います。
本題
モジュール
a-blogでは多くのモジュールが存在しています。モジュールもいくつかに分類されています。モジュールの意味もわからない方もいらっしゃると思いますので、説明しておきます。 > モジュールとは データを扱うために、ある雛形に沿って記述することで利用できるパーツのようなもの。
a-blog cmsで登録したデータを出力したり投稿したりすることができる、基本となる機能です。表示したいデータの内容に合わせてモジュールを使い分ける使用となっていますが、モジュールが多い分、どれを使っていいのかとても迷いました。モジュールのリファレンスが用意されており、このリファレンスには変数表とスニペット(使い方)が記載されています。このリファレンスを参考に進めてみましたが、細かい使い分けをまだ理解できませんでした。便利な反面、回数を重ねないと最適な使い分けがわかりづらいと感じました。
フォーム
まず一番の印象が、html準拠でかけるのが、マークアップエンジニアからするとわかりやすいのかなと思いました。データの送信、受け取りもinput一つで設定することができるのでとても便利だと感じました。 以下のように、step毎にフォームを組み立てることができます。
<!-- BEGIN step -->
<!-- 新規 -->
<form action="" method="post" enctype="multipart/form-data">
<!-- #include file="/include/form/insert.html" -->
<input type="hidden" name="step" value="confirm" /> // 遷移先のstep
<input type="hidden" name="id" value="contactForm" /> // 管理ページのフォームIDを指定
<input type="hidden" name="takeover" value="{takeover}"> // データを送信先に送る
<input type="submit" name="ACMS_POST_Form_Confirm" value="確認"> // 遷移するためのボタン
</form>
<!-- END step -->
stepには名前を付けることができ、以下のように記載します。
<!-- BEGIN step#confirm -->
<!-- END step -->
また、一番いいなと思ったのがバリデーションで、とても簡単に実装ができます。
<!-- BEGIN division:validator#required --><p>この項目は必須入力です</p><!-- END division:validator#required -->
<input type="text" name="division" id="division" size="60" value="{division}">
<input type="hidden" name="field[]" value="division" />
<input type="hidden" name="division:validator#required" />
こちらはinputに伏せて記述するのですが、nameを揃えてvalidatorを付けるだけで必須入力や、数値チェックを実装でき、かつ、エラーメッセージの合わせて表示をすることができます。バリデーションもリファレンスが用意されています。
後書き
a-blog cmsは記事が少ない印象はありますが、リファレンスに変数表やスニペットが用意されてある為、理解し実装するのに時間はかかるかもしれないですが、簡単にできると感じました。あと、個人的に良いと思ったのは、エントリーにMarkdownが使えることです。blogを書くときに便利でした。