Логотип

Документация по макросам и шаблонам UMI.CMS

users registrate()

Название

%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.

Дополнительные сведения

<?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>

Пример вызова

udata://users/registrate

XML-ответ UData

<udata module="users" method="registrate"
 xlink:href="udata://data/getCreateForm/4" generation-time="0.005895">
  <type_id>4</type_id>
</udata>

Элементы и атрибуты

@xlink:href

Готовая ссылка на макрос %data getCreateForm()% с подставленным id типа "Пользователи".

<type_id>

Id типа "Пользователи".

Используемые шаблоны

Макрос оперирует шаблонами, находящимися в каталоге /tpls/users/register.

Используемые блоки шаблона

registrate_block

Блок для вывода формы регистрации.

%type_id%

Id типа «Пользователи».

settings_block

Блок для вывода настроек текущего зарегистрированного пользователя.

%user_id%

Id пользователя.

mail_registrated_subject

Тема письма о регистрации, которое будет отправлено новому пользователю.

mail_registrated

Тело письма о регистрации, которое будет отправлено новому пользователю.

%user_id%

Id нового пользователя.

%domain%

Имя вашего домена.

%activate_link%

Ссылка для активации пользователя.

%password%

Пароль.

registrate_done_block

Выводится при успешной регистрации.

activate_block

Выводится при успешной активации.

activate_block_failed

Выводится при ошибке активации.

mail_registrated_subject_noactivation

Тема письма, которое будет отправлено новому пользователю при регистрации без активации.

mail_registrated_noactivation

Этот блок определяет шаблон письма, которое будет отправлено новому пользователю при регистрации без активации.

%domain%

Имя домена.

%fname%

Имя

%lname%

Фамилия

%father_name%

Отчество

%login%

Логин.

%password%

Пароль.

mail_admin_registrated_subject

Тема письма, которое будет отправлено администратору при регистрации нового пользователя.

mail_admin_registrated

Блок определяющий шаблон письма, которое будет отправлено администратору при регистрации нового пользователя.

Примеры использования

Простой вывод формы регистрации: %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'] = "Зарегистрировался новый пользователь";

?>