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一覧
-
AI・DX・業務改善
コピーしたものを、あとから取り戻す。Mac用アプリ「DF-ClipRoll」を公開しました
株式会社データファームでは、Mac用のクリップボード履歴アプリ「DF-ClipRoll」をMac App Storeで公開しました。DF-ClipRollは、コピーしたテキストやURLなどをこのMac内に保存し、必要になったときに検索して再...
続きを読む
-
技術
フレッツ光クロス移行後、固定IPと外部公開でハマった話
先日、事務所のインターネット回線をフレッツ光クロス環境へ移行しました。回線速度そのものは問題なく、インターネット接続も無事に復旧しました。ところが、そのあとにハマったことがありました。それが、固定I...
続きを読む
-
技術
最近Codexで行っていること
今週はちょっと毛色を変えて、最近Codexで行っていることをご紹介したいと思います。使ってます。Codex当社はChatGPTをProプランにして、あわせてCodexを利用しています。 複数のAIを使い分けていないわけではな...
続きを読む
-
a-blog cms
AIで多言語サイト運用を効率化するa-blog cms拡張アプリ「エントリー翻訳」を開発しました
株式会社データファームでは、a-blog cmsの運用をよりスムーズにするため、管理画面での入力や更新作業を支援する拡張アプリの開発を進めています。その一環として今回、AIを活用して翻訳エントリーを簡単に作成...
続きを読む
-
a-blog cms
AIとの対話で、サイト構築の土台を一気に作る。a-blog cms拡張アプリ「DF-サイト構築」のご紹介
Webサイトを作るとき、最初に悩むのが「どんなページを用意するか」「どのような構成にするか」というサイト設計です。a-blog cmsをインストールした後、管理画面を開いても、いきなりページやカテゴリーを作り始...
続きを読む
-
FileMaker
FileMaker の自習室にて「Claris Connect を使って Outlook 経由でスクリプトを実行する(Claris FileMaker - 10分でスキルアップ)」が公開されました
動画内のサンプルがダウンロードできます。 ダウンロードはこちらから この動画のこぼれ話Claris Connect自体を私も十分に使いこなせているとは言えないので、自身の勉強も兼ねながらの動画作成となりました。Out...
続きを読む