フォームモジュールで、確認画面へ進もうとしてボタンをクリックしても進めない
お問い合わせフォームで、確認画面に進もうとしてもエラーもでず、進めない状況になった場合、何かしらバリデーションで引っ掛かっている可能性があります。
バリデーションを設定する方法は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/から新しいテンプレートを複製し、カスタマイズし直してください。