Логотип

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

<?=$this->render($this->macros('users', 'settings'), 'users/settings')?>

Макрос возвращает id текущего пользователя. Для того чтобы правильно создать форму для динамических полей, можно воспользоваться макросом %data getEditForm()%, у которого в параметрах указать полученный id. Например, если id пользователя равен 14, то на вызов:

udata://data/getEditForm/14

Будет получен ответ:

<udata module="data" method="getEditForm" generation-time="0.004957">
  <group name="short_info" title="Персональная информация">
    <field name="lname" title="Фамилия" input_name="data[14][lname]" type="string" id="11">Фамилия</field>
    <field name="fname" title="Имя"  input_name="data[14][fname]" type="string" id="9" required="required">Имя</field>
    <field name="father_name" title="Отчество" input_name="data[14][father_name]" type="string" id="10">Отчество</field>
  </group>
</udata>

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

udata://users/settings

XML-ответ UData

<udata xlink:href="udata://data/getEditForm/14" module="users" method="settings" generation-time="0.000269">
  <user_id>14</user_id>
</udata>

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

@xlink:href

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

<user_id>

Идентификатор пользователя.

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

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

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

settings_block

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

%user_id%

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

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

Простой вывод формы настроек: %users settings()%.

Вывод формы настроек по пользовательскому шаблону: %users settings('sample')%.

<?php

$FORMS = Array();

$FORMS['settings_block'] = <<<REGISTRATE

 <form action="%pre_lang%/users/settings_do/" method="post" enctype="multipart/form-data">

  <table cellspacing="1" cellpadding="1" width="100%" border="0">
   <tr>
    <td>Логин:</td>

    <td>
     <input type="text" value="%login%" class="textinputs" disabled="disabled" />
    </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="%e-mail%" class="textinputs" />
    </td>
   </tr>
   %data getEditForm(%user_id%, 'users', 'short_info more_info')%

   %eshop discountCardEditForm('default')%

   %blogs userBlogs('default')%
  </table>

  <p><input type="submit" value="Сохранить изменения" /></p>


 </form>

REGISTRATE;

?>

Название

%users settings()% — Выводит форму изменения настроек пользователя.

Параметры: users settings([template = 'default'])

template

Имя шаблона, по которому выводится форма для изменения настроек.

Описание

Макрос выводит форму регистрации пользователя по шаблону, указанному в параметре template. Вы можете не указывать этот параметр, тогда для вывода будет использован шаблон по умолчанию — /tpls/users/register/default.tpl.

Форма настроек должна быть отправлена на url %pre_lang%/users/settings_do/.

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