a-blog cmsの拡張アプリを開発している中で、ある環境だけ管理画面が真っ白になる問題がありました。
状況としては、次のような状態です。
- ローカル環境では問題なく動いている
- 別のサイトでも動いている
- フロント側の動作に問題はなし
それなのに、特定のサイトだけ拡張アプリの管理画面を開くと真っ白になる。
最初は、PHPのバージョン差、autoload、キャッシュ、FTPのアップロード漏れなど、いろいろな可能性を疑っていました。
ただ、フロント側の機能は動いていたため、拡張アプリ全体が壊れているわけではなさそうでした。
真っ白な管理画面
発見のきっかけはDiscordフォーラム
手がかりになったのは、a-blog cmsのDiscordフォーラムの書き込みでした。
管理画面が真っ白になるケースについて、AIにフォーラムの内容を調べてもらったところ、似たような事例の中で、管理画面用テンプレートの読み込みに関する話がありました。
そこで初めて、PHPの処理そのものではなく、管理画面で実際に読み込まれているテンプレートファイルを確認してみることにしました。
フォーラムのイメージ
拡張アプリの管理画面テンプレートは system 側にコピーされる
今回、特に大事だったのはここです。
a-blog cmsの拡張アプリをインストールすると、管理画面用のテンプレートファイルが system 側にコピーされるようです。
今回確認したファイルは、次の場所にありました。
themes/system/admin/app/df-like.html
themes/system 配下には、管理画面などシステム側で使われるテンプレートも含まれます。
つまり、今回の themes/system/admin/app/df-like.html は、サイトの表側のテンプレートではなく、拡張アプリの管理画面を表示するためのテンプレートでした。
フロント側が動いていても、この管理画面用テンプレートに問題があれば、管理画面だけが表示されないことになります。
今回の該当箇所
system 側にファイルがコピーされる理由
でも、なぜコピーをする必要があるのでしょう。
拡張アプリ側には、管理画面用のテンプレートファイルが含まれています。
ただし、a-blog cmsの管理画面として表示するためには、そのテンプレートが管理画面側のテーマ領域から読み込める状態になっている必要があります。
そのため、拡張アプリをインストールすると、アプリ内にある管理画面用テンプレートが themes/system/admin/app/ 配下にコピーされる、という仕組みになっているようです。
つまり、拡張アプリ本体のファイルだけを見ていても、実際に管理画面で読まれているテンプレートの状態は確認できません。
管理画面で表示されているのは、拡張アプリ内の元ファイルそのものではなく、themes/system/admin/app/ にコピーされたテンプレートです。
原因はコピーされたテンプレートが0バイトだったこと
本番環境から themes/system/admin/app/df-like.html を取得して確認したところ、このファイルが0バイトの空ファイルになっていました。
つまり、管理画面で表示するためのテンプレート自体が空だったのです。
PHPの処理が止まっていたわけでも、拡張アプリ全体が壊れていたわけでもありません。
管理画面が読み込むはずのHTMLテンプレートに、中身がなかったということでした。
フロントが動くからこそ気づきにくい
今回ややこしかったのは、フロント側の機能は動いていたことです。
でも、管理画面だけ白い
この状態だと、つい「管理画面側のPHP処理が壊れているのでは」「環境差では」「キャッシュでは」と考えてしまいます。
ただ、実際には管理画面用テンプレートだけが別の場所にコピーされていて、そのコピーされたファイルが空になっていました。
これは、拡張アプリにおける管理画面の仕組みを理解していないと、なかなか原因にたどり着けません。
Discordフォーラムの過去の書き込みをAIに調べてもらったことで、この確認ポイントに気づくことができました。
投稿がお役に立ちましたら、いいねをしていただけると嬉しいです。
お困りごとをお聞かせください。
a-blog cmsについてのご相談、ご依頼など。
頂いた内容については、3営業日以内の返信を心がけております。
他社作成のa-blog cms修正、コーディング済htmlへのa-blog cms導入もOK。
小さなことから、お気になさらずお気軽にご相談ください。
投稿がお役に立ちましたら、いいねをしていただけると嬉しいです。
その他のa-blog cms一覧
-
技術
Macのリマインダーは、メールアプリと連動できる
Macのメールアプリから「メールを後で見る」というリマインダーを設定することができます。ですが、「該当メールへの関連付けを含んだリマインダーを登録する」ことは、Macのメールアプリではできません。ですが...
続きを読む
-
技術
ASAHIネットの固定IPをRTX830で使う設定手順【フレッツ光クロス・XG-100NE配下】
以下ChatGPTとやり取りした履歴を、最終的に記事にまとめてもらったものです。 今回は手直ししない方がわかりやすい為、チェックだけ行い公開いたしました。 ASAHIネットにもYahamaのサイトにも「最終的にこうし...
続きを読む
-
技術
ごじゅのを楽しむコツ
「ごじゅの」という不思議な名前のにほんごパズルゲームを作成しました。https://gojuno.jp/ja/開発者の私が考える、ごじゅのを楽しむコツ、高得点に繋がるコツをいくつか紹介させてください。得点のコツ属性を足...
続きを読む
-
FileMaker
FileMaker の自習室にて「Claris Connect 経由で Zoom のミーティングを作成する(Claris FileMaker - 10分でスキルアップ)」が公開されました
動画内のサンプルがダウンロードできます。 ダウンロードはこちらから この動画のこぼれ話zoom予約自体は、管理画面から簡単に作ることができます。なので最初は「そこまで必要かな」って思ってたんですよね。で...
続きを読む
-
技術
ごじゅのを作るにあたって気をつけたこと
ごじゅのをオープンベータでリリースして。少しずつ参加者が増える形で楽しんでもらっています。五十音で遊ぶ連想ゲームhttps://gojuno.jp/ja/毎日通ってくださる方、思い立ったときに遊んでくださる方。一度みて...
続きを読む
-
FileMaker
FileMaker の自習室にて「Claris Connect 経由で Google Translate の翻訳を利用し、レイアウト上のラベルを切り替える(Claris FileMaker - 10分でスキルアップ)」が公開されました
動画内のサンプルがダウンロードできます。 ダウンロードはこちらから この動画のこぼれ話Google翻訳自体は、海外のサイト巡回などで毎日使っています。ですが、実際にFileMakerをからめて使うことがあるかという...
続きを読む