フォーム離脱時にアラートを表示する

ユーザーがフォームの入力中に別ページに遷移しようとしたときに離脱防止のアラートを表示する組み込みJSです。

この機能を利用することで、フォームの入力中に別ページに遷移してしまい、入力途中のデータが失われてしまうといった事故を防ぐことができます。

使い方

離脱を防止させたい form 要素の class 属性に js-unload_alert を指定します。

<form action="" method="post" class="js-unload_alert" enctype="multipart/form-data">
...
</form>

フォームの項目を一度入力したあと(JavaScript で input イベントを監視しています。)、別のページに遷移しようとすると、アラートが表示されます。

設定

この機能の設定は、/js/config.js で設定されています。設定を変更する場合は、適用しているテーマ内にJavaScriptファイルを別途作成してください。詳しくは「組み込みJSについて:設定を編集する」を参照してください。



設定項目 説明 デフォルト
unloadAlertMark 離脱を防止させたい form 要素をセレクター形式で指定できます。 '.js-unload_alert'

サービス設定項目

コンフィグのサービス設定項目について解説します。


コンフィグのサービス設定項目一覧

コンフィグのサービス設定項目一覧


各項目の解説についてはヘルプのツールチップをクリックすると解説をみることができます。


メール設定

メールに関する設定を行えます。

SMTPサーバー

ここで指定したSMTPサーバーを使ってメールを送信できます。Webサーバーと送信するメールアドレスのドメインが違う場合は、何も設定しないと送信元の偽装状態になるので、送信元のメールアドレスのSMTPを設定して回避できます。

また、メール送信サービスに接続する方法としてSMTP接続が用意されている場合も、こちらで設定します。


SMTPサーバーの設定画面

SMTPサーバーの設定画面



項目名 説明
ホスト名 a-blog cmsからメールを送信するSMTPサーバのホスト名を指定します。指定されない場合はphp.iniのsendmail_pathに従い、sendmailを使用してメールを送信します。
ポート SMTPサーバのポートを指定します。SMTPサーバーを使用する場合は、必ず設定してください。サーバによって異なる場合があります。25や587がよく使われます。
ユーザー名 SMTP認証が必要な場合にユーザー名を指定します。
パスワード SMTP認証が必要な場合にパスワードを指定します。

エラー通知

Ver. 3.1.0 で追加された監査ログ機能でエラー発生時にメール通知する機能がり、そのメール設定の設定値が確認できます。設定自体は管理画面で行うのではなく a-blog cms 設置ディレクトリにある「.env」ファイルで行います。


エラー通知の設定画面

エラー通知時のメール設定画面



項目名 説明
From .envファイルで、エラー通知メールの差出人を指定します。
To .envファイルで、エラー通知メールの宛先を指定します。空の場合UIDが一番小さい管理者アカウントのメールアドレスに送信します。
Bcc .envファイルで、エラー通知メールのBCCを指定します。

会員登録

会員登録時に自動送信されるメールの設定を行います。


会員登録時のメール設定画面

会員登録時のメール設定画面



項目名 説明
From 登録者宛に送信されるメールの差出人を指定します。
To 会員登録の申し込み時に入力されたメールアドレスに送信されます 
Bcc 登録者宛に送信されるメールのBcc(ブラインドカーボンコピー)を指定します。
件名テーンプレート 登録者宛に送信されるメールの件名のテンプレートの場所を指定します。
本文テンプレート(プレーンテキスト) 登録者宛に送信されるメールの本文のテンプレートの場所を指定します。
本文テンプレート(HTML) 登録者宛に送信されるメールの本文のテンプレートの場所を指定します。

ユーザ情報変更

ユーザー(会員)がプロフィール変更した時に、変更内容を自動送信する機能の設定になります。

プロフェッショナル・エンタープライズライセンスでのみ使用できる機能になります。


ユーザ情報変更時のメール設定画面

ユーザ情報変更時のメール設定画面



項目名 説明
変更内容を送信 ユーザー情報の変更時に変更内容をユーザーに送信するかどうかを設定します。
From 会員宛に送信されるメールの差出人を指定します。
To 会員のメールアドレス
Bcc 会員宛に送信されるメールのBcc(ブラインドカーボンコピー)を指定します。
件名テーンプレート 会員宛に送信されるメールの件名のテンプレートの場所を指定します。
本文テンプレート(プレーンテキスト) 会員宛に送信されるメールの本文のテンプレートの場所を指定します。
本文テンプレート(HTML) 会員宛に送信されるメールの本文のテンプレートの場所を指定します。

ユーザー情報変更(管理者)

ユーザー(会員)がプロフィール変更した時に、変更内容を管理者に送信する機能の設定になります。

