テンプレートの継承機能を使ってアップデートに考慮した管理画面にしよう


この記事は a-blog cms Advent Calendar 2020 の18日目の記事です。

a-blog cms のテンプレートの継承機能は使ったことがありますか?
この記事では詳しい説明については省くので、もしまだ使ったことがない方はぜひドキュメントをご覧ください。

とても便利な機能なんですが、includeのように現在参照しているファイルがわからず、混乱してしまう方も少なくはないみたいです。

ですが、それでもテンプレートの継承機能はとてもおすすめです。 基本的なベースのHTMLを1ファイルで管理できるからという制作の効率をあげるというメリットもありますが、とくにa-blog cms のバージョンアップデートの影響を最小限にできるという点が大きなメリットです。

action.htmlのカスタマイズの場合

たとえばaction.htmlの場合はエントリー作成ボタンの横にCIDを固定で設定してお知らせカテゴリー専用の新規作成ボタンを作成して納品する方も多いのではないかと思います。テンプレートの継承機能を使う前は/admin/action.htmlそのものをごっそりオリジナルテーマ内に移動する必要がありましたが、テンプレートの継承機能を使えば該当の部分だけ差し替えることが簡単になります

@extends("/admin/_layouts/action.html")

@section("entry-insert")
<!-- BEGIN insert -->
<form action="" method="post" class="acms-admin-inline-btn">
	<input type="submit" name="ACMS_POST_2GET" value="<!--T-->エントリー作成<!--/T-->"  class="acms-admin-btn acms-admin-btn-success"/>
	<input type="hidden" name="admin" value="entry-edit" />
	<input type="hidden" name="bid" value="%{BID}" />
	<input type="hidden" name="cid" value="%{CID}" />
</form>
<form action="" method="post" class="acms-admin-inline-btn">
	<input type="submit" name="ACMS_POST_2GET" value="<!--T-->お知らせ作成<!--/T-->"  class="acms-admin-btn acms-admin-btn-success"/>
	<input type="hidden" name="admin" value="entry-edit" />
	<input type="hidden" name="bid" value="%{BID}" />
	<input type="hidden" name="cid" value="15" />
</form>
<!-- END insert -->
@endsection


上記のソースコードのように、必要な部分だけ差し替えるということが可能です。

必要な部分だけ差し替えているので、どんなカスタマイズをしているのかが明確になります。これは数年後にアップデートを頼まれた未来の自分を助けることにもつながります。

unit.htmlのカスタマイズの場合

上記の例はaction.htmlでしたが、unit.htmlもテンプレートの継承機能が利用できるように仕込みがされています。

@extends("/_layouts/unit.html")

@section(file-unit)
<!-- ファイル -->
<div class="column-file-{align} js_notStyle">
    <a href="%{HTTP_ROOT}{path}"><img class="columnIcon" src="%{HTTP_ROOT}{icon}" alt="ファイルを開く" width="{x}" height="{y}">
    <!-- BEGIN_IF [{caption}[delnl]/nem] --><p class="caption">{caption}[raw|nl2br]</p><!-- END_IF -->
    </a>
</div>
@endsection


上記の例では、テキストユニットはシステムのものを利用していますが、ファイルユニットはスタイルを変更するためにテンプレートの継承機能を利用しています。

これで、ユニットに関してもバージョンアップデートの度に全てのユニットの差分を比べる必要がなくなり、カスタマイズしているユニットのみ調べればいいと言うことになります。

まとめ

テンプレート継承機能に抵抗感を覚えている方は、まずは管理画面のカスタマイズからテンプレートの継承機能を使ってみてはいかがでしょうか。

アップデートしたときの影響を最低限にできるので、今後メンテナンスがしやすくなるはずです。

明日の a-blog cms Advent Calendar の担当は坂本さんです!(お願いしたら書いてくれることになりました!ありがとうございます!)


関連タグ

この記事をシェアする

著者

デザイナー

森田かすみ

名古屋のスタートアップで働く、デジタルプロダクトデザイナー。

2013年に新卒でWeb制作会社に入社し、受託制作のマークアップエンジニアとして勤務した後、CMS開発部門のデザイナーへ転身。

2023年5月にSaaSのプロダクトデザイナーへ転身。
現在は新機能にまつわるUXを考慮したUI設計、機能マーケティング支援などを担当。
ストレス発散方法はかっぱのイラストを描くこと。

おすすめ記事

この記事のハッシュタグ から関連する記事を表示しています。

他の方法で記事を探す

2024年4月

年間カレンダーへ
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30