Skip to content

SC-008 ホール移動日ショートコード

概要

  • 指定ホールの前日・翌日記事へのナビゲーションリンクを生成し表示する。
  • preday(前日日付)・nextday(翌日日付)・name(ホール名)を属性で受け取り、MoveDayHallConverter でバリデーション・DTO 変換後、MoveDayHallControllerMoveDayHallService 経由でリンク HTML を返す。

外部インターフェース

ショートコードタグ

  • タグ名: [MoveDayHall]
  • 入力例: [MoveDayHall preday="20240101" nextday="20240103" name="アイランド秋葉原"]

属性一覧

属性役割必須
preday前日の日付(YYYYMMDD 形式)
nextday翌日の日付(YYYYMMDD 形式)
name対象ホール名(アイランド秋葉原 / エスパス秋葉原 / ビッグアップル秋葉原 / 秋葉原uno)

エラー

条件ユーザー向け挙動メッセージ / ログ
preday / nextday / name のいずれか未指定ErrorHandler の返す文言ValidationExceptionpreday、nextday、nameの全てのパラメータが必要です。
preday または nextday が YYYYMMDD 形式でないErrorHandler の返す文言ValidationException(YYYYMMDD 形式要求メッセージ)
name が対応ホール名でないErrorHandler の返す文言ValidationException無効なホール名です。対応ホール: …
コントローラー・サービスの \ExceptionErrorHandler の返す文言ErrorHandler::handle_error() 経由

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

  • ショートコード名 MoveDayHall を変更しない
    • 理由: 既存投稿本文にショートコードタグが直書きされているため
  • 属性名 preday / nextday / name を変更しない
    • 理由: 既存投稿本文に属性名が直書きされているため
  • 対応ホール名HallEnum の日本語値)を変更しない
    • 理由: name 属性の照合に使用されるため、投稿内の文字列と完全一致していなければならない