プロフェッショナル・エンタープライズライセンスでのみ使用できる機能になります。


ユーザ情報変更時のメール設定画面

ユーザ情報変更時のメール設定画面



項目名 説明
変更内容を送信 ユーザー情報の変更時に変更内容を管理者に送信するかどうかを設定します。
From(管理者) 管理者宛に送信されるメールの差出人を指定します。
To(管理者) 管理者のメールアドレスを指定します。
Bcc(管理者) 管理者宛に送信されるメールのBcc(ブラインドカーボンコピー)を指定します。
件名テーンプレート(管理者) 管理者宛に送信されるメールの件名のテンプレートの場所を指定します。
本文テンプレート(プレーンテキスト) 管理者宛に送信されるメールの本文のテンプレートの場所を指定します。
本文テンプレート(HTML) 管理者宛に送信されるメールの本文のテンプレートの場所を指定します。

メール認証管理ログイン

管理者・編集者のメール認証ログイン時に自動送信されるメールの設定になります。


メール認証ログイン時の自動送信設定

メール認証ログイン時の自動送信設定



項目名 説明
From ユーザーに送信されるメールの差出人を指定します。
To 管理ログイン時に入力されたメールアドレスに送信されます。
件名テーンプレート ユーザーに送信されるメールの件名のテンプレートの場所を指定します。
本文テンプレート(TEXT) ユーザーに送信されるメールの本文のテンプレートの場所を指定します。
本文テンプレート(HTML) ユーザーに送信されるメールの本文のテンプレートの場所を指定します。

メール認証サインイン

一般ユーザー(会員)のメール認証ログイン時に自動送信されるメールの設定になります。


メール認証ログイン時の自動送信設定

メール認証ログイン時の自動送信設定



項目名 説明
From ユーザーに送信されるメールの差出人を指定します。
To サインイン時に入力されたメールアドレスに送信されます。
件名テーンプレート ユーザーに送信されるメールの件名のテンプレートの場所を指定します。
本文テンプレート(TEXT) ユーザーに送信されるメールの本文のテンプレートの場所を指定します。
本文テンプレート(HTML) ユーザーに送信されるメールの本文のテンプレートの場所を指定します。

パスワード再発行

パスワード再発行時に送信されるメールの設定になります。


パスワード再発行メール設定画面

パスワード再発行メール設定画面



項目名 説明
From ユーザーに送信されるメールの差出人を指定します。
To パスワード再発行時に入力されたメールアドレスに送信されます
Bcc ユーザーに送信されるメールのBcc(ブラインドカーボンコピー)を指定します。
件名テーンプレート ユーザーに送信されるメールの件名のテンプレートの場所を指定します。
本文テンプレート(TEXT) ユーザーに送信されるメールの本文のテンプレートの場所を指定します。
本文テンプレート(HTML) ユーザーに送信されるメールの本文のテンプレートの場所を指定します。

コメント

コメントされた時に管理者に通知するメールの設定になります。


コメントの通知メール機能設定画面

コメントの通知メール機能設定画面



項目名 説明
From 管理者宛に送信されるメールの差出人を指定します。
To 管理者宛に送信されるメールの宛先を指定します。
Bcc 管理者宛に送信されるメールのBcc(ブラインドカーボンコピー)を指定します。
件名テーンプレート 管理者宛に送信されるメールの件名のテンプレートの場所を指定します。
本文テンプレート(TEXT) 管理者宛に送信されるメールの本文のテンプレートの場所を指定します。
本文テンプレート(HTML) 管理者宛に送信されるメールの本文のテンプレートの場所を指定します。

承認

承認フローでの通知メールの設定になります。


承認通知メールの設定画面

承認通知メールの設定画面



項目名 説明
差出人  差出人(From)を依頼者のメールアドレスに設定するかどうかを設定します。
From 承認者宛に送信されるメールの差出人を指定します。
To 承認者宛のメールアドレスに送信されます
Bcc 承認者宛に送信されるメールのBcc(ブラインドカーボンコピー)を指定します。
件名テーンプレート 承認者宛に送信されるメールの件名のテンプレートの場所を指定します。
本文テンプレート(TEXT) 承認者宛に送信されるメールの本文のテンプレートの場所を指定します。
本文テンプレート(HTML) 承認者宛に送信されるメールの本文のテンプレートの場所を指定します。

メールマガジン

メールマガジン機能のメール設定になります。


メールマガジンのメール設定画面

メールマガジンのメール設定画面



