Описание шаблона admin.config.tpl
Основное назначение:
Шаблон admin.config.tpl предназначен для отображения интерфейса страницы управления настройками системы в административной панели фреймворка Cotonti. Он обеспечивает администратору возможность просматривать и изменять параметры конфигурации, а также сбрасывать их до значений по умолчанию. Шаблон содержит как форму для редактирования настроек, так и раздел с основными параметрами, которые можно изменить.
Место в системе Cotonti:
Этот шаблон находится в административной части системы, и его основная роль заключается в предоставлении интерфейса для управления глобальными настройками веб-приложения. Он является частью панели настроек и используется для взаимодействия с конфигурационными данными.
Суть содержания кода
Шаблон разделен на два основных блока, каждый из которых выполняет свои задачи:
-
Блок редактирования настроек (Edit):
- Внутри блока
EDITпредоставляется форма для редактирования параметров конфигурации. - В нем используются таблицы для организации отображения параметров, значений и кнопки сброса.
- Есть возможность обновить конфигурацию с помощью отправки формы, реализованной через AJAX (
class="ajax"). - Каждый параметр конфигурации отображается в виде строки таблицы с заголовком (параметр), значением и кнопкой для сброса параметра. Для некоторых параметров может быть предоставлена дополнительная информация или настройки.
- Внутри блока
-
Блок отображения стандартных параметров (Default):
- Внутри блока
DEFAULTпредставлены ссылки на другие группы или параметры конфигурации, которые могут быть изменены. - Эти параметры отображаются в виде списка с названиями и иконками, где каждая строка представляет собой ссылку на настройку или раздел, который можно изменить.
- Внутри блока
Задачи и условия выполнения
-
Редактирование параметров: Пользователь может изменять значения настроек, а изменения будут отправляться на сервер через AJAX. Параметры отображаются в таблице, где для каждого параметра есть возможность сбросить его значение до дефолтного.
-
Группировка настроек: Параметры могут быть сгруппированы в наборы, каждый из которых имеет свой заголовок. Эти группы помогают организовать отображение большого количества параметров.
-
Интерактивность: Использование AJAX позволяет без перезагрузки страницы сохранять изменения в настройках и обновлять значения параметров.
-
Отображение ссылок и параметров: В блоке "DEFAULT" отображаются списки ссылок на другие параметры, которые можно отредактировать. Для каждого элемента предоставляется иконка и название.
Переменные и функции в фигурных скобках
{FILE "{PHP.cfg.system_dir}/admin/tpl/warnings.tpl"}{ADMIN_CONFIG_EDIT_CUSTOM}{ADMIN_CONFIG_FORM_URL}{PHP.L.Parameter}{PHP.L.Value}{PHP.L.Reset}{PHP.L.Update}{ADMIN_CONFIG_ROW}{ADMIN_CONFIG_FIELDSET_TITLE}{ADMIN_CONFIG_ROW_CONFIG_TITLE}{ADMIN_CONFIG_ROW_CONFIG}{ADMIN_CONFIG_ROW_CONFIG_MORE}{ADMIN_CONFIG_ROW_CONFIG_MORE_URL}{ADMIN_CONFIG_COL_CAPTION}{ADMIN_CONFIG_ROW_URL}{ADMIN_CONFIG_ROW_ICON}{ADMIN_CONFIG_ROW_NAME}
Комментарии по конструкциям <!-- ... -->
-
<!-- BEGIN: MAIN -->и<!-- END: MAIN -->:
Эти метки обрабатываются движком Cotonti и являются указанием на главный блок, который будет парситься через$t->parse('MAIN'). Это основной контейнер шаблона. -
<!-- BEGIN: EDIT -->и<!-- END: EDIT -->:
Указывает на блок редактирования, в котором пользователь может изменять параметры конфигурации. Внутри этого блока находится форма с таблицей настроек. -
<!-- BEGIN: ADMIN_CONFIG_ROW -->и<!-- END: ADMIN_CONFIG_ROW -->:
Это блок, который отображает каждый параметр конфигурации. Внутри него выводятся данные, такие как название параметра, его значение и кнопка сброса. -
<!-- BEGIN: ADMIN_CONFIG_FIELDSET_BEGIN -->и<!-- END: ADMIN_CONFIG_FIELDSET_BEGIN -->:
Этот блок используется для группировки параметров в определенные категории. Он отображает заголовок для группы параметров. -
<!-- BEGIN: ADMIN_CONFIG_ROW_OPTION -->и<!-- END: ADMIN_CONFIG_ROW_OPTION -->:
Отображает строку параметра конфигурации. Если для параметра есть дополнительная информация, то она будет показана в отдельном блоке. -
<!-- BEGIN: DEFAULT -->и<!-- END: DEFAULT -->:
Этот блок содержит стандартные параметры или ссылки, которые могут быть изменены пользователем. Здесь отображаются категории с параметрами. -
<!-- BEGIN: ADMIN_CONFIG_COL -->и<!-- END: ADMIN_CONFIG_COL -->:
Используется для отображения группы ссылок на различные настройки. Каждая ссылка ведет на отдельную категорию или параметр, который можно изменить.
Характеристика стиля HTML/CSS/JS
-
HTML:
Структура шаблона организована с использованием стандартных HTML-элементов, таких как таблицы, формы и ссылки. Используются элементыtable,tr,tdдля представления данных в виде таблиц, а такжеformдля сбора данных и отправки их на сервер. -
CSS:
Используются классы CSS для стилизации элементов таблицы и формы. Например, классыcells,centerall,group_begin,w-35,w-60определяют стили и размеры ячеек и других элементов в таблице. -
JS:
Используется JavaScript для реализации функционала отправки формы через AJAX. Классajaxв форме указывает на то, что форма будет отправлена без перезагрузки страницы, что делает взаимодействие с пользователем более плавным.
Этот шаблон, таким образом, является важной частью административной панели для управления параметрами конфигурации Cotonti, обеспечивая удобный и интерактивный интерфейс для администраторов.
<!-- BEGIN: MAIN --> <!-- Начало основного логического блока -->
{FILE "{PHP.cfg.system_dir}/admin/tpl/warnings.tpl"} <!-- Подключает файл с предупреждениями -->
<!-- BEGIN: EDIT --> <!-- Начало блока для редактирования конфигурации -->
{ADMIN_CONFIG_EDIT_CUSTOM} <!-- Вставляет дополнительные пользовательские данные для редактирования настроек -->
<div class="block">
<form name="saveconfig" id="saveconfig" action="{ADMIN_CONFIG_FORM_URL}" method="post" class="ajax"> <!-- Форма для отправки изменений настроек через AJAX -->
<table class="cells"> <!-- Таблица для отображения параметров конфигурации -->
<thead>
<tr>
<th class="w-35">{PHP.L.Parameter}</th> <!-- Название параметра -->
<th class="w-60">{PHP.L.Value}</th> <!-- Текущее значение параметра -->
<th class="w-5">{PHP.L.Reset}</th> <!-- Кнопка для сброса параметра -->
</tr>
</thead>
<tfoot>
<tr>
<td colspan="3">
<input type="submit" value="{PHP.L.Update}" /> <!-- Кнопка для отправки формы и обновления параметров -->
</td>
</tr>
</tfoot>
<tbody>
<!-- BEGIN: ADMIN_CONFIG_ROW --> <!-- Начало блока для строки конфигурационного параметра -->
<!-- BEGIN: ADMIN_CONFIG_FIELDSET_BEGIN --> <!-- Начало группы параметров -->
<tr>
<td class="group_begin" colspan="3">
<h4>{ADMIN_CONFIG_FIELDSET_TITLE}</h4> <!-- Заголовок для группы параметров -->
</td>
</tr>
<!-- END: ADMIN_CONFIG_FIELDSET_BEGIN --> <!-- Конец группы параметров -->
<!-- BEGIN: ADMIN_CONFIG_ROW_OPTION --> <!-- Начало блока для конфигурационного параметра -->
<tr>
<td>{ADMIN_CONFIG_ROW_CONFIG_TITLE}:</td> <!-- Название конфигурационного параметра -->
<td>
{ADMIN_CONFIG_ROW_CONFIG} <!-- Значение конфигурационного параметра -->
<!-- IF {ADMIN_CONFIG_ROW_CONFIG_MORE} --> <!-- Проверка наличия дополнительной информации для параметра -->
<div class="adminconfigmore">{ADMIN_CONFIG_ROW_CONFIG_MORE}</div> <!-- Дополнительная информация, если она существует -->
<!-- ENDIF --> <!-- Конец условия -->
</td>
<td class="centerall">
<a href="{ADMIN_CONFIG_ROW_CONFIG_MORE_URL}" class="button">{PHP.L.Reset}</a> <!-- Ссылка для сброса параметра на значение по умолчанию -->
</td>
</tr>
<!-- END: ADMIN_CONFIG_ROW_OPTION --> <!-- Конец строки конфигурационного параметра -->
<!-- END: ADMIN_CONFIG_ROW --> <!-- Конец блока строки конфигурации -->
</tbody>
</table>
</form>
</div>
<!-- END: EDIT --> <!-- Конец блока редактирования конфигурации -->
<!-- BEGIN: DEFAULT --> <!-- Начало блока для отображения списка параметров -->
<!-- BEGIN: ADMIN_CONFIG_COL --> <!-- Начало колонки с параметрами -->
<div class="block">
<h2>{ADMIN_CONFIG_COL_CAPTION}:</h2> <!-- Заголовок колонки -->
<div class="wrapper">
<ul class="cfg"> <!-- Список конфигурационных параметров -->
<!-- BEGIN: ADMIN_CONFIG_ROW --> <!-- Начало строки параметра -->
<li>
<a href="{ADMIN_CONFIG_ROW_URL}" class="ajax">{ADMIN_CONFIG_ROW_ICON} {ADMIN_CONFIG_ROW_NAME}</a> <!-- Ссылка на параметр с иконкой и названием -->
</li>
<!-- END: ADMIN_CONFIG_ROW --> <!-- Конец строки параметра -->
</ul>
</div>
</div>
<!-- END: ADMIN_CONFIG_COL --> <!-- Конец колонки параметров -->
<!-- END: DEFAULT --> <!-- Конец блока для отображения списка параметров -->
<!-- END: MAIN --> <!-- Конец основного логического блока -->