Skip to content

管理画面のボタンの、隠れたアイコンを整理する - #878

Merged
yama merged 2 commits into
mainfrom
fix/qm-form-icon-404
Oct 22, 2026
Merged

yama merged 2 commits into
mainfrom
fix/qm-form-icon-404

Conversation

@yama

@yama yama commented Oct 22, 2026 •

Copy link
Copy Markdown
Member

概要

互換の変更: テーマの CSS から .actionButtons a img { display: none; } を外した。外部のアドオンが、管理画面のボタン(.actionButtons の中のリンク)に <img> を入れていると、今後はそのアイコンが表示される(今のテーマには images/icons/ が無いので、media/style/<テーマ>/images/icons/ を指すものは壊れた画像になる)。アドオンの側で <img> を外す。

管理画面のボタンのアイコンは、どのテーマも CSS で隠していて、画面には出ていなかった。古いデザインの名残なので、本体のボタンから <img> を外し、隠すための CSS も外す。

きっかけは #859 の確認中に見つけた、QuickManager の編集画面のボタンの 404。

原因(QuickManager の 404)

assets/plugins/qm/inc/on_doc_form_prerender.php が media/style/<テーマ>/images/icons/save.png・stop.png を指していたが、どのテーマにも images/icons/ が無く、編集画面を開くたびに 2 件の 404 になっていた。画像は CSS で隠されていて、場所を直しても表示はされない。

変更内容

  • 本体のボタンの <img> を外した(ボタンは今までどおり文字で出る。見た目は変わらない)
    • 各画面のテンプレート(48 ファイル、107 か所。DocManager のテンプレートを含む)
    • manager()->ab():<img> を出さない。呼び出し側が渡していた 'icon' も削除(渡されても無視するだけなので、外部のアドオンが渡しても壊れない)
    • リソースの編集画面のボタン(mutate_content/action_buttons.php)、ユーザーの編集画面の保存ボタン
    • QuickManager の編集画面のボタン
  • 使われなくなった変数・プレースホルダーを削除(resources_list.static.php の sprintf の引数、files.dynamic.php の [+image+] など、bkmanager.static.php の $misc_path、style_icons_cancel)
  • 7 テーマの style.css から .actionButtons a img { display: none; } を削除
  • アイコンだけのボタン(ユーザー一覧・ウェブユーザー一覧・リソースの選択の「リセット」「表示切替」)は残した。隠す規則に逆らうための style="display:inline;" は外した

.actionButtons img の位置・透明度の指定は、アイコンだけのボタンが使うので残した。

何が変わるか(リリース記事の候補)

  • 見た目は変わらない(隠れていたアイコンを外しただけ)
  • 外部のアドオンのボタンに <img> があると、表示されるようになる。必要なければアドオンの側で外す

確認手順

Docker の検証環境(php 8.4 / mariadb 11、サンプルサイトあり)で、Playwright を使って確かめた。

確認 main このブランチ
管理画面の 54 画面を開き、.actionButtons のリンクの中の <img> を数える 隠れた <img> が多数 アイコンだけのボタンの分(a=75・a=99・a=84)以外は 0
同じ 54 画面の 404・JS のエラー a=114・a=84 で JS のエラー 同じ 2 件だけ(main と同じ。この PR とは別件)
ユーザー管理などの見た目(スクリーンショット) — main と同じ
QM の編集画面:404(7 テーマ) 2 件 0 件
QM の編集画面:保存・キャンセルが文字で見え、キャンセルでモーダルが閉じる 閉じる 閉じる
検証スキルのスモークテスト — 6/6 PASS
  • php -l(変更した PHP 48 ファイル)

備考

  • 54 画面の走査で、a=114(イベントログ)の Cannot read properties of null (reading 'form') と、a=84(リソースの選択)の Cannot read properties of null (reading 'chkBoxArray') が main でも出る。別件

🤖 Generated with Claude Code

QuickManager が編集画面に出す保存・キャンセルのボタンは、
media/style/<テーマ>/images/icons/save.png・stop.png を指していたが、
どのテーマにも images/icons が無く、毎回 404 になっていた。
どのテーマも .actionButtons a img を display: none で隠しているので、
画像の場所を直すのではなく、<img> を付けないようにする。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-22T05:31:17.089954Z c51dbd8 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

管理画面のボタン(.actionButtons の中のリンク)の <img> は、
どのテーマも .actionButtons a img { display: none; } で隠していて、
画面には出ていなかった。古いデザインの名残なので、まとめて外す。

- 本体のボタンの <img> を外す(各画面、manager()->ab()、
  リソースの編集画面のボタン、ユーザーの編集画面の保存ボタン)
- ab() に渡していた 'icon' と、使われなくなった変数・プレースホルダーを削除
- 7 テーマの .actionButtons a img { display: none; } を削除
- アイコンだけのボタン(リセット・表示切替)は残し、隠す規則に逆らうための
  style="display:inline;" を外す

外部のアドオンのボタンに <img> があると、今後は表示される。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@yama yama changed the title QuickManager の編集画面のボタンで、無いアイコンを読みに行かないようにする 管理画面のボタンの、隠れたアイコンを整理する Oct 22, 2026
@yama
yama merged commit ebd799e into main Oct 22, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant