Appearance
PUB-1 日別記事(シングル)
ワイヤーフレーム
要点
- 何の画面か: 投稿タイプ
daily_articleの公開シングル。Cocoon のテーマ枠(記事上端/下端)は PUB-000 公開画面共通(Cocoon テーマ枠)。その間が本書の対象(テンプレート出力・meta・ショートコード)。Twig 等のビュー層の扱いは 各層と責務 の「ビュー層と Twig(補足)」を参照。 - データの入口:
DailyArticleTemplateContent.phpが meta を読み、不足時は編集者向け案内だけ出して 以降のブロックは出さない(P-0)。 - ショートコード:
DailyArticleTemplateFrontendRenderer経由で生成済み HTML にdo_shortcode()。詳細は ショートコード早見表 と各 SC-*。 - 重い処理: 結果ブロック(P-14)は API-001 日別記事 REST と連携する部分あり。
- HTML 断片キャッシュ: 公開済み投稿かつ非プレビュー時(ログイン状態は問わない。Issue #3886)、Twig+ショートコード展開後 HTML を Transient(
daily_article_html_v2_)に載せる。鮮度はデータ更新時の明示クリアが正で、TTL 12 時間は安全網。[random_adsense_ad]は未展開のまま保存しヒット時のみ展開する。断片は全ユーザーで共有するため、ユーザーや権限で出し分ける内容を焼き込まない。 - 遅延ブロック HTML キャッシュ: 対象プレースホルダ(関連日・MoveDayHall・MailImage 2 ホール目〜・ランキング・末尾・kishu_count_delta・kishudata・ヒートマップ簡易)の完成 HTML を Transient(
daily_article_block_html_v1_)に載せる。ページ GET 時に stitch してスピナーを出さない。ヒートマップ簡易はpc/spキーを分離し、当面 stitch / warm は PC キーのみ(SP 表示は #2828 のまま非表示)。埋め用にPOST /async-warm-block-htmlを L2 warm と並列起動する(UI REST ゲートには使わない)。
概要
- 対象: 投稿タイプ
daily_articleの公開シングル。テンプレート割当は「日別記事テンプレート」。ラッパーは定数DAILY_ARTICLE_TEMPLATE_PATHの値であるmyCustom/myTemplate/single-daily-article-template.php(Cocoon 子テーマのルート=get_stylesheet_directory()からの相対パス。リポジトリではmyTemplate/配下で管理)。テンプレート本体はDAILY_ARTICLE_TEMPLATE_BODY_PATHのビルド済み core 内 PHP を読み込む。_wp_page_templateに旧いmyTemplate/single-daily-article-template.phpが残る場合はdocs/posttypes/DailyArticlePostType/README.mdを参照。 - URL:
register_post_typeのrewrite.slugにより/daily-article/…形式(core_src/PostType/DailyArticlePostType.php)。 - 本文の生成:
DailyArticleTemplateContent.phpが post meta(kousatsu_date、halls、各ホールの*_pre/*_after)を読み、DailyArticleTemplateFrontendRendererが断片キャッシュの可否(プレビュー時は不可)を判定したうえで Twig 生成とdo_shortcode()を行う。ビュー層の扱いは 各層と責務 の「ビュー層と Twig(補足)」を参照。 - REST(非同期ランキング等): API-001 日別記事 REST。
キャッシュ優先順位と無効化
優先順位(ヒット時は下位層のテンプレ組み立てをスキップ):
- HTML 断片(
daily_article_html_v2_{Y-m-d}_{gen}_{sorted_halls})— ヒット後に遅延ブロック HTML を stitch - 遅延ブロック完成 HTML(
daily_article_block_html_v1_{Y-m-d}_{gen}_{type}_{hall}。REST / warm-block-html / ページ stitch) - L2 Shared Transient(
daily_article_template_{Y-m-d}_{gen}_{sorted_halls}。warm / UI REST 用 DTO) - 考察
the_contentTransient(ミス経路) - 日付→投稿ID Transient(パーマリンク。HTML 断片とは独立)
無効化(TTL 任せにしない):
| トリガー | 経路 |
|---|---|
| 日別記事 save / delete | CacheHooks → 対象日+前後1日の clear_cache_by_date(HTML 断片・ブロック HTML の前日・翌日ナビ焼き込み対策。ホール組合せの孤児キーも日付単位で回収) |
| 日付指定クリア(管理) | DailyArticleCache → clear_cache_by_date(断片 + ブロック) |
| link_day / db2023 import | DailyArticleTemplateHashTransientInvalidator(±1 日・前年同日。断片 + ブロック) |
| 有料記事(月間まっく CTA) | DailyArticleRenderedHtmlCacheHooks → 公開時(未公開 → publish)だけ対象月の断片を clear_by_year_month(対象月なしは断片 clear_all)。公開済み記事の対象月変更時は新しい月の断片を消す。更新保存・削除・非公開化では消さない。ブロックは消さない |
| Twitter 要約セット変更 | slot_kouryaku_twitter_summary_saved_tweets_mutated → 記事日(target + 1 日)の断片・ブロック削除 |
| P-WORLD メール変更 | slot_kouryaku_pworld_mail_article_display_mutated(PworldMailArchiveRepository の紐付け更新・一括更新・削除・本文更新)→ 変更前後に表示対象だった記事日(article_target_date)の断片・ブロック削除。表示対象外 → 表示対象外の変更では消さない。ほかに取り込みの最後・管理画面の保存(0 行更新でも)・代表フレーム再取得でも表示中の記事日を消す。日別ホールサムネの差し替え(キャプチャ保存)ではサムネの日の前日・翌日を消す(Issue #4051) |
| 機種表示マッピング更新 | KishuDisplayMappingAdminService → 断片 + ブロックの clear_all(表示名がランキング等に入るため) |
| ヒートマップ島図保存 | HeatmapLayoutAdminService → ADM-012 の新規・更新・複製・期間変更・削除で DB が変わったときに全体世代を上げる(断片・ブロック・L2。Issue #4075) |
| デプロイ | DailyArticleFrontendCacheDeployHooks(init)→ VERSION が option daily_article_fe_cache_deploy_version と異なれば全体世代を上げる(断片・ブロック・L2。タイムスタンプ VERSION のみ) |
| ADM-033 | 種別 daily_article_rendered_html / daily_article_block_html |
外部オブジェクトキャッシュ(Docket Cache 等)では transient が wp_options に入らず、プレフィックス列挙による削除が効かない(Issue #3859)。そのため無効化は次の 2 本立てとする。
- 決定的削除: 日付単位のクリアでは、全ホール組み合わせの断片・L2 キーと、extra が有限なブロックキー(ヒートマップ簡易
pc/sp、kishu_count_deltaのperiod_start= 記事日 − 6 日)を組み立ててdelete_transientする。ホール指定のクリアでも、記事が使う全ホール結合キーを消す。 - 世代トークン
{gen}:g{全体}.{月}.{日}の形でキーに含める。kishudata(機種 ID 列)のように列挙できない extra は、ブロックの日付クリアで日の世代を上げて無効化する。clear_allは全体、断片のclear_by_year_monthは月の世代を上げる。世代は option(daily_article_fe_cache_gen_all/daily_article_fe_cache_gen_m_{Y-m}/daily_article_fe_cache_gen_d_{Y-m-d}、autoload なし)に置く。日ごとに別 option にするのは、同月の別日を同時にバンプしても互いの世代を巻き戻さないため。管理画面(ADM-033)の日別記事系キャッシュ個別クリアも全体世代を上げる。ただし「日別記事考察 HTML」のクリアは考察欄専用の世代(daily_article_fe_cache_gen_tc)だけを上げる。考察欄 the_content Transient の hash にはg{全体}.{月}.{日}.c{考察欄}を使う(Issue #3926)。- 世代は
get_option/update_optionを通さずwp_optionsを直接読み書きする(Issue #4051)。WP-CLI の cron など公開側と同じ永続 object cache を見ないプロセスが世代を上げても、公開側が object cache に残った古い世代を読み続けないようにするため。上げるときはINSERT ... ON DUPLICATE KEY UPDATEで 1 加算し(同時に上げても加算が失われない)、自プロセスのoptionsキャッシュとnotoptionsを消す。 - 負荷の目安: 日付ありの読み取りは全体・年月・日・考察欄の 4 つを
option_name IN (...)の SELECT 1 回で読み、同じプロセスでは 5 秒だけ覚える。日別記事 1 リクエスト(ページ・非同期 REST とも)あたり SELECT 1 回(option_nameの UNIQUE インデックス検索)。1 ページで非同期 REST が 20〜50 本飛ぶので、ページ 1 回の表示で数十回増える。
- 世代は
P-WORLD メール欄の空表示(mail-image--empty)は、まだメールが届き得る日(サイトのタイムゾーンで記事日が今日・明日)に限り、ページ断片に焼き込まずプレースホルダのまま残し、ブロック・断片とも TTL 5 分(DailyArticleBlockHtmlTypes::EMPTY_MAIL_IMAGE_TTL_SECONDS)で置く(Issue #4051)。18 時以降に受信したメールは翌日、それより前は当日の記事に付き、取り込みは 21:00〜22:30 なので、記事日 D に自動で届くのは D-1 の 18 時から D の終わりまで。それより前の日は従来どおり焼き込んで通常の TTL で置く(プレースホルダが残ると毎閲覧で warm が飛ぶため。#3938)。
プレフィックス列挙による削除は、options に transient が入る環境向けの補助として残す。
db_Link_month にはアプリ側の書き込み経路が無いため、月リンク HTML の即時無効化は ADM-033 の link_month クリアと HTML 断片クリアを併用する。
計測(受け入れ確認): 同一 URL を 2 連打(ログイン中でも同じ)し、2 回目で Twig+ショートコード相当がスキップされること。ローカルは SC-011 または Query Monitor でクエリ数・PHP 時間を比較。WP_DEBUG 時のみ HTML コメント daily-article-html-cache: HIT|MISS を付与する。
レンダリングの流れ(本書の範囲)
メインコンテンツの外側(P-T1 → 本文 → P-T2)は PUB-000。
用語・定数(抜粋)
| 用語 | 説明 |
|---|---|
DAILY_ARTICLE_TEMPLATE_PATH | 子テーマ上のラッパー PHP の相対パス(single-daily-article-template.php)。 |
DAILY_ARTICLE_TEMPLATE_BODY_PATH | ビルド済みテンプレート本体を指すパス。 |
kousatsu_date | 考察日。未設定時は P-0 でガード。 |
halls | 対象ホール。未設定時は P-0 でガード。 |
*_pre / *_after | ホール別の前半・後半考察用 post meta(P-9 / P-13)。 |
show_kishu_count_delta | 廃止済み。以前は台数変化表示の ON/OFF 用 post meta。 |
LinkDayData | 前日・翌日ナビ用データ(P-2)。 |
_wp_page_template | ページテンプレートの割当。旧パスが残る場合の扱いは docs/posttypes/DailyArticlePostType/README.md。 |
画面仕様
ブロック一覧
記事共通(ヘッダ〜月別・広告)
| 表示する項目 | データの出所と表示の要点 | 処理番号 |
|---|---|---|
| 考察日・ホール未設定時の案内 | kousatsu_date または halls が空のとき、ログインかつ編集権限があるユーザーにのみ表示。以降のブロックは出さない | P-0 |
| 記事タイトル(考察日の年月日表記) | 考察日を年月日表記に整形した見出しとして表示(DailyArticleTemplateExecutionService) | P-1 |
| 前日・翌日の日別記事へのナビ | DailyArticleTemplateDataService が組み立てた LinkDayData。前後日 URL の有無でリンクまたは非活性表示 | P-2 |
| 月別リンク(年指定のカレンダー) | 考察日から導いた year を [MonthlyLinkByYear] に渡して表示(SC-013) | P-3 |
| 誕生日機種ピックアップ | 考察日・対象ホールを [BirthDayMachinePickUp] に渡して表示(SC-014) | P-4 |
| ランダム広告 | [random_adsense_ad provider="a8"] の結果を表示(SC-003)。月別リンク直後・MoveDayHall 直後は常時、前半考察直後・ホール末尾は該当考察がある場合のみ配置 | P-5 |
ホール単位(ループ内)
| 表示する項目 | データの出所と表示の要点 | 処理番号 |
|---|---|---|
| ホール別ブロックの見出し | 対象ホールごとにホール名の見出しを表示(ホール一覧・表示名はコントローラ/データ側で組み立て) | P-6 |
| メール/キャプチャ画像ブロック | ホール・考察日を [MailImage] に渡して表示(SC-007) | P-7 |
| ホール内の前日・翌日(ホール文脈) | 当該考察日の前後日とホール名を [MoveDayHall] に渡して表示(SC-008) | P-8 |
| 前半考察「( ..)φメモメモ 示唆画像について…」 | 各ホールの *_pre meta を the_content 相当のフィルタで HTML 化したものを表示。未設定時は枠と「(まだだよ〜)」 | P-9 |
| 最近の台入れ替え | 考察日を period_end、考察日 − 6 日を period_start として プレースホルダー + REST(GET /async-kishu-count-delta-list)で非同期表示(SC-015)。初回 HTML では DB を叩かない。見出し「最近の台入れ替え」。テーブル列は日付・機種名・前日比。0 件時は SC-015 の空状態メッセージ。配置は前半考察(P-9)の後、〇〇の日(P-10)の前 | P-16 |
| 「〇〇の日」リスト(エスパス秋葉原のみ・条件付き) | ホールがエスパス秋葉原かつ espasu_what_day_texts があるときのみ、マスタ等由来の文言をリスト表示 | P-10 |
| 関連日・カレンダー等 | 考察日・ホールを [CustomCode_CreateDailyArticleRelationalDay] に渡して表示(SC-004) | P-12 |
| 最近の導入台 | 考察日・ホールを [recent_new_machine_list] に渡して表示(SC-018)。P-16 と同じ 7 日間で前日比が + の機種を一覧(機種ごとに最新日付 1 行)。見出し「最近導入、増台した台の状況は?」。0 件時はセクション非表示。配置は関連日(P-12)の直後 | P-17 |
| 後半考察「( ..)φメモメモ 結果について…」 | 各ホールの *_after meta を P-9 と同様の経路で HTML 化して表示 | P-13 |
| 日別記事結果(ランキング・末尾・ヒートマップ等の枠) | [CustomCode_CreateDailyArticleResult] の結果を表示(SC-001)。重い部分は API-001 の GET と連携 | P-14 |
| 機種データ(条件付き) | [kishudata] に日・ホール・機種名を渡して表示(SC-009)。コントローラが kishu を渡す場合のみ(通常のシングルでは多くは未表示) | P-15 |
記事末尾(ホールループ外)
| 表示する項目 | データの出所と表示の要点 | 処理番号 |
|---|---|---|
| codoc 投げゼニ(サポート) | CodocSupportWidgetService が WP option(codoc_support_entrycode / codoc_settings)から DTO を組み立て、ホール {% endfor %} の直後・.daily-article-template 閉じタグ直前にマウント用 div.codoc-entries(data-without-body="1")を 1 箇所出力。entry code 未設定時は非表示。プラグインの the_content 自動挿入やカテゴリ条件には依存しない | P-18 |
処理連携仕様
アクション一覧
A-1 初期表示時に日別記事本文を生成する
DailyArticleTemplateContent.php が post meta を読み、必須値が揃う場合のみ DailyArticleTemplateController::execute の結果に do_shortcode() を適用して表示する。必須値不足時は P-0 の案内のみ表示し、以降の処理は行わない。
リクエスト
| requestParam | 本画面の値(どの部品から何を送るか) |
|---|---|
| post_id | WordPress の現在表示中投稿 ID(シングル表示コンテキストから取得) |
| post_meta | kousatsu_date、halls、*_pre、*_after(投稿メタから取得) |
レスポンス
| 項目 | 内容 |
|---|---|
| 成功時 | P-1〜P-18 の表示データを含む HTML 文字列を返す |
| 失敗時 | 必須値不足時は編集権限ユーザー向け案内(P-0)のみ表示 |
| 画面更新時の処理 | サーバーサイドレンダリングのため、リロード時に同処理を再実行する |
A-2 日別記事結果ブロックで API-001 を参照する
P-14([CustomCode_CreateDailyArticleResult])の重い処理は API-001 日別記事 REST を利用する。画面構成・取得/整形/表示の責務分離の正は SC-001 日別記事結果ショートコード(ワイヤーフレーム・ブロック一覧)を参照する(ショートコード名・属性は同書「外部インターフェース」)。
リクエスト
| requestParam | 本画面の値(どの部品から何を送るか) |
|---|---|
| hall | ホールループ内のホール名(P-14 のショートコード属性) |
| date | kousatsu_date 由来の日付(P-14 のショートコード属性) |
レスポンス
| 項目 | 内容 |
|---|---|
| 成功時 | ランキング・末尾・ヒートマップ等、P-14 表示に必要なデータを返す |
| 失敗時 | SC-001 側のフォールバック表示仕様に従う |
| 画面更新時の処理 | 対象ブロックのみ再描画(詳細は SC-001) |
ショートコード早見表
| タグ | 主な属性 | 設計書 | 処理番号 |
|---|---|---|---|
MonthlyLinkByYear | year | SC-013 | P-3 |
BirthDayMachinePickUp | year month day halls | SC-014 | P-4 |
random_adsense_ad | provider(日別記事では a8) | SC-003 | P-5 |
MailImage | hall date | SC-007 | P-7 |
MoveDayHall | preday nextday name | SC-008 | P-8 |
CustomCode_CreateDailyArticleRelationalDay | date hall | SC-004 | P-12 |
kishu_count_delta_list | period_start period_end hall | SC-015 | P-16 |
recent_new_machine_list | consideration_date hall heading_id | SC-018 | P-17 |
CustomCode_CreateDailyArticleResult | hall date | SC-001(ワイヤーフレーム含む) | P-14 |
kishudata | day hall kishu | SC-009 | P-15 |
処理番号 → 主な実装の目安
| 処理番号 | 主な実装の目安 |
|---|---|
| P-0 | DailyArticleTemplateContent.php(先頭ガード) |
| P-1 | DailyArticleTemplateExecutionService(タイトル整形) |
| P-2 | DailyArticleTemplateDataService(LinkDayData) |
| P-3〜P-17 | テンプレートが出力する HTML 内のショートコード → do_shortcode、およびメタ/リポジトリ由来の表示(P-9、P-13、P-16) |
| P-18 | CodocSupportWidgetService → template_data codoc_support → Twig(ホールループ外・記事末尾) |
外部インターフェース
画面 URL
| 項目 | 値 |
|---|---|
| URL | /daily-article/{post-name}(register_post_type の rewrite.slug に準拠) |
| 種別 | 公開画面 |
| 権限 | なし(公開投稿は誰でも閲覧可) |
関連インターフェース
| 種別 | 名称 | 用途 |
|---|---|---|
| REST API | API-001 日別記事 REST | P-14 の結果表示(非同期) |
| 画面 | SC-001 日別記事結果ショートコード(ワイヤーフレーム節) | P-14 の枠(取得/整形/表示) |
| Shortcode | SC-001 ほか本書「ショートコード早見表」記載分 | 各ブロック描画(引数) |
| Theme Frame | PUB-000 公開画面共通(Cocoon テーマ枠) | 記事上端/下端共通枠 |
関連ドキュメント
| 文書 | 内容 |
|---|---|
| 各層と責務(「ビュー層と Twig(補足)」節) | テンプレートエンジンと画面設計書の分担 |
| PUB-000 公開画面共通(Cocoon テーマ枠) | 記事上端/下端(P-T1・P-T2)の共通枠 |
| API-001 日別記事 REST | 非同期・REST パス(P-14 関連) |
docs/posttypes/DailyArticlePostType/README.md | 旧テンプレートパス・投稿タイプまわり |
| 各 SC-*(上表リンク) | ショートコード個別仕様 |
処理詳細
P-0
- 実装:
core_src/Template/daily_article_template/components/DailyArticleTemplateContent.php先頭。kousatsu_dateまたはhallsが空のとき、編集権限ユーザーにのみ「考察日時」「ホール選択」の設定を促すメッセージを出力し、以降のコントローラー処理は行わない。
P-1
- 実装:
DailyArticleTemplateExecutionServiceがpost_title用に考察日をyyyy年n月j日形式へ整形し、記事タイトル領域に見出しとして出力する。
P-2
- 実装:
DailyArticleTemplateDataServiceがキャッシュ済みデータからLinkDayDataを組み立て、前日・翌日ナビ領域で URL の有無に応じてリンクまたは非活性テキストを表示する。
P-3
- ショートコード:
[MonthlyLinkByYear year=…](SC-013)。 - 備考: 考察日から導いた
yearを属性に渡す。
P-4
- ショートコード:
[BirthDayMachinePickUp year=… month=… day=… halls="…"](SC-014)。 - 備考:
hallsは日別記事対象ホールの英字スラッグをカンマ区切りで渡す(make_artist_halls_csv)。
P-5
- ショートコード:
[random_adsense_ad provider="a8"](SC-003)。 - 備考: 月別リンク直後・MoveDayHall 直後は常時配置。前半考察直後・ホール末尾は、それぞれ
consideration_pre/consideration_afterがあるときのみ配置(daily_article_template.twig)。同一リクエスト内の A8 / AdSense 重複防止は adsense-optimization.md を参照。
P-6
- 実装: 対象ホールのループ内で、ホール表示名に基づく見出しを出力する。
P-7
- ショートコード:
[MailImage hall="…" date="YYYYMMDD"](SC-007)。 - 表示: P-WORLD メール HTML は静止画既定。GIF がある枠のみ「GIFで表示」で切替(無い場合はボタン非活性)。
P-8
- ショートコード:
[MoveDayHall preday="…" nextday="…" name="…"](SC-008)。 - 備考:
preday/nextdayは当該考察日の前後日のYYYYMMDD。
P-9
- 実装: 各ホールの
*_prepost meta をapply_filters( 'the_content', … )経由でレンダリングした結果をconsideration_pre[hall_name]に格納し表示する。データが無い場合も枠と「(まだだよ〜)」を表示する。
P-10
- 実装: ホール名が「エスパス秋葉原」かつ
espasu_what_day_textsが非空のときのみ、「〇〇の日」相当のブロックを表示する。文言はespasu_what_day_manualの JSON 配列文字列を正本として取得する。
P-12
- ショートコード:
[CustomCode_CreateDailyArticleRelationalDay date="Y-m-d" hall="…"](SC-004)。
P-13
- 実装: P-9 と同様に、各ホールの
*_afterを後半見出し「結果について…」の下に表示する。
P-14
- ショートコード:
[CustomCode_CreateDailyArticleResult hall="…" date="Y-m-d"](SC-001)。 - 備考: 非同期表示・枠の状態差・層の責務は SC-001 日別記事結果ショートコード。REST ルート表は API一覧(API-001 節)(
API-001-*)。
P-15
- ショートコード:
[kishudata day="…" hall="…" kishu_id="…"](SC-009)。 - 備考: コントローラが
kishuを属性に含める場合のみ表示する。通常のシングルではDailyArticleTemplateContent.phpがkishuを含めないため 多くの場合は未表示。別経路でkishuを渡したコントローラー実行時のみ有効。
P-16
- 表示方式: 日別記事テンプレートでは同期ショートコードではなく、
.kishu-count-delta-list-placeholder+GET daily-article/v1/async-kishu-count-delta-list(Issue #2340)。HTML 断片の生成は SC-015 と同じKishuCountDeltaListController。 - ショートコード(standalone):
[kishu_count_delta_list period_start="…" period_end="…" hall="…"](SC-015)は他画面・手置きでは同期のまま。 - 備考: 各ホールブロック内で常時出力する(
show_kishu_count_deltapost meta による ON/OFF は廃止)。period_endは考察日(date_y_m_d)、period_startは考察日 − 6 日(直近 7 日間)。セクション見出しは「最近の台入れ替え」。SC-015 のテーブル出力(日付・機種名・前日比)をそのまま利用する。0 件時はKishuCountDeltaListMessages::NO_DATA。配置は前半考察(P-9)の後、〇〇の日(P-10)の前(daily_article_template.twig)。
P-17
- ショートコード:
[recent_new_machine_list consideration_date="…" hall="…" heading_id="recent-new-machine-list-heading-{n}"](SC-018)。 - 備考: P-16 と同じ 7 日間(
DailyArticleKishuCountDeltaPeriod::LOOKBACK_DAYS_BEFORE_CONSIDERATION_DATE)の台数前日比から + のみを、機種単位で最新period_key1 行に集約して一覧表示。増台日〜考察日の累計・平均差枚を各行に表示。見出しは「最近導入、増台した台の状況は?」。heading_idはホールループのloop.indexでユニーク化(P-16 と同パターン)。0 件時はセクション非表示。配置は関連日(P-12)の直後(daily_article_template.twig)。期間分析リンクは PUB-005 へ遷移(+ 検出日〜考察日を事前指定)。
P-18
- 実装:
CodocSupportWidgetServiceがcodoc_support_entrycode/codoc_settingsを読み、DailyArticleTemplateExecutionServiceが template_datacodoc_supportに DTO を載せる。daily_article_template.twigでホールループ終了直後にdiv.codoc-entries(data-without-body="1")を 1 箇所出力する。 - 備考: codoc プラグインのカテゴリ連動自動挿入(
the_content)は使わない。フロントのcms.js読込はプラグイン側 enqueue に委ねる。entry code 未設定時は非表示。
変更履歴(設計書)
「コード側の対応」には 対応内容のいずれかを記載する(該当が無いときは —)。
| 日付(JST) | 変更内容 | コード側の対応 |
|---|---|---|
| 2026-08-11 | P-16 をプレースホルダー + REST(async-kishu-count-delta-list)へ変更。初回 HTML では台数変化 DB を叩かない | Issue #2340 |
| 2026-08-02 | P-18「codoc 投げゼニ(サポート)」を記事末尾(ホールループ外)に追加。option 由来のマウント div を明示出力 | |
| 2026-06-30 | P-17 の表示条件を P-16 と同じ 7 日間の台数前日比 + のみに変更(機種ごと最新日付 1 行) | |
| 2026-06-30 | P-17「最近導入、増台した台の状況は?」を追加。SC-018 を考察日から遡って 60 日以内の導入機種一覧として定義 | |
| 2026-06-05 | P-16 の配置を P-9 の後・P-10 の前へ変更。P-11 絵文字ブロックを設計から削除 | — |
| 2026-06-05 | P-16「最近の台入れ替え」を追加。SC-015 を直近 7 日間で常時表示。show_kishu_count_delta post meta・編集画面チェックボックスは廃止 | |
| 2026-04-26 | P-14 および A-2 の参照先に日別記事結果ブロック設計を追加(SC-001(IF/ワイヤー)と PUB-003 系(挙動詳細)へ再整理) | |
| 2026-04-26 | 共通フォーマット(概要/ワイヤーフレーム/画面仕様/処理連携仕様/外部インターフェース)に合わせて再編し、テンプレート管理パス説明を修正 | — |
| 2026-04-22 | 初版作成(要点・用語・レンダリング図・表の分割と種別列・ショートコード早見・処理番号インデックス・関連ドキュメント) | — |
| 2026-04-22 | テーマ枠(P-T1/T2)を PUB-000 に切り出し、本書は P-0〜P-15 に集約 | — |
| 2026-04-22 | Twig 等の実装詳細をアーキテクチャ側へ移し、表示項目はデータの出所ベースに整理 | — |