1. HOME
  2. 案件でなにげなく行なっていることまとめ

案件でなにげなく行なっていることまとめ

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

普段のお仕事では受託案件をメインでやらせていただいていて、
わたし個人がなんとなく毎回やっていたことをまとめてみました。
a-blog cms Training Camp 2019 Autumnシュガーさんが発表していた内容も複数人で話し合って決めた内容のためかぶる部分があるかもしれません。また、a-blog cmsと関係ない部分も少し含みます。)

includeの読み込みはグローバル変数を使って分ける

例えばカスタムフィールドなどをURLコンテキスト別で読み込みたい場合には%{BCD}%{CCD}を使うなど
IF文ではなくグローバル変数を使用して分けるようにしています。

<!-- URLコンテキスト別 -->
@include("/admin/entry/bcd/%{BCD}.html")
@include("/admin/entry/rccd/%{RCCD}.html")
@include("/admin/entry/ccd/%{CCD}.html")

分ける時は%{BID}ではなく%{BCD}などを使用するようにしています。
名前だけでどこで使用しているかわかるようにしていますが、サイトによってはIDでの振り分けの方が良い場合があるためその場合はIDを使用することもあります。

カスタムフィールドで読み込む共通ものの名前を揃える

<!-- URLコンテキスト別 -->
@include("/admin/entry/ogp.html")
@include("/admin/entry/seo.html")
↓
@include("/admin/entry/field-ogp.html")
@include("/admin/entry/field-seo.html")

上記のようにfield-で始まる形に揃えています。

include内のテンプレートはなんのモジュールが使用されているかわかるように

@include("/include/summary-index.html")
@include("/include/body-default.html")

entry-summaryなどモジュール名全部を書くわけではなくパッと見でどのモジュールが使用されているかわかるようにつけています。

■ 例
Entry_Summary → summary
Entry_Body → body
Entry_List → list
Category_List → category-list
Category_EntrySummary → category-summary

さらにinclude内では、ComponentsかProjectsかなど使用用途によってもディレクトリ分けしています。

SET_Templateは使用しない

2.8から新しくinclude構文が追加され、includeで引数が渡せるようになったため、基本的にはSET_Templateを使用しない形にしています。SET_Renderedについてはテンプレートが解決された後に変数化されるため、モジュールの外へ表示したいときに使用するため引き続き活用しています。

@include("/include/entry/summary-image.html", {
      "module_id": "summary_pickup",
      "text": "ピックアップ"
})

カスタムフィールド / カスタムフィールドグループ名の変数名の付け方

カスタムフィールド

カスタムフィールドはたくさんになることが多いため、必ず被らない変数名をつけるようにしています。

■ NG
・text
・img
・title   など。

基本的には使うブログ名や、カテゴリ名など、変数名をみてどこで登録がされているものなのか使用するものなのかがわかるようにしています。
例:「event_list_title」
「ブログ名 + タイトル・画像など」

カスタムフィールドグループ

カスタムフィールドグループについてはカスタムフィールドの規則に加えて、カスタムフィールドと区別をつけるために
更に頭に「group_」をつけるようにしています。

例:「group_event_list_title」
「group_ブログ名 + タイトル・画像など」

カスタムフィールドの幅は適切なサイズに

カスタムフィールドメーカーで生成した場合テキスト入力欄などが「acms-admin-form-width-full」になってしまうため
適切なサイズに変更しています。
例:郵便番号入力欄は「acms-admin-form-width-mini」


参考:スタイルガイド


またこれは書いておきたいと思うものがあれば追記していきたいと思います。