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一覧
-
技術
ごじゅのを作るにあたって気をつけたこと
ごじゅのをオープンベータでリリースして。少しずつ参加者が増える形で楽しんでもらっています。五十音で遊ぶ連想ゲームhttps://gojuno.jp/ja/毎日通ってくださる方、思い立ったときに遊んでくださる方。一度みて...
続きを読む
-
FileMaker
FileMaker の自習室にて「Claris Connect 経由で Google Translate の翻訳を利用し、レイアウト上のラベルを切り替える(Claris FileMaker - 10分でスキルアップ)」が公開されました
動画内のサンプルがダウンロードできます。 ダウンロードはこちらから この動画のこぼれ話Google翻訳自体は、海外のサイト巡回などで毎日使っています。ですが、実際にFileMakerをからめて使うことがあるかという...
続きを読む
-
技術
無料の言葉パズル「ごじゅの」オープンベータ版を公開しました
株式会社データファームは、五十音から言葉を作って得点を競うブラウザゲーム「ごじゅの」のオープンベータ版を公開しました。登録不要で、スマートフォンやパソコンのブラウザから1日1回無料で遊べます。「ごじ...
続きを読む
-
FileMaker
A tool for “looking at and thinking about” FileMaker’s DDR: DF-DDR inspector
The blog post is a bit long, so if there’s a feature that catches your interest, please click and take a look. FileMaker includes a feature called DDR (Database Design Report), which outputs the st...
続きを読む
-
FileMaker
FileMakerのDDRを「見て考える」ためのツール、DF-DDR inspectorを作りました
ブログが少し長いので、気になる機能があれば、クリックして見てください。 FileMakerには、データベースの構造を出力するDDR(Database Design Report)という機能があります。テーブル、フィールド、リレーショ...
続きを読む
-
AI・DX・業務改善
Appleヘルスケアの記録を振り返るアプリ「DF-HealthBalance」を公開しました
株式会社データファームは、iPhone・iPad向けアプリ「DF-HealthBalance」をApp Storeで公開しました。DF-HealthBalanceは、Appleヘルスケアに集まった食事・活動・睡眠・水分・体組成などの記録を、日ごとや期間...
続きを読む