項目名 説明
From 送信されるメールの差出人を指定します。
To 管理者宛のメールの差出人を指定します。空の場合メルマガ送信した管理者のメールアドレスになります。
件名テーンプレート メールマガジンで送信されるメールの件名のテンプレートの場所を指定します。
本文テンプレート(TEXT) メールマガジンで送信されるメールの本文のテンプレートの場所を指定します。
本文テンプレート(HTML) メールマガジンで送信されるメールの本文のテンプレートの場所を指定します。
一斉同胞件数 一通のメールでBccに指定する登録ユーザーのメールアドレスの最大数です。この数字を大きくし過ぎると、プロバイダによってはスパムと判断されてしまう場合があります。

アドバンス

メールのReturn-Pathを特定のメールアドレスに指定します。


メールのReturn-Path設定画面

メールのReturn-Path設定画面



項目名 説明
Retrun-Path指定 正常にメール受信が行えなかった場合などの返送先になります。

プロパティ設定

Google API の Key設定や、サイトのメタ情報などを設定できます。

メタ情報

サイトで使用するメタ情報の「keyword」と「description」を登録します。ここで登録した情報はグローバル変数でいつでも呼び出せます。


メタ情報設定画面

メタ情報設定画面



項目名 説明
キーワード サイトの「meta name="keywords"」の内容として使用できます。「,(カンマ)」で区切ることで複数登録することができます。この入力内容は、グローバル変数の%{META_KEYWORDS}で表示できます。
説明 ( ディスクリプション ) サイトの「meta name="description"」の内容として使用できます。この入力内容は、グローバル変数の%{META_DESCRIPTION}で表示できます。

ウェブサービス

外部サービスのAPIのKey設定を行います。


Google API Key 設定画面

Google API Key 設定画面



項目名 説明
Google Maps API Key 取得したGoogle Maps API Keyを設定します。Google Mapsをご利用の場合はここの設定が必要です。
Google Translate API Key  取得したGoogle Translate API Keyを設定します。Google 翻訳APIをご利用の場合はここの設定が必要です。

Pingショット

ダッシュボードから「Ping送信」ボタンを押すことで、指定された更新通知サービスに通知します。


Pingショット設定画面

Pingショット設定画面



項目名 説明
エンドポイント Ping送信先のRPCエンドポイントを指定します。
拡張エンドポイント 拡張規格に対応した、Ping送信先のエンドポイントを指定します。

Google Maps ストリートビュー

Google Maps のストリートビュー を表示する組み込みJSです。

この組み込みJSを活用することで、  Google Maps JavaScript API を活用し、 Google Maps のストリートビューを表示することができます。

Google Maps JavaScript API のご利用にあたっては、請求先アカウントと 有効なプロジェクトが必要です。詳しくは、Cloud Console での設定をご覧ください。

Google Maps を利用するには、Cloud Console で発行された API キーを コンフィグ > プロパティ設定 から Google Maps API Key に設定する必要があります。


使い方


Google Maps のストリートビュー を表示したい要素の class 属性に js-street-view を設定します。

さらに、data 属性を指定することで経度、緯度、zoom値などを指定できます。



属性 入力する値
data-lat 緯度 37.869260
data-lng 経度 -122.254811
data-zoom zoom値 14
data-pitch カメラの初期デフォルト ピッチからの「上」または「下」向きの角度を定義します。 0
data-heading カメラ中心の回転角度を、真北からの相対角度で定義します 165
data-lazy 表示領域(viewport)に入るまで、組み込みJSの実行を遅延させるかどうか(true | false) true
<div 
  class="js-street-view"
  data-lazy="true"
  data-lat="37.869260"
  data-lng="-122.254811"
  data-pitch="0"
  data-zoom="10"
  data-heading="165"
  style="width: 100%; height: 500px;"
></div>

表示領域(viewport)に入るまで、組み込みJSの実行を遅延させる

Google Maps のストリートビューが画面の下部に存在する場合、組み込みJSの実行を、表示領域(viewport)に入るまで遅延させることで、パフォーマンスを向上させることが可能です。

data-lazy 属性の値に true を指定することで、組み込みJSの実行を遅延させることができます。

<div 
  class="js-street-view"
  data-lazy="true"
  data-lat="37.869260"
  data-lng="-122.254811"
  data-pitch="0"
  data-zoom="10"
  data-heading="165"
  style="width: 100%; height: 500px;"
></div>

設定

この機能の設定は、/js/config.js で設定されています。設定を変更する場合は、適用しているテーマ内にJavaScriptファイルを別途作成してください。詳しくは「組み込みJSについて:設定を編集する」を参照してください。



設定項目 説明 デフォルト
streetViewMark Google Maps ストリートビュー を表示する要素をセレクター形式で設定します。 '.js-street-view'

パスワード強度チェッカー

ユーザーによって入力されたパスワードの強度(推定されやすいか否か)を判定して表示する機能です。

