Login_Subscribe モジュール
Login_Subscribe モジュールとは、外部申請によるユーザー登録を行うためのPOSTモジュールです。
Login_Subscribe モジュールを使うことで、サイト閲覧者自身でユーザー登録を行うことができます。これにより、サイト閲覧者に会員登録をしてもらうことを想定した会員制サイトを構築することが可能です。
また、Login_Subscribe モジュールでは、メールアドレスや名前などのユーザーの基本設定だけでなく、ユーザーのカスタムフィールドも登録することが可能です。また、コンフィグ > ログイン設定 > 読者登録機能から登録するユーザーのステータスや権限の設定や、メールアドレスの有効性認証を行うかどうかをカスタマイズできます。
Login_Subscribe モジュールを使ったユーザー登録フォームのカスタマイズについては、以下のドキュメントで詳しく紹介されています。
読者登録機能のカスタマイズ | カスタムフィールド | ドキュメント | a-blog cms developer
a-blog cms developer
読者登録機能のカスタマイズ方法について解説します。 読者登録の項目を増やす方法 読者登録時のデフォルトユーザー権限を変える方法 読者登録後、送られてきたメールのURLをクリックしなく...
有効なフィールド(項目)
Login_Subscribe モジュールではユーザーの基本設定のフィールド(項目)とカスタムフィールドのデータを送信できます。基本設定のフィールド(項目)を送信する場合は、 name 属性に `user[]` を、 value 属性に 送信したいフィールド(項目)名を指定した input タグを一緒に記述する必要があります。
<input type="text" name="name" value="{name}" class="acms-form-large validator-result-{name:validator#required}" placeholder="" /> <input type="hidden" name="user[]" value="name" /> <!-- ↓カスタムフィールドも追加できます --> <input type="text" name="company" value="{company}" class="acms-form-large" /> <input type="hidden" name="field[]" value="company" />
フィールド名(項目) | 概要 | 入力例 |
---|---|---|
name(必須) | 登録するユーザーの名前です。 | アップルップル |
mail(必須) | 登録するユーザーのメールアドレスです。 | info@example.com |
pass(必須) | 登録するユーザーのパスワードです。 | password |
retype_pass(必須) | 登録するユーザーのパスワード(確認用)です。 | password |
code | 登録するユーザーのユーザーコードです。 | ablogcms |
url | 登録するユーザーのURLです。 | https://example.com |
mail_magazine | 登録するユーザーがメールマガジンを受信するかどうか(on | off)です。 | off |
上記のユーザー基本設定に加えて、ユーザーのカスタムフィールドを登録することも可能です。
Login_Subscribe モジュールのサンプルコード
<!-- BEGIN_MODULE Login --> <form action="" method="post" enctype="multipart/form-data"> <!-- BEGIN subscribe --> <div class="acms-admin-loginBox"> <div class="acms-admin-siteImageText">新規ユーザー登録</div> <!-- BEGIN sendMsg#before --> <p class="acms-admin-login-text">登録いただくと指定されたメールアドレスに確認メールが送信されます。メールの内容に従って登録を完了してください。</p> <!-- END sendMsg#before --> <!-- BEGIN sendMsg#after --> <p class="acms-admin-alert acms-admin-alert-info">入力されたメールアドレス宛に、確認用メールを送信しました。</p> <!-- END sendMsg#after --> <!-- BEGIN_IF [{name:validator#required}/eq/0] --> <p class="validator-result-0 acms-admin-alert acms-admin-alert-danger">名前が入力されていません。</p> <!-- END_IF --> <!-- BEGIN_IF [{mail:validator#required}/eq/0] --> <p class="validator-result-0 acms-admin-alert acms-admin-alert-danger">メールアドレスが入力されていません。</p> <!-- END_IF --> <!-- BEGIN_IF [{mail:validator#email}/eq/0] --> <p class="validator-result-0 acms-admin-alert acms-admin-alert-danger">不正なメールアドレスです。</p> <!-- END_IF --> <!-- BEGIN_IF [{mail:validator#doubleMail}/eq/0] --> <p class="validator-result-0 acms-admin-alert acms-admin-alert-danger">すでに登録されているメールアドレスです。</p> <!-- END_IF --> <!-- BEGIN_IF [{mail:validator#send}/eq/0] --> <p class="validator-result-0 acms-admin-alert acms-admin-alert-danger">メールの送信に失敗しました。システムの設定に問題があります。システムの管理者にお問い合わせください。</p> <!-- END_IF --> <!-- BEGIN_IF [{pass:validator#required}/eq/0] --> <p class="validator-result-0 acms-admin-alert acms-admin-alert-danger">パスワードが入力されていません。</p> <!-- END_IF --> <!-- BEGIN_IF [{pass:validator#password}/eq/0] --> <p class="validator-result-0 acms-admin-alert acms-admin-alert-danger">不正なパスワードです。別のパスワードを入力ください。</p> <!-- END_IF --> <!-- BEGIN_IF [{retype_pass:validator#equalTo}/eq/0] --> <p class="validator-result-0 acms-admin-alert acms-admin-alert-danger">パスワードが一致しません。</p> <!-- END_IF --> <div class="acms-admin-form"> <label class="acms-admin-form-block acms-admin-clear">名前</label> <input type="text" name="name" value="{name}" class="acms-admin-form-large validator-result-{name:validator#required}" placeholder="" /> <input type="hidden" name="user[]" value="name" /> <label class="acms-admin-form-block acms-admin-clear">メールアドレス</label> <input type="text" name="mail" value="{mail}" class="acms-admin-form-large validator-result-{mail:validator#required} validator-result-{mail:validator#email} validator-result-{mail:validator#doubleMail} validator-result-{mail:validator#send}" placeholder="" /> <input type="hidden" name="user[]" value="mail" /> <label class="acms-admin-form-block acms-admin-clear">パスワード</label> <div class="js-password_strength"> <input type="password" name="pass" value="{pass}" class="js-input acms-admin-form-large validator-result-{pass:validator#required} validator-result-{pass:validator#password}" autocomplete="off" /> <input type="hidden" name="user[]" value="pass" /> <div> <div class="js-meter acms-admin-password-strength-meter acms-admin-form-width-full"></div> </div> <span class="js-label acms-admin-password-strength-label" aria-live="assertive"></span> </div> <label class="acms-admin-form-block acms-admin-clear">パスワード(確認)</label> <input type="password" name="retype_pass" value="{retype_pass}" class="acms-admin-form-large validator-result-{retype_pass:validator#equalTo}" autocomplete="off" /> <input type="hidden" name="user[]" value="retype_pass" /> </div> <!-- BEGIN passwordPolicyMessage:veil --> <p class="acms-admin-text-danger">{passwordPolicyMessage}</p> <!-- END passwordPolicyMessage:veil --> <!-- BEGIN submit --> <p class="loginAction"> <button type="submit" class="acms-admin-btn-admin acms-admin-btn-admin-primary acms-admin-btn-block acms-admin-btn-large" name="ACMS_POST_Login_Subscribe"><!--T-->読者登録<!--/T--></button> </p> <!-- END submit --> </div> <!-- END subscribe --> </form> <!-- END_MODULE Login -->
エラー時の表示
Login_Subscribe モジュールで何らかのエラーが起きた場合には以下のフィールド(項目)がバリデーションエラーとして表示されます。
フィールド(項目)名 | オプション名 | 概要 |
---|---|---|
name | required | ユーザーの名前が入力されていない場合に発生するエラー |
required | ユーザーのメールアドレスが入力されていない場合に発生するエラー | |
ユーザーのメールアドレスの形式が間違っている場合に発生するエラー | ||
doubleMail | 入力されたメールアドレスで登録されたユーザーが既に存在する場合に発生するエラー | |
send | 読者登録メールの送信に失敗した場合に発生するエラー | |
pass | required | ユーザーのパスワードが入力されていない場合に発生するエラー |
pass | password | ユーザーのパスワードがコンフィグで設定したパスワードポリシーに違反している場合に発生するエラー |
retype_pass | equalTo | ユーザーのパスワード(確認用)が入力されたパスワードと一致しない場合に発生するエラー |
code | regex | ユーザーコードが不正な形式である場合に発生するエラー |
code | doubleCode | 入力されたコードで登録されたユーザーが既に存在する場合に発生するエラー |
url | url | ユーザーのURLの形式が間違っている場合に発生するエラー |
login | isOperable | コンフィグ > ログイン設定 > 読者登録機能のユーザー登録の外部申請が無効になっている場合に発生するエラー |
自動送信メールで使用できる変数
Login_Subscribe モジュールで送信された自動送信メールでは以下の変数が利用できます。
変数名 | 概要 |
---|---|
uid | 作成されたユーザーのユーザーIDです。 |
name | 作成されたユーザーの名前です。 |
作成されたユーザーのメールアドレスです。 | |
code | 作成されたユーザーのユーザーコードです。 |
url | 作成されたユーザーのURLです。 |
subscribeUrl | メールアドレスの有効性認証ための認証URLです。 |