Skip to content

SC-009 機種データショートコード

概要

  • 指定ホール・日付・機種の台別データをページ内に埋め込み表示する。
  • day(日付)・hall(ホール名)・kishu(機種名)を属性で受け取り、KishuDataConverter でバリデーション・DTO 変換後、KishuDataControllerKishuDataService 経由でデータを取得、View で HTML にレンダリングする。
  • 複数機種を指定する場合は区切り文字 '_'KishuConstants::KISHU_DELIMITER)で連結して渡す。

外部インターフェース

ショートコードタグ

  • タグ名: [kishudata]
  • 入力例(単機種): [kishudata day="20240101" hall="アイランド秋葉原" kishu="犬夜叉"]
  • 入力例(複数機種): [kishudata day="20240101" hall="アイランド秋葉原" kishu="犬夜叉'_'まどか叛逆"]

属性一覧

属性役割必須
day対象日付(YYYY-MM-DD / YYYY/MM/DD / YYYYMMDD 形式、2020年〜当年)
hall対象ホール名(HallEnum 対応)
kishu対象機種名(複数指定時は '_' で連結。例: "犬夜叉'_'まどか叛逆"

エラー

条件ユーザー向け挙動メッセージ / ログ
day 未指定または空バリデーションエラーメッセージ表示(esc 済)ValidationException日付(day)は必須です。
day が不正な日付形式バリデーションエラーメッセージ表示(esc 済)ValidationException(形式・範囲不正メッセージ)
hall 未指定または不正値バリデーションエラーメッセージ表示(esc 済)ValidationExceptionShortCodeHelper 経由でログ出力)
kishu 未指定または空バリデーションエラーメッセージ表示(esc 済)ValidationException機種名(kishu)は必須です。
サービス・コントローラーの Throwableエラーが発生しました:execute_if_not_adminerror_log(先頭 [ShortCodeHelper]

更新不可とみなすもの(git管理外の内容に依存し、リポジトリだけでは追従できない依存)

  • ショートコード名 kishudata を変更しない
    • 理由: 既存投稿本文にショートコードタグが直書きされているため
  • 属性名 day / hall / kishu を変更しない
    • 理由: 既存投稿本文に属性名が直書きされているため
  • 区切り文字 '_'KishuConstants::KISHU_DELIMITER)を変更しない
    • 理由: 既存投稿本文の kishu 属性値に直書きされているため