オンラインアップデートやバックアップ、リストア、CSVインポートなどで、プログレスバーが動かなくなる

オンラインアップデートやバックアップ、CSVインポートなどのバックグラウンドでプログラムを実行する機能を使用し、何かしらの理由により処理が止まってしまった場合、プログレスバーがそのままの状態で動かなくなってしまう場合があります。

バックグラウンドで実行される機能例

  • オンラインアップデート
  • バックアップ
  • リストア
  • CSVインポート

修正方法

この場合、a-blog cms 設置場所にある、cache ディレクトリ内にあるファイル(.htaccess以外)を削除していただくことで、プログレスバーを止めることができます。

.htaccess は削除しないでください。


フォームモジュールで、確認画面へ進もうとしてボタンをクリックしても進めない

お問い合わせフォームで、確認画面に進もうとしてもエラーもでず、進めない状況になった場合、何かしらバリデーションで引っ掛かっている可能性があります。

バリデーションを設定する方法は2つあります。1つは、テンプレートで設定する方法と、管理画面で設定する方法です。 テンプレートでバリデーションをかけている場合は、エラーメッセージも同時に記入すると思うので、今回のトラブルの場合は意図していないバリデーションを管理画面に設定している可能性があります。

管理画面でのバリデーション

管理画面 > フォーム > 該当フォームの変更 の「入力チェック・変換」項目に意図しないバリデーションがないかチェックください。


接続元IPアドレスが正しく取得できない・ログイン制限が正常に動作しない

接続元IPアドレスのグローバル変数が正しく取得できなかったり、ログの接続元IPアドレスやログイン制限が正しく動作しない場合がございます。

これはリバースプロキシやCDN、ロードバランサーなどが入っている場合に、正しい接続元IPアドレスが取得できないためになります。

対策方法

リバースプロキシなどが入っている環境でも正しく接続元IPアドレスを取得するには「config.server.php」の「TRUSTED_PROXY_LIST」に信頼できるプロキシのIPアドレスを設定ください。

複数ある場合はカンマで区切って指定します。

define('TRUSTED_PROXY_LIST', 'xxx.xxx.xxx.xxx,yyy.yyy.yyy.yyy');

これは「X-Forwarded-For」HTTPヘッダーから接続元IPアドレスを取得するときに、偽装された接続元IPアドレスを取得しないようにするための対策となっております。 (「X-Forwarded-For」は簡単に偽装できるため)

ログアウトまたは読者権限のユーザーでログインすると、組み込みJSが動作しない

ログアウトまたは読者権限のユーザーでログイン時に組み込みJSが動作しない場合は、組み込みJS自体が読み込まれていない可能性があります。

公式で配布している「develop」テーマでは投稿者以上でログインしている時のみ組み込みJSを読み込むようになっており、developテーマを元にテーマ開発を行うとログアウトまたは読者権限のユーザーでログインしている状態では組み込みJSが動作しません。

組み込みJSでは、さまざまなJSが含まれており使わない機能も多いので、パフォーマンスを考慮してログアウトまたは読者権限のユーザーでログイン時は組み込みJSを読み込まないようになっております。

修正方法

以下のように変更することで、ユーザーの権限やログイン状態に関わらず、組み込みJSを読み込むことができます。

修正ファイル: themes/ご利用テーマ/include/head/js.html

修正前

<!-- 投稿者以上以上の場合だけ組み込みJSを読み込むようにする -->
<!-- BEGIN_MODULE Touch_SessionWithContribution -->
<script src="%{JS_LIB_JQUERY_DIR}jquery-%{JS_LIB_JQUERY_DIR_VERSION}.min.js" charset="UTF-8"></script><!-- BEGIN_MODULE Js -->
<script src="/acms.js{arguments}" charset="UTF-8" id="acms-js"></script><!-- END_MODULE Js -->
<!-- END_MODULE Touch_SessionWithContribution -->

修正後

<script src="%{JS_LIB_JQUERY_DIR}jquery-%{JS_LIB_JQUERY_DIR_VERSION}.min.js" charset="UTF-8"></script><!-- BEGIN_MODULE Js -->
<script src="/acms.js{arguments}" charset="UTF-8" id="acms-js"></script><!-- END_MODULE Js -->

アップデートしたら管理画面にスタイルが当たらなくなった

アップデートしたら管理画面にスタイルが当たらなくなってしまった場合、以下の原因が考えられます。

  • 管理画面のCSSが適用されていない
  • バージョンが古いテンプレートを使用している

詳しく説明していきます。

管理画面のCSSが適用されていない

a-blog cms の管理画面のCSSは、/themes/system/css/ディレクトリに設置されています。
以下のCSSがなかった場合、正常にページが表示されない可能性があります。

  • normalize.min.css
  • acms-system.min.css
  • acms-admin.min.css

アップデート時にうまくアップロードされていなかった場合、再度アップロードし直すことで解決できます。

CSSがうまくアップロードできていなかった場合は、以下のような特徴があります。

  • 一切管理画面のスタイルが適用されておらず、HTMLのデフォルトのスタイルが適用されている
  • サイドナビゲーション項目がページの上部に表示される


バージョンが古いテンプレートを使用している

古いテンプレートを使用している場合に、正しくスタイルが適用されない可能性があります。

よくあるパターンとしましては、/admin/blog/edit.htmlなどの一部分のファイルを使用しているテーマに設置しており、一部分だけスタイルが適用されていないケースです。
Ver.1系から使用されているサイトでとくにみられるケースです。たとえばブログ管理のページで、Ver.1系の/admin/blog/edit.htmlを適用していると以下の図のような状態になります。



Ver.1系の/admin/blog/edit.htmlを適用している場合は、以下のような特徴があります。

  • ツールチップが四角の画像になっている
  • 保存、戻るボタンがページ内の下部に設置されている
  • 「基本設定」「カスタム設定」「エクスポート・インポート」などのタブがない
  • サイドナビゲーションや、トピックパスにはスタイルが適用されている

この場合の解決策としては、原因となっているテンプレートをリネームまたは削除することで解決できます。
もし何らかの理由でアップロードしている場合は、/themes/system/から新しいテンプレートを複製し、カスタマイズし直してください。