ブログ - a-blog cms

ablogcms

a-blog cms

a-blog cms拡張アプリで管理画面「だけ」真っ白になった原因


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一覧