Этот шаблон users.edit.tpl используется для редактирования данных пользователей от имени администратора. Он представляет собой HTML-шаблон с внедрением тэгов и логики, характерной для Cotonti CMF. Шаблон отвечает за представление интерфейса редактирования пользователей в административной панели.
Описание структуры шаблона
-
Общий контейнер:
Шаблон начинается с<div class="block">, что указывает на основной блок содержимого. Здесь выводится заголовок с навигационной цепочкой ({USERS_EDIT_BREADCRUMBS}). -
Интеграция предупреждений:
Подключается файлwarnings.tplиз текущей темы пользователя для отображения сообщений об ошибках или предупреждениях ({PHP.cfg.themes_dir}/{PHP.usr.theme}/warnings.tpl). -
Форма редактирования:
Вся функциональность редактирования обернута в HTML-форму с методомPOST:- URL для отправки данных указывается через
{USERS_EDIT_SEND}. - Передача скрытого поля с ID пользователя (
{USERS_EDIT_ID}).
- URL для отправки данных указывается через
-
Основное содержимое таблицы:
Таблица с классомcellsсодержит поля для редактирования пользователя:- ID и имя пользователя: Указаны через
{USERS_EDIT_ID}и{USERS_EDIT_NAME}. - Группы пользователей: Поле
{USERS_EDIT_GROUPS}отображает текущие группы, в которые входит пользователь, с указанием главной группы. - Страна, часовой пояс, тема и язык: Данные о регионе и пользовательских настройках отображаются через соответствующие переменные (
{USERS_EDIT_COUNTRY},{USERS_EDIT_TIMEZONE},{USERS_EDIT_THEME},{USERS_EDIT_LANG}).
- ID и имя пользователя: Указаны через
-
Пользовательские данные:
- Поля для аватара, подписи и фотографии пользователя отображаются только если они активированы в системе (
{USERS_EDIT_AVATAR},{USERS_EDIT_SIGNATURE},{USERS_EDIT_PHOTO}). - Изменение пароля: Поле для ввода нового пароля (
{USERS_EDIT_NEWPASS}) с пояснением ({PHP.L.users_newpasshint1}). - Email и его видимость (
{USERS_EDIT_EMAIL},{USERS_EDIT_HIDEEMAIL}).
- Поля для аватара, подписи и фотографии пользователя отображаются только если они активированы в системе (
-
Дополнительные модули:
- Уведомления о новых личных сообщениях отображаются только если модуль PM активен (
{USERS_EDIT_PMNOTIFY}).
- Уведомления о новых личных сообщениях отображаются только если модуль PM активен (
-
Личные данные пользователя:
- Дата рождения (
{USERS_EDIT_BIRTHDATE}), пол ({USERS_EDIT_GENDER}), подпись ({USERS_EDIT_TEXT}), дата регистрации ({USERS_EDIT_REGDATE}), последняя активность ({USERS_EDIT_LASTLOG}), последний IP-адрес ({USERS_EDIT_LASTIP}), и количество входов в систему ({USERS_EDIT_LOGCOUNT}).
- Дата рождения (
-
Удаление пользователя:
Опция удаления пользователя представлена через{USERS_EDIT_DELETE}. -
Кнопка обновления:
Кнопка для отправки формы обновления расположена в последней строке таблицы.
Ключевые особенности
- Условные блоки (IF): Используются для проверки наличия данных перед их выводом (например, для аватара, подписи, фотографии или модуля личных сообщений).
- Интернационализация (i18n): Все текстовые метки в шаблоне зависят от локализации и заменяются на языковые строки (
{PHP.L.*}). - Динамическое подключение данных: Шаблон интегрирован с PHP-кодом через тэги вроде
{USERS_EDIT_*}, что позволяет динамически загружать и отображать данные пользователя.
Применение
Этот шаблон используется для отображения и редактирования профилей пользователей в административной панели. Он обеспечивает удобный интерфейс для изменения персональных данных, настроек, а также управления учетной записью.
<!-- BEGIN: MAIN --> <!-- Начало основного блока, который будет обработан через $t->parse('MAIN') -->
<div class="block">
<h2 class="users">{USERS_EDIT_BREADCRUMBS}</h2> <!-- Переменная USERS_EDIT_BREADCRUMBS выводит хлебные крошки для страницы редактирования пользователя -->
{FILE "{PHP.cfg.themes_dir}/{PHP.usr.theme}/warnings.tpl"} <!-- Подключение файла предупреждений для текущей темы -->
<form action="{USERS_EDIT_SEND}" method="post" name="useredit" enctype="multipart/form-data"> <!-- Форма для редактирования пользователя, отправка данных на действие USERS_EDIT_SEND -->
<input type="hidden" name="id" value="{USERS_EDIT_ID}" /> <!-- Скрытое поле для ID редактируемого пользователя -->
<table class="cells">
<tr>
<td class="width30">{PHP.L.users_id}:</td> <!-- Переменная PHP.L.users_id выводит метку для ID пользователя -->
<td class="width70">#{USERS_EDIT_ID}</td> <!-- Переменная USERS_EDIT_ID выводит ID пользователя -->
</tr>
<tr>
<td>{PHP.L.Username}:</td> <!-- Переменная PHP.L.Username выводит метку для имени пользователя -->
<td>{USERS_EDIT_NAME}</td> <!-- Переменная USERS_EDIT_NAME выводит имя пользователя -->
</tr>
<tr>
<td>{PHP.L.Groupsmembership}:</td> <!-- Переменная PHP.L.Groupsmembership выводит метку для групп пользователя -->
<td class="user-groups">
{PHP.L.Maingroup}:<br /> <!-- Переменная PHP.L.Maingroup выводит метку для основной группы пользователя -->
{PHP.R.icon_vert_active.asc}<br /> <!-- Иконка для отображения активного статуса группы -->
{USERS_EDIT_GROUPS} <!-- Переменная USERS_EDIT_GROUPS выводит список групп пользователя -->
</td>
</tr>
<tr id="users-ban-expire">
<td>{PHP.L.Country}:</td> <!-- Переменная PHP.L.Country выводит метку для страны пользователя -->
<td>{USERS_EDIT_COUNTRY}</td> <!-- Переменная USERS_EDIT_COUNTRY выводит страну пользователя -->
</tr>
<tr>
<td>{PHP.L.Country}:</td> <!-- Повторение строки для отображения страны пользователя -->
<td>{USERS_EDIT_COUNTRY}</td> <!-- Повторное отображение страны пользователя -->
</tr>
<tr>
<td>{PHP.L.Timezone}:</td> <!-- Переменная PHP.L.Timezone выводит метку для часового пояса пользователя -->
<td>{USERS_EDIT_TIMEZONE}</td> <!-- Переменная USERS_EDIT_TIMEZONE выводит часовой пояс пользователя -->
</tr>
<tr>
<td>{PHP.L.Theme}:</td> <!-- Переменная PHP.L.Theme выводит метку для темы пользователя -->
<td>{USERS_EDIT_THEME}</td> <!-- Переменная USERS_EDIT_THEME выводит текущую тему пользователя -->
</tr>
<tr>
<td>{PHP.L.Language}:</td> <!-- Переменная PHP.L.Language выводит метку для языка пользователя -->
<td>{USERS_EDIT_LANG}</td> <!-- Переменная USERS_EDIT_LANG выводит язык пользователя -->
</tr>
<!-- IF {USERS_EDIT_AVATAR} --> <!-- Проверка, если у пользователя есть аватар -->
<tr>
<td>{PHP.L.Avatar}:</td> <!-- Переменная PHP.L.Avatar выводит метку для аватара пользователя -->
<td>{USERS_EDIT_AVATAR}</td> <!-- Переменная USERS_EDIT_AVATAR выводит аватар пользователя -->
</tr>
<!-- ENDIF --> <!-- Конец проверки наличия аватара -->
<!-- IF {USERS_EDIT_SIGNATURE} --> <!-- Проверка, если у пользователя есть подпись -->
<tr>
<td>{PHP.L.Signature}:</td> <!-- Переменная PHP.L.Signature выводит метку для подписи пользователя -->
<td>{USERS_EDIT_SIGNATURE}</td> <!-- Переменная USERS_EDIT_SIGNATURE выводит подпись пользователя -->
</tr>
<!-- ENDIF --> <!-- Конец проверки наличия подписи -->
<!-- IF {USERS_EDIT_PHOTO} --> <!-- Проверка, если у пользователя есть фотография -->
<tr>
<td>{PHP.L.Photo}:</td> <!-- Переменная PHP.L.Photo выводит метку для фотографии пользователя -->
<td>{USERS_EDIT_PHOTO}</td> <!-- Переменная USERS_EDIT_PHOTO выводит фотографию пользователя -->
</tr>
<!-- ENDIF --> <!-- Конец проверки наличия фотографии -->
<tr>
<td>{PHP.L.users_newpass}:</td> <!-- Переменная PHP.L.users_newpass выводит метку для нового пароля -->
<td>
{USERS_EDIT_NEWPASS} <!-- Переменная USERS_EDIT_NEWPASS выводит поле для ввода нового пароля -->
<p class="small">{PHP.L.users_newpasshint1}</p> <!-- Переменная PHP.L.users_newpasshint1 выводит подсказку для ввода нового пароля -->
</td>
</tr>
<tr>
<td>{PHP.L.Email}:</td> <!-- Переменная PHP.L.Email выводит метку для электронной почты пользователя -->
<td>{USERS_EDIT_EMAIL}</td> <!-- Переменная USERS_EDIT_EMAIL выводит электронную почту пользователя -->
</tr>
<tr>
<td>{PHP.L.users_hideemail}:</td> <!-- Переменная PHP.L.users_hideemail выводит метку для скрытия электронной почты -->
<td>{USERS_EDIT_HIDEEMAIL}</td> <!-- Переменная USERS_EDIT_HIDEEMAIL выводит поле для скрытия или показа электронной почты -->
</tr>
<!-- IF {PHP.cot_modules.pm} --> <!-- Проверка, если модуль личных сообщений активен -->
<tr>
<td>{PHP.L.users_pmnotify}:</td> <!-- Переменная PHP.L.users_pmnotify выводит метку для уведомлений о личных сообщениях -->
<td>{USERS_EDIT_PMNOTIFY}<br />{PHP.themelang.usersedit.PMnotifyhint}</td> <!-- Переменная USERS_EDIT_PMNOTIFY выводит поле для уведомлений, подсказка отображается через PHP.themelang.usersedit.PMnotifyhint -->
</tr>
<!-- ENDIF --> <!-- Конец проверки наличия модуля личных сообщений -->
<tr>
<td>{PHP.L.Birthdate}:</td> <!-- Переменная PHP.L.Birthdate выводит метку для даты рождения пользователя -->
<td>{USERS_EDIT_BIRTHDATE}</td> <!-- Переменная USERS_EDIT_BIRTHDATE выводит дату рождения пользователя -->
</tr>
<tr>
<td>{PHP.L.Gender}:</td> <!-- Переменная PHP.L.Gender выводит метку для пола пользователя -->
<td>{USERS_EDIT_GENDER}</td> <!-- Переменная USERS_EDIT_GENDER выводит поле для выбора пола пользователя -->
</tr>
<tr>
<td>{PHP.L.Signature}:</td> <!-- Переменная PHP.L.Signature выводит метку для подписи пользователя -->
<td>{USERS_EDIT_TEXT}</td> <!-- Переменная USERS_EDIT_TEXT выводит текст подписи пользователя -->
</tr>
<tr>
<td>{PHP.L.Registered}:</td> <!-- Переменная PHP.L.Registered выводит метку для даты регистрации пользователя -->
<td>{USERS_EDIT_REGDATE}</td> <!-- Переменная USERS_EDIT_REGDATE выводит дату регистрации пользователя -->
</tr>
<tr>
<td>{PHP.L.Lastlogged}:</td> <!-- Переменная PHP.L.Lastlogged выводит метку для даты последнего входа пользователя -->
<td>{USERS_EDIT_LASTLOG}</td> <!-- Переменная USERS_EDIT_LASTLOG выводит дату последнего входа пользователя -->
</tr>
<tr>
<td>{PHP.L.users_lastip}:</td> <!-- Переменная PHP.L.users_lastip выводит метку для последнего IP-адреса пользователя -->
<td>{USERS_EDIT_LASTIP}</td> <!-- Переменная USERS_EDIT_LASTIP выводит последний IP-адрес пользователя -->
</tr>
<tr>
<td>{PHP.L.users_logcounter}:</td> <!-- Переменная PHP.L.users_logcounter выводит метку для счетчика входов пользователя -->
<td>{USERS_EDIT_LOGCOUNT}</td> <!-- Переменная USERS_EDIT_LOGCOUNT выводит количество входов пользователя -->
</tr>
<tr>
<td>{PHP.L.users_deleteuser}:</td> <!-- Переменная PHP.L.users_deleteuser выводит метку для удаления пользователя -->
<td>{USERS_EDIT_DELETE}</td> <!-- Переменная USERS_EDIT_DELETE выводит кнопку или ссылку для удаления пользователя -->
</tr>
<tr>
<td colspan="2" class="valid"><button type="submit">{PHP.L.Update}</button></td> <!-- Кнопка отправки формы с текстом "Обновить", текст берется из переменной PHP.L.Update -->
</tr>
</table>
</form>
</div>
<!-- END: MAIN --> <!-- Конец основного блока, который будет обработан через $t->parse('MAIN') -->