<?=$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>
XML-ответ UData
<udata xlink:href="udata://data/getEditForm/14" module="users" method="settings" generation-time="0.000269">
<user_id>14</user_id>
</udata>
Используемые шаблоны
Макрос оперирует шаблонами, находящимися в каталоге /tpls/users/register
.
Примеры использования
Простой вывод формы настроек: %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/.