Сниппет Register от Login не создает пользователей
        Здравствуйте!
По какой-то неизвестной причине, сниппет Register от Login не создает пользователей.
    
    
                                                                                
            По какой-то неизвестной причине, сниппет Register от Login не создает пользователей.
[[!Register?
                                  &submitVar=`login-register-btn`
                                  &activation=`0`
                                  &autoLogin=`1`
                                  &submittedResourceId=`5`
                                  &usergroups=`Users`
                                  &usernameField=`email`
                                  &passwordField=`password`
                                  &validate=`nospam:blank,
                                    password:required:minLength=^8^,
                                    password_confirm:password_confirm=^password^,
                                    fullname:required,
                                    email:required:email`
                                  &placeholderPrefix=`reg.`
                                ]]
                                [[!+error.message:default=`[[$regform]]`]]Код чанка regform:<form class="form" action="[[~[[*id]]]]" method="post">
                                <input type="hidden" name="nospam" value="[[!+reg.nospam]]">
                                <div class="form-item" id="not-acc" data-tab-content>
                                    <div class="form__inp-wrap">
                                        <div class="form__inp-item">
                                            <div class="arrow-inp arrow-inp2">
                                                <img src="modern/img/icons/inp-arrow.svg" alt="">
                                                <input type="text" name="fullname" id="fullname" value="[[!+reg.fullname]]" placeholder="Имя" class="form-inp">
                                                    <div class="invalid-feedback">[[!+reg.error.fullname]]</div>
                                            </div>
                                            <input type="email" placeholder="Email" name="email" value="[[!+reg.email]]" required class="form-inp">
                                                <div class="invalid-feedback">[[!+reg.error.email]]</div> 
                                            <input type="password" placeholder="Пароль" name="password" value="[[!+reg.password]]" required class="form-inp">
                                                <div class="invalid-feedback">[[!+reg.error.password]]</div>
                                            <input type="password" placeholder="Введите пароль еще раз" name="password_confirm" class="form-inp" value="[[!+reg.password_confirm]]">
                                                <div class="invalid-feedback">[[!+reg.error.password_confirm]]</div>
                                            <button class="form-btn" type="submit" name="login-register-btn">Создать аккаунт</button>
                                        </div>
                                        <div class="form__text-wrap">
                                            <p>Если у вас нет аккаунта, пройдите простую регистрацию.</p>
                                            <p>Введите ваше имя, email и пароль, и зарегистрируйтесь.</p>
                                        </div>
                                    </div>
                                </div>
                                </form>В чем может быть причина? В логах ошибок нет. Спасибо!    Комментарии: 24
                Надо логировать процесс начиная с отправки формы. Смотреть консоль браузера, журнал ошибок, логи сервера.            
                    
                В консоле браузера и журнале ошибок, нет ошибок.            
                    
                А ещё я удивлён, что кто-то в 2023 году делает регистрацию с перезагрузкой страницы.            
                    
                А как сделать без перезагрузки страницы? Я сама удивилась, когда страница перезагружается после нажатия на кнопку.            
                    
                C AjaxFormitLogin тоже с перезагрузкой страницы и данные формы передаются в адресную строку. Но новый пользователь и с AjaxFormitLogin не создался.            
                    
                Значит вы что-то не правильно сделали. Напишите мне в телегу доступы посмотрю, если хотите.            
                    
                Если вы указываете submitVar, то замените button на input
                    <input class="form-btn" type="submit" name="login-register-btn" value="Создать аккаунт">            - [[$addquestion]] — в этом чанке у меня сниппет TicketForm
 - [[$authregtabs]] — тут блок с табами, где есть формы авторизации/регистрации/восстановление пароля (как в этом видео скриншоте skrinshoter.ru/vLVs638ZeZi?a )
 
                Ну пусть перезагружается, хотя бы регистрация будет работать) с button при указанном submitVar не будет            
                    
                Будет ли работать регистрация с Login + AjaxForm?            
                    
                У Артура есть компонент AjaxFormitLogin, который правда уже не поддерживается, но выполнит вашу задачу в любом случае. Не знаю по поводу SendIt, тут уже Артур сам ответит)            
                    
                Если хотите разобраться то вот и вот история моих изысканий на эту тему. Всё это в итоге переросло в компонент AjaxFormitLogin, поддержку которого я прекратил, потому что решил полностью переписать JS и PHP, которые достались мне по наследству от AjaxForm. Однако весь функционал из AjaxFormitLogin перекочевал в новый компонент SendIt. Он полностью готов и отлажен. Сегодня я закончил написание документации. Думаю в понедельник или во вторник он станет доступен для скачивание через менеджер пакетов в modstore.            
                    
                Спасибо! 