この機能を活用することで、会員制サイトのようなユーザー自身でパスワードを設定する必要がある場面で、推測されにくいパスワードを設定してもらいやすくすることができます。

デモ

以下のようなパスワード強度チェッカーが実装できます。

使い方

パスワード入力用の input 要素を囲む要素の class 属性に js-password_strength を設定します。

そして、パスワード入力用の input 要素及び、パスワードの強度判定結果を表示する要素、パスワードの強度判定結果を文字列で表示する要素の class 属性に js-input 及び、 js-meterjs-label を設定してください。

以下は、パスワード強度チェッカーを実装する最低限のサンプルコードです。

<div class="js-password_strength">
  <input
    type="password"
    name="pass"
    value=""
    id="input-text-pass"
    class="js-input"
    autocomplete="new-password"
  >
  <div>
    <div class="js-meter acms-password-strength-meter"></div>
  </div>
  <span class="js-label acms-password-strength-label" aria-live="assertive"></span>
</div>

設定

この機能の設定は、/js/config.js で設定されています。設定を変更する場合は、適用しているテーマ内にJavaScriptファイルを別途作成してください。詳しくは「組み込みJSについて:設定を編集する」を参照してください。



設定項目 説明 デフォルト
passwordStrengthMark パスワード入力用の input 要素を囲む要素をセレクター形式で設定します。 '.js-password_strength'
passwordStrengthInputMark パスワード入力用の input 要素をセレクター形式で設定します。 '.js-input'
passwordStrengthMeterMark パスワードの強度判定結果を表示する要素をセレクター形式で設定します。 '.js-meter'
passwordStrengthLabelMark パスワードの強度判定結果を文字列で表示する要素をセレクター形式で設定します。 '.js-label'
passwordStrengthMessage passwordStrengthLabelMark で設定した要素に表示する文字列を設定します。
0 ~ 4 の5段階で設定可能で、数字が大きいほど推測しにくいパスワードであることを示します。

コンフィグ値の決まり方

コンフィグには複数の設定機能があり、どのコンフィグが適応されているか最初分からなくなる時があります。ここではコンフィグの設定機能と、どのようにコンフィグの値が決定されるか学びましょう。

コンフィグ設定機能の種類

以下コンフィグを設定できる機能について紹介します。

config.system.default.yaml

a-blog cms で使用するコンフィグのデフォルト値になります。様々な管理画面や機能設定のデフォルト値を定義しています。 管理画面にあるコンフィグのデフォルト値としても利用されますが、管理画面にない設定値もこのファイルで設定しています。

ファイルの場所

private/config.system.default.yaml

このファイルは、CMSアップデートで上書きされますので、編集しないようにお願いします。

config.system.yaml

「config.system.default.yaml」は、上書き不可のコンフィグファイルですが、値を変更したい場合に、このファイルで「config.system.default.yaml」の値を上書きます。 このファイルはCMSアップデートで上書きされないため、自由にカスタマイズ可能です。

例えば管理画面になり設定を変更したり、管理画面のデフォルト値を変更できたりします。

ファイルの場所

private/config.system.yaml

ブログの初期コンフィグ(非推奨)

「コンフィグセット」が出来る前の設定方法になります。このコンフィグはブログと結びついているため、ブログ毎の設定になり、同じコンフィグを他のブログで利用することはできません。同じ設定を行いたい場合にも、すべてのブログで同じ設定を行う必要があります。

Ver. 3.1 で「コンフィグセット」「テーマセット」「編集画面セット」ができ、この方法は管理が煩雑になるため非推奨となっておりますが、CMSアップデートによる互換性維持のため、残っている機能となります。


このブログの初期コンフィグ(非推奨)

このブログの初期コンフィグ(非推奨)

コンフィグセット・テーマセット・編集画面セット

Ver. 3.0 から、コンフィグのセットをブログまたはカテゴリーにセットすることで、コンフィグ設定できるようになりました。 これにより同じコンフィグの各セットを利用しているブログやカテゴリーのコンフィグを一回の操作で変更できるようになります。


編集画面セットの一覧

編集画面セットの一覧

ルールのコンフィグ

ルール毎にコンフィグを設定できます。ルールで設定した条件に当てはまるアクセスの時だけ、有効になるコンフィグになります。


ルールのコンフィグ一覧

ルールのコンフィグ一覧

コンフィグ値の決定フロー

上記のコンフィグ設定機能で設定されたコンフィグが最終的には1つのコンフィグ値となります。以下のフローチャート図のようにコンフィグがロードされていきます。 どれかひとつのコンフィグ設定を読み込むのではなく、順番が決まっていて、上書きされていくイメージになります。


コンフィグ値の決定フロー

コンフィグ値の決定フロー