Skip to content

SC-002 機種インデックスショートコード

概要

  • 各日別記事で取り上げた機種の一覧(日付・機種名・ホール別導入台数)をテーブル形式で表示する
  • 機種名と日別記事へのリンクも提供する
  • 全日別記事の機種名リスト取得・DailyLink からの記事 URL 取得・ホール別導入台数算出を行い、Twig によるテーブル HTML を生成する。属性なし。
  • 表示するホールは、アイランド秋葉原/エスパス秋葉原/ビッグアップル秋葉原

外部インターフェース

ショートコードタグ

  • タグ名: [CustomCode_CreateKishuIndex]
  • 入力例: [CustomCode_CreateKishuIndex]

属性一覧

属性役割必須
---

エラー・境界条件

条件ユーザー向け挙動メッセージ / ログ
KishuIndexService で例外発生ErrorHandler::handle_error() の HTMLErrorHandler の実装による
DailyLink なし($daily_link_dto_list 空)機種日付側をベースに表示-
機種名が空文字(entity->get_kishu()''counts_map に計上しない(スキップ)-
機種に対応する DailyData が存在しないcounts が 0 表示-

今後の更新で崩してはいけないところ(互換性契約)

公開契約(Breaking change 扱い)

  • ショートコード名 CustomCode_CreateKishuIndex を変更しない
    • 理由: 過去の投稿本文にショートコード文字列が直書きされているため

内部実装(本ショートコードのコード・Twig・設計書の範囲)

  • Twig 変数名dates / hall_columns、および titles 配下の構造)、counts のキー文字列は、実装の都度 HallEnumHallEnum::get_kishu_index_display_halls()value)とテンプレートを整合させる。Twig 内で enum は参照できないため、列定義は HallEnum::get_kishu_index_table_columns() から渡し、キー名の単体テストで HallEnum 変更を検知する。
  • 表示対象ホールは現状 3 ホール固定(ISLAND / ESPASU / BIGAPPLE)。ホール追加・変更時は HallEnum、サービス、Twig、テストを合わせて更新する。