Пока изучу как использовать AjaxFormitLogin без fenom для регистрации/авторизации.
Первый раз его использование не решило перезагрузку страницы после отправки формы.
                    Пока изучу как использовать AjaxFormitLogin без fenom для регистрации/авторизации.
Первый раз его использование не решило перезагрузку страницы после отправки формы.
                Лучше разберитесь с феном, с ним удобнее.            
                    
                У меня на сайте очень много шаблонов. Если я правильно поняла, после включения фенома, на сайте весь код нужно будет под феном переписать. Поэтому пока не могу перейти на феном.
Вот так я вызвала AjaxFormitLogin:
Теперь после отправки формы, страница не обновляется. Но также ничего не происходит. Поля формы остаются заполненными и не создается аккаунт.
                    Вот так я вызвала AjaxFormitLogin:
[[!AjaxFormitLogin?
&snippet=`Register`
&hooks=`email`
&form=`regform`
&usergroupsField=`Member`
&submitVar=`login-register-btn`
&activation=`0`
 &autoLogin=`1`
 &usernameField=`email`
 &passwordField=`password`
 &validate=`nospam:blank,
password:required:minLength=^8^,
password_confirm:password_confirm=^password^,
 fullname:required,
email:required:email`
&placeholderPrefix=`reg.`
]]А из кода формы убрала action="[[~[[*id]]]]" method="post".Теперь после отправки формы, страница не обновляется. Но также ничего не происходит. Поля формы остаются заполненными и не создается аккаунт.
                НУ я же давал ссылку на документацию по AjaxFormitLogin. Пакет Login использовать не нужно, весь его функционал уже есть в моём компоненте. В документации есть примеры вызовов для всех форм: регистрации, авторизации, восстановления пароля, редактирования данных, вам нужно только свой чанк формы подставить, ну и если мы говорим про регистрацию вот эти значения надо сохранить
                    &activation=`0`
 &autoLogin=`1`            
                Артур, подскажите пожалуйста, с помощью AjaxFormitLogin возможно ли без перезагрузки страницы после отправки формы на той же странице отобразить TicketForm?
На странице добавления вопроса в шаблоне я разместила следующий код:
                    На странице добавления вопроса в шаблоне я разместила следующий код:
[[!+modx.user.id:isloggedin:is=`1`:then=`[[$addquestion]]`:else=`[[$authregtabs]]`]]
                Можно, только нужно создать css класс, который будет управлять видимостью элементов, если такого класса еще нет, например «d-none», и блоку с формой и блоку с табами добавить условия. Для формы
                    [[!+modx.user.id:isloggedin:isnot=`1`:then=`d-none`]]для табов[[!+modx.user.id:isloggedin:is=`1`:then=`d-none`]]Ну и в JS на событие «afl_complete» если response.success и ['regForm', 'authForm'].includes(form.id) переключать классы.            
                Ну и по поводу фенома, он нормально работает со стандартным парсером, главное чтобы в шаблонах и чанках не было открывающих фигурных скобок не относящихся к феном, а если есть, то после них нужно просто поставить пробел.            
                    
                Кстати, если вы не знали, есть группа в Телеграмм где помощь можно получить оперативнее            
                    
                Заменила button на input. С таким способом, регистрация пользователей заработала.
Получается проблема была в button и оно не давало создавать пользователей?
                    Получается проблема была в button и оно не давало создавать пользователей?
                Не передавалось значение submitVar поэтому скрипт не отрабатывал.            
                    
                В принципе можно и button использовать, но тогда нужно указать у нее атрибут value с любым значением. Ибо иначе в post-запросе передается пустой ключ и поэтому submitVar не отрабатывает.            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.