2 июня 2016 г., 7:29

Не работает сниппет Register компонента Login

Здравствуйте. Использую шаблонизатор 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» создана. Вызов сниппета происходит, контроллер запускается. То же самое происходит, если написать обычный вызов сниппета в [[]].
Кто-нибудь может подсказать, что я забыл сделать? Не удивлюсь, если где-нибудь опечатался
В чем именно проблема была?
1. Поменял вызов сниппета на стандартный синтаксис modx, т.е. [[!Register?&...]]. Иначе результат вызова сниппета кешируется. 2. Добавил поле login. Сначала я хотел сделать input[name=«mail»] в качестве логина, но поле «email» — обязательное для сниппета Register, и поэтому, когда сниппет не находит поля с именем email (по умолчанию), он говорит, что это поле обязательное.
Спасибо Вам большое за Smarty) Очень удобная вещь) Уже второй проект на нём делаю) Очень удобно)

Добавить комментарий