<?php $registrate = $this->macros('users', 'registrate') ?>
Макрос возвращает id типа "Пользователи". Для того чтобы правильно создать форму для динамических полей, можно воспользоваться макросом %data getCreateForm()%, у которого в параметрах указать полученный id типа.
Например, если id типа "Пользователи" равен 4, то на вызов:
udata://data/getCreateForm/4
Будет получен ответ:
<udata module="data" method="getCreateForm" generation-time="0.004403">
<group name="short_info" title="Персональная информация">
<field name="lname" title="Фамилия"
input_name="data[new][lname]" type="string" id="11"/>
<field name="fname" title="Имя"
input_name="data[new][fname]" type="string" id="9" required="required"/>
<field name="father_name" title="Отчество"
input_name="data[new][father_name]" type="string" id="10"/>
</group>
</udata>
XML-ответ UData
<udata module="users" method="registrate"
xlink:href="udata://data/getCreateForm/4" generation-time="0.005895">
<type_id>4</type_id>
</udata>
Используемые шаблоны
Макрос оперирует шаблонами, находящимися в каталоге /tpls/users/register
.
Используемые блоки шаблона
settings_block
Блок для вывода настроек текущего зарегистрированного пользователя.
- %user_id%
-
Id пользователя.
mail_registrated
Тело письма о регистрации, которое будет отправлено новому пользователю.
- %user_id%
-
Id нового пользователя.
- %domain%
-
Имя вашего домена.
- %activate_link%
-
Ссылка для активации пользователя.
- %password%
-
Пароль.
mail_registrated_subject_noactivation
Тема письма, которое будет отправлено новому пользователю при регистрации без активации.
mail_registrated_noactivation
Этот блок определяет шаблон письма, которое будет отправлено новому пользователю при регистрации без активации.
- %domain%
-
Имя домена.
- %fname%
-
Имя
- %lname%
-
Фамилия
- %father_name%
-
Отчество
- %login%
-
Логин.
- %password%
-
Пароль.
Примеры использования
Простой вывод формы регистрации: %users registrate()%.
Вывод формы регистрации по пользовательскому шаблону: %users registrate('sample')%.
<?php
$FORMS = Array();
$FORMS['registrate_block'] = <<<REGISTRATE
<form action="%pre_lang%/users/registrate_do/" method="post" enctype="multipart/form-data">
<table border="0">
<tr>
<td width="200">
Логин:
</td>
<td>
<input type="text" name="login" class="textinputs" />
</td>
</tr>
<tr>
<td>
Пароль:
</td>
<td>
<input type="password" name="password" value="" class="textinputs" />
</td>
</tr>
<tr>
<td>
Подтверждение пароля:
</td>
<td>
<input type="password" name="password_confirm" value="" class="textinputs" />
</td>
</tr>
<tr>
<td>
E-mail:
</td>
<td>
<input type="text" name="email" value="" class="textinputs" />
</td>
</tr>
%data getCreateForm(%type_id%, 'users', 'short_info more_info')%
%eshop discountCardEditForm('default')%
</table>
%system captcha()%
<p><input type="submit" value="Зарегистрироваться" /></p>
</form>
REGISTRATE;
$FORMS['mail_registrated_subject'] = "Регистрация на UMI.CMS Demo Site";
$FORMS['mail_registrated'] = <<<MAIL
<p>
Здравствуйте, %lname% %fname% %father_name%, <br />
Вы зарегистрировались на сайте <a href="http://%domain%">%domain%</a>.
</p>
<p>
Логин: %login%<br />
Пароль: %password%
</p>
<p>
<div class="notice">
Чтобы активировать Ваш аккаунт, необходимо перейти по ссылке, либо скопировать ее в адресную строку браузера:<br />
<a href="%activate_link%">%activate_link%</a>
</div>
</p>
MAIL;
$FORMS['registrate_done_block'] = <<<END
Регистрация прошла успешно. На ваш e-mail отправлено письмо с инструкциями по активации аккаунта.
END;
$FORMS['activate_block'] = <<<END
<p>Аккаунт активирован.</p>
END;
$FORMS['activate_block_failed'] = <<<END
<p>Неверный код активации.</p>
END;
$FORMS['mail_registrated_subject_noactivation'] = "Регистрация на сайте %domain%";
$FORMS['mail_registrated_noactivation'] = <<<MAIL
<p>
Здравствуйте, %lname% %fname% %father_name%, <br />
Вы зарегистрировались на сайте <a href="http://%domain%">%domain%</a>.
</p>
<p>
Логин: %login%<br />
Пароль: %password%
</p>
MAIL;
$FORMS['mail_admin_registrated'] = <<<END
<p>Зарегистрировался новый пользователь "%login%".</p>
END;
$FORMS['mail_admin_registrated_subject'] = "Зарегистрировался новый пользователь";
?>
Название
%users registrate()% — Выводит форму регистрации пользователя на сайте.
Параметры: users registrate([template = 'default'])
- template
-
Имя шаблона, по которому выводится форма регистрации.
Описание
Макрос выводит форму регистрации пользователя по шаблону, указанному в параметре template. Вы можете не указывать этот параметр, тогда для вывода будет использован шаблон по умолчанию — /tpls/users/register/default.tpl
. Для гостя обязательно заполнение CAPTCHA (защита от автоматических запросов), поэтому в блоке шаблона registrate_block должен быть прописан макрос %system captcha()% .
Форма регистрации должна быть отправлена на url %pre_lang%/users/registrate_do/. После регистрации пользователю отправляется письмо, которое формируется по блокам шаблона mail_registrated и mail_registrated_subject.
При включенной галочке "регистрация без активации" письма о регистрации нового пользователя формируются на основе блоков mail_registrated_noactivation и mail_registrated_subject_noactivation.