Итак, чтобы сделать регистрацию на сайте под управлением системы MODX Evolution мне потребуется собственно сама CMS / CMF и сниппет под названием WebSignup. Последний является стандартным и, если вы при при инсталляции приложения не снимали флажков по умолчанию, то он у вас будет готов к применению. В противном случае доустановите. Также рекомендую прочесть статью о правах доступа, группах пользователей и ресурсов.
Для данной публикации я использую следующие версии программных продуктов:
- MODX Evolution 1.0.10.
- WebSignup 1.1.
- Twitter Bootstrap.
Причем популярный CSS фреймворк использовать вовсе необязательно, — я его беру для того, чтобы все элементы на форме выглядели более или менее прилично.
Создайте страницу или чанк, куда поместите следующий вызов сниппета WebSignup:
[!WebSignup? &tpl=`registerForm` &groups=`authors` &useCaptcha=`1` !]
tpl
— чанк, содержащий код формы регистрации на HTML ;groups
— группа или группы пользователей к которым будет причислен посетитель после регистрации;useCaptcha
— разрешает использовать капчу. Сами понимаете спамерских скриптов сейчас очень много.
Если не использовать собственный чанк-шаблон tpl
, то WebSignup будет грузить разметку, которая установлена по умолчанию. Учитывая то, что там помимо имени пользователя, пароля и адреса электронной почты будут также присутствовать такие поля, как страна, фамилия, имя, почтовый индекс. А это согласитесь нам, а тем более мне, ненужно.
Подсмотрев поля в assets/snippets/weblogin/weblogin.inc.php формируем содержимое чанка формы регистрации на сайте, который я назвал registerForm:
<form class="form-horizontal" method="POST" name="websignupfrm" action="[+action+]"> <fieldset> <div id="legend"> <legend class="">Зарегистрироваться</legend> </div> <div class="control-group"> <!-- Логин --> <label class="control-label" for="username">Имя пользователя</label> <div class="controls"> <input type="text" id="username" value="[+username+]" name="username" placeholder="" class="input-xlarge"> <p class="help-block">Имя пользователя можеть содержать символы латинского алфавита, а также цифры, но без пробелов.</p> </div> </div> <div class="control-group"> <!-- Почта --> <label class="control-label" for="email">Эл. почта</label> <div class="controls"> <input type="text" id="email" value="[+email+]" name="email" placeholder="" class="input-xlarge"> <p class="help-block">Пожалуйста укажите действительный адрес электронной почты.</p> </div> </div> <div class="control-group"> <!-- Пароль--> <label class="control-label" for="password">Пароль</label> <div class="controls"> <input type="password" id="password" name="password" placeholder="" class="input-xlarge"> <p class="help-block">Придумайте надежный пароль для учетной записи.</p> </div> </div> <div class="control-group"> <!-- Пароль --> <label class="control-label" for="confirmpassword">Пароль ещё раз</label> <div class="controls"> <input type="password" id="confirmpassword" name="confirmpassword" placeholder="" class="input-xlarge"> <p class="help-block">Подтвердите придуманный вами пароль.</p> </div> </div> <div class="control-group"> <!-- Капча --> <label class="control-label" for="formcode">Проверочный код</label> <div class="controls"> <p><img src="manager/includes/veriword.php" alt="Код проверки" /></p> <input type="text" id="formcode" name="formcode" placeholder="" class="input-xlarge"> <p class="help-block">Введите символы с картинки, если вы человек.</p> </div> </div> <div class="control-group"> <!-- Кнопка --> <div class="controls"> <input class="btn btn-success" type="submit" value="Регистрация" name="cmdwebsignup" /> </div> </div> </fieldset> </form>
Вот, что у вас должно получиться:
Обратите внимание на ссылку для генерации капчи (manager/includes/veriword.php), а также имена элементов управления и вставки подобные [+username+]
.
Дополнительная информация:
Посмотреть список зарегистрировавшихся веб-пользователей и убедиться, что форма работает можно на странице «Управление веб-пользователями»:
По понятным причинам здесь я преднамеренно не рассматриваю такие вопросы, как например создание чанков, что такое сниппеты, шаблоны и т.д. и т.п.
А через какой модуль можно используя соц.сети регистрироваться?
Павел, попробуйте задать свой вопрос на http://modx.ru/vopros-otvet/.
Скажите, а кометарии на данном сайте выводятся с помощью QUIP?
Нет, обычная система комментирования WordPress.