Appearance
SC-009 機種データショートコード
概要
- 指定ホール・日付・機種の台別データをページ内に埋め込み表示する。
day(日付)・hall(ホール名)・kishu(機種名)を属性で受け取り、KishuDataConverterでバリデーション・DTO 変換後、KishuDataController→KishuDataService経由でデータを取得、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 済) | ValidationException(ShortCodeHelper 経由でログ出力) |
kishu 未指定または空 | バリデーションエラーメッセージ表示(esc 済) | ValidationException(機種名(kishu)は必須です。) |
サービス・コントローラーの Throwable | エラーが発生しました:execute_if_not_admin | error_log(先頭 [ShortCodeHelper]) |
更新不可とみなすもの(git管理外の内容に依存し、リポジトリだけでは追従できない依存)
- ショートコード名
kishudataを変更しない- 理由: 既存投稿本文にショートコードタグが直書きされているため
- 属性名
day/hall/kishuを変更しない- 理由: 既存投稿本文に属性名が直書きされているため
- 区切り文字
'_'(KishuConstants::KISHU_DELIMITER)を変更しない- 理由: 既存投稿本文の
kishu属性値に直書きされているため
- 理由: 既存投稿本文の