1. Вход
    [[!AjaxForm?
     &snippet=`LUP_Login`
     &loginViaEmail=`1`
     &form=`authform`
    ]]

    Чанк authform:

    <form>
        <div class="modal-body">
            <div class="form-group">
                <label for="username" class="col-form-label">Логин:</label>
                <input type="text" class="form-control" id="username" name="username">
            </div>
            <div class="form-group">
                <label for="password" class="col-form-label">Пароль:</label>
                <input type="password" class="form-control" id="password" name="password">
            </div>
        </div>
        <div class="modal-footer">
            <button type="button" class="btn btn-secondary" data-dismiss="modal" data-toggle="modal"
                    data-target="#forgotModal">
                Забыли пароль?
            </button>
            <button type="submit" class="btn btn-success">Вход</button>
        </div>
        <input class="loginLoginValue" type="hidden" name="service" value="login" />
    </form>
  2. Регистрация:
    [[!AjaxForm?
     &form=`regform`
     &snippet=`LUP_Register`
     &activation=`1`
     &activationResourceId=`23`
     &activationEmailTpl=`lgnActivateEmailTpl`
     &validate=`nospam:blank,
      username:required:minLength=^3^,
      password:required:minLength=^6^,
      password_confirm:password_confirm=^password^,
      email:required:email`
     &validationErrorMessage=`Произошла ошибка проверки формы. Пожалуйста, проверьте введенные вами значения.`
     &placeholderPrefix=`reg.`
     &emailField=`email`
     &activationttl=`604800`
     ]]

    Чанк regform:

    <form class="regForm" action="[[~[[*id]]]]" method="post">
        <div class="modal-body">
            <div class="form-row modal-body py-2 pb-3">
                <div class="loginMessage w-100 text-center"></div>
                <div class="form-group">
                    <label for="regName" class="col-form-label">[[!%register.username? &namespace=`login` &topic=`register`]]</label>
                    <input type="text" name="username" class="form-control" placeholder="username" id="regName">
                </div>
                <div class="form-group">
                    <label for="regEmail" class="col-form-label">[[!%register.email]]</label>
                    <input type="text" name="email" class="form-control" placeholder="myemail@yandex.ru" id="regEmail">
                </div>
                <div class="form-group">
                    <label for="regFio" class="col-form-label">[[!%register.fullname]]</label>
                    <input type="text" name="fullname" class="form-control" placeholder="Иванов Иван Иванович" id="regFio">
                </div>
                <div class="form-group">
                    <label for="regPhone" class="col-form-label">Телефон</label>
                    <input type="number" name="phone" class="form-control" placeholder="+7 (123) 456-78-90" id="regPhone">
                </div>
                <div class="form-group">
                    <label for="regAddress" class="col-form-label">Адрес</label>
                    <input type="text" name="address" class="form-control" placeholder="г. Москва, ул. Большая, д. 12"
                           id="regAddress">
                </div>
                <div class="form-group">
                    <label for="regPass" class="col-form-label">[[!%register.password]]</label>
                    <input type="password" name="password" class="form-control" placeholder="Пароль" id="regPass">
                </div>
                <div class="form-group">
                    <label for="regPass2" class="col-form-label">[[!%register.password_confirm]]</label>
                    <input type="password" name="password_confirm" class="form-control" placeholder="Повторите пароль"
                           id="regPass2">
                </div>
            </div>
        </div>
        <div class="modal-footer">
            <button type="submit" class="btn btn-success">Регистрация</button>
        </div>
    </form>

     

  3. Подтвердить регистрацию:

    [[!ConfirmRegister?
    &redirectTo=`1`
    ]]

     

  4. Забыли пароль:

    [[!AjaxForm?
     &form=`forgotform`
     &snippet=`LUP_ForgotPassword`
     &validate=`nospam:blank,
      email:required:email`
    ]]

    Чанк forgotform:

    <form class="forgotForm" action="" method="post">
        <div class="modal-body">
            <div class="form-group">
                <label for="email" class="col-form-label">Email:</label>
                <input type="text" class="form-control" id="email" name="email" placeholder="Email">
            </div>
        </div>
        <div class="modal-footer">
            <button type="submit" class="btn btn-success">Отправить</button>
        </div>
        <input class="loginFPService" type="hidden" name="login_fp_service" value="forgotpassword"/>
    </form>
  5. Обновить профиль:
    [[!Profile]]
    
    [[!AjaxForm?
     &snippet=`LUP_UpdateProfile`
     &form=`updateform`
    ]]

    Чанк updateform:

    <form class="form" action="[[~[[*id]]]]" method="post" xmlns="http://www.w3.org/1999/html">
        <div class="update-profile form-row">
    
            <div class="form-group">
                <label for="fullname" class="col-form-label">[[!%login.fullname? &namespace=`login` &topic=`updateprofile`]]
                </label>
                <input type="text" name="fullname" id="fullname" value="[[+fullname]]" class="form-control"/>
            </div>
    
            <div class="form-group">
                <label for="email" class="col-form-label">[[!%login.email]]
                </label>
                <input type="text" name="email" id="email" value="[[+email]]" class="form-control"/>
            </div>
    
            <div class="form-group">
                <label for="phone" class="col-form-label">[[!%login.phone]]
                </label>
                <input type="text" name="phone" id="phone" value="[[+phone]]" class="form-control"/>
            </div>
    
            <div class="form-group">
                <label for="address" class="col-form-label">[[!%login.address]]
                </label>
                <textarea name="address" id="address" class="form-control">[[+address]]</textarea>
            </div>
    
            <br class="clear"/>
        </div>
        <div class="form-buttons mt-2">
            <button type="submit" class="btn btn-success">[[!%login.update_profile]]</button>
        </div>
    </form>
    
  6. Изменить пароль
    [[!AjaxForm?
        &snippet=`LUP_ChangePassword`
        &form=`modal-change`
        &validateOldPassword=`1`
        &submitVar=`change`
    ]]

 

Дополнительно

Письмо для email после регистрации пользователя. Параметр &activationEmailTpl:

<p>[[+username]],</p>

<p>Спасибо за регситрацию! Для активации вашего аккаунта, пожалуйста, перейдите по ссылке:</p>

<p><a href="[[+confirmUrl]]">[[+confirmUrl]]</a></p>

<p>Если вы не запрашивали это сообщение, просто проигнорируйте его</p>

<p>С уважением,<br />
<em>[[++site_name]]</em></p>

Обработка ответов:

$(document).on('af_complete', function (event, response) {
    var type = response.type;

    if (type == 'login' && response.success === true) {
        setTimeout(function () {
            document.location.reload()
        }, 3000);
    }
});
← ClientConfig - глобальные данные сайтаОшибки при переносе →