young_man 02 июня 2016 1 6
Здравствуйте. Использую шаблонизатор Smarty. Вызываю сниппет Register на странице.
При нажатии на Submit, страница просто перезагружается. Код формы:

{snippet name="Register" params='
  &submitVar=`reg-btn`
  &activationResourceId=`12`
  &successMsg=`Вам нужно подтвердить свою регистрацию.`
  &activationEmailTpl=`Email.Activation`
  &activationEmailSubject=`Подтверждение регистрации на сайте "стратегическаясессия.рф"`
  &placeholderPrefix=`reg.`
  &usergroups=`Users`
  &usernameField=`mail`
  &validate=`nospam:blank,family:required:stripTags,name:required:stripTags,father:required:stripTags,tel:required,mail:email:required,password:required,password_confirm:password_confirm=^password^,org:required:stripTags,status:required:stripTags,target:required:stripTags`' nocache}

<form action="[[~[[*id]]]]" method="POST">
        <input type="hidden" name="nospam" value="[[!+reg.nospam]]" />
            <div class="form-item required">
              <label> 
                <p>фамилия</p>
                <input name="family" required="required" value="[[!+reg.family]]">                    
              </label>
            </div>
            <div class="errorMsg">[[!+reg.error.family]]</div>
            <div class="form-item required">
              <label>
                <p>Имя</p>
                <input name="name" required="required" value="[[!+reg.name]]">
              </label>
            </div>
            <div class="errorMsg">[[!+reg.error.name]]</div>
            <div class="form-item required">
              <label>
                <p>Отчество</p>
                <input name="father" required="required" value="[[!+reg.father]]">
              </label>
            </div>
            <div class="errorMsg">[[!+reg.error.father]]</div>
            <div class="form-item required">
              <label>
                <p>Телефон</p>
                <input type="tel" name="phone" required="required" value="[[!+reg.tel]]">
              </label>
            </div>
            <div class="errorMsg">[[!+reg.error.tel]]</div>
            <div class="form-item required">
              <label>
                <p>Эл.почта</p>
                <input name="mail" type="email" required="required" value="[[!+reg.mail]]">
              </label>
            </div>
            <div class="errorMsg">[[!+reg.error.mail]]</div>
            <div class="form-item required">
              <label>
                <p>Организация</p>
                <input name="org" required="required" value="[[!+reg.org]]">
              </label>
            </div>
            <div class="errorMsg">[[!+reg.error.org]]</div>
              <div class="form-item required">
                <label>
                  <p>Должность</p>
                  <input name="status" class="status" required="required" value="[[!+reg.status]]"/>
                </label>
              </div>
            <div class="errorMsg">[[!+reg.error.status]]</div>
              <div class="form-item required">
                <label>
                  <p>Цель получения доступа</p>
                  <textarea name="target" required="required" value="[[!+reg.target]]"><textarea>
                </label>
              </div>
            <div class="errorMsg">[[!+reg.error.target]]</div>
              <div class="form-item required">
                <label>
                  <p>Пароль</p>
                  <input name="password" class="password" required="required" type='password' value="[[!+reg.password]]"/>
                </label>
              </div>
            <div class="errorMsg">[[!+reg.error.password]]</div>
              <div class="form-item required">
                <label>
                  <p>Подтвердите пароль</p>
                  <input name="password_confirm" class="password" required="required" type='password' value="[[!+reg.confirm-password]]"/>
                </label>
              </div>
            <div class="errorMsg">[[!+reg.error.confirm-password]]</div>
            <div class="form-item-checkbox required">
              <label>
                <input type="checkbox" required="required">Ставя галочку, вы подтверждаете свое согласие на получение электронных писем на ваш почтовый адрес от нас <span class="required">*</span>
              </label>
            </div>
            <div class="form-item">
              <div class="captcha"></div>
            </div>
            <p class="required-text">Поля, отмеченные <span class="required">*</span> -обязательны для заполнения</p>
            <div class="form-submit">
                <p>В обмен на доступ в корпоративную библиотеку российской консалтинговой группы "Стратегии устойчивого развития" мы просим о праве раз в несколько недель отправлять Вам свой новостной бюллетень, а также время от времени обращаться к Вам со специальными предложениями</p>
              <button type="submit" class="order-button big-order-button" name="reg-btn">Зарегистрироваться</button>
            </div>
        </form>


activationResourceId создан, ему присвоен шаблон, в содержимом которого:

[[!ConfirmRegister?&redirectTo=`5`&errorPage=`13`]]


Чанк Email.Activation создан.
Группа пользователей «Users» создана.
Вызов сниппета происходит, контроллер запускается.
То же самое происходит, если написать обычный вызов сниппета в [[]].

Делал по образу и подобию: https://rtfm.modx.com/extras/revo/login/login.register/register.example-form-1

А также: https://ilyaut.ru/tips-and-tricks/authorization-registration-personal-cabinet/

Кто-нибудь может подсказать, что я забыл сделать? Не удивлюсь, если где-нибудь опечатался
6 комментариев
y
young_man 02 июня 2016г в 11:56 #
Решено
Fi1osof1
Fi1osof 02 июня 2016г в 16:39 #
В чем именно проблема была?
y
young_man 02 июня 2016г в 19:57 #
1. Поменял вызов сниппета на стандартный синтаксис modx, т.е. [[!Register?&...]]. Иначе результат вызова сниппета кешируется.
2. Добавил поле login. Сначала я хотел сделать input[name=«mail»] в качестве логина, но поле «email» — обязательное для сниппета Register, и поэтому, когда сниппет не находит поля с именем email (по умолчанию), он говорит, что это поле обязательное.
Fi1osof1
Fi1osof 02 июня 2016г в 20:03 #
Ясно.
y
young_man 02 июня 2016г в 19:58 #
Спасибо Вам большое за Smarty) Очень удобная вещь) Уже второй проект на нём делаю) Очень удобно)
Fi1osof1
Fi1osof 02 июня 2016г в 20:04 #
Не за что :)
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.