Pages, Articles & News
Tools & Plugins
Example / Placeholder Title


Description as an example placeholder. Sample text content for further customization of the "Index36" template.

You are free to edit and customize the template however you like. If you don’t have time or enough knowledge — you can always order template adaptation by contacting me via GitHub or private messages on the digital goods marketplace.

HTML-шаблон admin.extensions.tpl в Cotonti

отвечает за отображение интерфейса для управления расширениями, для визуализации данных о различных расширениях, их статусах, настройках и зависимостях

HTML-шаблон admin.extensions.tpl в Cotonti

Описание файла шаблона admin.extensions.tpl в Cotonti CMF

Файл шаблона admin.extensions.tpl, расположенный в директории /system/admin/tpl/ фреймворка Cotonti, отвечает за отображение интерфейса для управления расширениями в админ-панели системы. Этот шаблон используется для визуализации данных о различных расширениях, их статусах, настройках и зависимостях, а также для предоставления административных функций, таких как установка, обновление и удаление расширений.

Основное назначение и место в системе Cotonti

  1. Основное назначение:
    • Файл admin.extensions.tpl представляет собой шаблон для админского интерфейса, в котором пользователи могут управлять различными расширениями (плагинами, модулями) системы. Это позволяет администраторам сайта устанавливать, обновлять, конфигурировать и удалять расширения, а также контролировать их активность.
  2. Место в системе:
    • Шаблон размещен в директории /system/admin/tpl/, что указывает на его принадлежность к административной панели сайта. В админ-панели Cotonti шаблоны часто используются для визуализации и взаимодействия с данными, которые обрабатываются через PHP-скрипты, с помощью движка шаблонов XTemplate. Шаблон admin.extensions.tpl подключается и выводит данные, переданные из соответствующих PHP-скриптов.

Суть содержания кода и выполняемые задачи

Файл шаблона решает несколько ключевых задач:

  1. Отображение информации о расширениях:

    • Шаблон предоставляет структуру для отображения данных о расширениях, таких как код, описание, версия, дата и автор. Эти данные заполняются динамически через переменные PHP, передаваемые в шаблон.
  2. Управление состоянием расширений:

    • Шаблон предоставляет возможность для администратора управлять состоянием расширений (например, пауза/возобновление, установка/удаление). Это реализуется через различные кнопки, с помощью которых можно выполнять действия с расширениями, такими как установка, обновление, пауза, и др.
  3. Работа с зависимостями:

    • Файл также отображает информацию о зависимостях расширений, если таковые имеются. Если расширение зависит от других, эти зависимости будут отображаться в виде списка с возможностью перехода по ссылкам.
  4. Интерфейс для работы с хранилищем тегов:

    • Шаблон позволяет отображать теги, связанные с расширениями, а также предоставляет возможность работы с метками для организации контента и поиска по ним.
  5. Обработка ошибок:

    • Для каждой строки, в которой происходит ошибка, шаблон отображает специальную информацию об ошибке, если таковая имеется, например, в случае некорректного порядка расширений или других проблем.

Перечень переменных и функций, заключенных в фигурные скобки

  • {PHP.L.Code}
  • {ADMIN_EXTENSIONS_CODE}
  • {PHP.L.Description}
  • {ADMIN_EXTENSIONS_DESCRIPTION}
  • {PHP.L.Version}
  • {ADMIN_EXTENSIONS_VERSION_INSTALLED}
  • {ADMIN_EXTENSIONS_VERSION}
  • {PHP.L.Date}
  • {ADMIN_EXTENSIONS_DATE}
  • {PHP.L.Category}
  • {ADMIN_EXTENSIONS_CATEGORY_TITLE}
  • {ADMIN_EXTENSIONS_JUMPTO_URL}
  • {ADMIN_EXTENSIONS_ADMIN_URL}
  • {ADMIN_EXTENSIONS_CONFIG_URL}
  • {ADMIN_EXTENSIONS_TOTALCONFIG}
  • {ADMIN_EXTENSIONS_RIGHTS_URL}
  • {ADMIN_EXTENSIONS_STRUCTURE_URL}
  • {PHP.L.Hooks}
  • {ADMIN_EXTENSIONS_CNT_HOOK}
  • {ADMIN_EXTENSIONS_HOOK}
  • {ADMIN_EXTENSIONS_CODE}
  • {ADMIN_EXTENSIONS_ORDER}
  • {ADMIN_EXTENSIONS_ACTIVE}
  • {ADMIN_EXTENSIONS_DETAILS_ROW_I_1}
  • {ADMIN_EXTENSIONS_DETAILS_ROW_PART}
  • {ADMIN_EXTENSIONS_DETAILS_ROW_FILE}
  • {ADMIN_EXTENSIONS_DETAILS_ROW_HOOKS}
  • {ADMIN_EXTENSIONS_DETAILS_ROW_ORDER_INSTALLED}
  • {ADMIN_EXTENSIONS_DETAILS_ROW_ERROR}
  • {PHP.L.None}
  • {ADMIN_EXTENSIONS_DETAILS_ROW_LISTTAGS}
  • {PHP.L.Parts}
  • {PHP.L.Files}
  • {PHP.L.Tags}
  • {PHP.L.Order}
  • {PHP.L.Status}
  • {PHP.L.Action}
  • {PHP.L.Hooks}
  • {ADMIN_EXTENSIONS_UPDATE_URL}
  • {ADMIN_EXTENSIONS_UNINSTALL_URL}
  • {ADMIN_EXTENSIONS_PAUSE_URL}
  • {ADMIN_EXTENSIONS_UNPAUSE_URL}
  • {PHP.L.adm_opt_install_explain}
  • {PHP.L.adm_opt_install}
  • {PHP.L.adm_opt_update}
  • {PHP.L.adm_opt_uninstall_explain}
  • {PHP.L.adm_opt_pauseall_explain}
  • {PHP.L.adm_opt_pauseall}
  • {PHP.L.adm_opt_unpauseall_explain}
  • {PHP.L.adm_opt_unpauseall}

Комментарий по содержимому конструкций <!-- ... -->

  1. Логические блоки Cotonti:

    • Все конструкции внутри комментариев <!-- BEGIN: ... --> и <!-- END: ... --> описывают логические блоки, обрабатываемые движком Cotonti. Эти блоки управляют выводом данных, условным отображением элементов, и динамически генерируют контент в зависимости от условий.
    • Например, блоки <!-- BEGIN: ROW_ERROR_PART --> и <!-- END: ROW_ERROR_PART --> определяют вывод строки с ошибкой для каждого расширения, если таковая существует. Аналогично, блоки <!-- BEGIN: ROW_PART --> и <!-- END: ROW_PART --> управляют выводом строк с данными расширений.
    • Также присутствуют блоки для вывода зависимостей расширений, хуков, тегов и действий с расширениями (пауза, обновление, установка).
  2. Условия:

    • В блоках <!-- IF ... --> и <!-- ELSE --> проверяются условия, такие как наличие версии расширения, зависимости от других расширений, статус установки и активности. Эти условия определяют, какой контент будет выведен (например, ссылки для установки, обновления или управления расширением).
  3. Динамические ссылки:

    • В блоках, таких как <!-- IF {ADMIN_EXTENSIONS_JUMPTO_URL} -->, с помощью условий выводятся различные динамические ссылки для перехода к настройкам, правам, структуре и т.д.

Характеристика стиля HTML/CSS/JS

  1. HTML:
    • Шаблон использует стандартные HTML-элементы для построения таблиц, блоков, ссылок и кнопок. Применяются классы для стилизации элементов (например, class="button special large" для кнопок).
  2. CSS:
    • Для оформления используется подход с классами для элементов таблиц и кнопок. Классы, такие как w-25, w-75, centerall, задают стили для ширины столбцов и выравнивание элементов. Классы типа highlight_red и highlight_green используют для выделения различных состояний версий расширений.
  3. JavaScript:
    • В шаблоне используется минимальный JavaScript, в основном для обработки действий с расширениями (например, установка, пауза, обновление). Однако эти действия скорее управляются через ссылки с классами, такими как ajax button, что предполагает использование JavaScript для обработки запросов через AJAX.

Шаблон admin.extensions.tpl обеспечивает чистую и функциональную структуру для управления расширениями в админке Cotonti, с акцентом на гибкость и динамическое обновление данных через условия и логические блоки.

 

<!-- BEGIN: MAIN --> <!-- Указывает начало логического блока, который будет обработан через $t->parse('MAIN'); -->
{FILE "{PHP.cfg.system_dir}/admin/tpl/warnings.tpl"} <!-- Загружает шаблон предупреждений -->

<!-- BEGIN: DEFAULT --> <!-- Указывает начало логического блока, который будет обработан через $t->parse('DEFAULT'); -->
<div class="button-toolbar">
	<a class="button <!-- IF {ADMIN_EXTENSIONS_SORT_ALP_SEL} -->special<!-- ENDIF -->" href="{ADMIN_EXTENSIONS_SORT_ALP_URL}">{PHP.L.adm_sort_alphabet}</a> <!-- Если сортировка по алфавиту, добавляется класс special -->
	<a class="button <!-- IF {ADMIN_EXTENSIONS_SORT_CAT_SEL} -->special<!-- ENDIF -->" href="{ADMIN_EXTENSIONS_SORT_CAT_URL}">{PHP.L.adm_sort_category}</a> <!-- Если сортировка по категории, добавляется класс special -->
	<a class="button <!-- IF {ADMIN_EXTENSIONS_ONLY_INSTALLED_SEL} -->special" href="{ADMIN_EXTENSIONS_ONLY_INSTALLED_URL}"<!-- ELSE-->" href="{ADMIN_EXTENSIONS_ONLY_INSTALLED_URL}"<!-- ENDIF -->>{PHP.L.adm_only_installed}</a> <!-- Если фильтр только для установленных расширений, добавляется класс special -->
	<a href="{ADMIN_EXTENSIONS_HOOKS_URL}" class="button">{PHP.L.Hooks}</a> <!-- Ссылка на управление хуками -->
</div>

<!-- BEGIN: SECTION--> <!-- Указывает начало логического блока, который будет обработан через $t->parse('SECTION'); -->
<div class="block">
	<h2>{ADMIN_EXTENSIONS_SECTION_TITLE} ({ADMIN_EXTENSIONS_CNT_EXTP})</h2> <!-- Заголовок раздела расширений, включая количество расширений -->
	<div class="wrapper">
		<table class="cells">
			<thead>
				<tr>
					<th class="w-30">{PHP.L.Name} {PHP.L.adm_clicktoedit}</th> <!-- Название расширения с подсказкой для редактирования -->
					<th class="w-10">{PHP.L.Code}</th> <!-- Код расширения -->
					<th class="w-10">{PHP.L.Version}</th> <!-- Версия расширения -->
					<th class="w-10">{PHP.L.Parts}</th> <!-- Количество частей расширения -->
					<th class="w-10">{PHP.L.Status}</th> <!-- Статус расширения -->
					<th class="w-40">{PHP.L.Action}</th> <!-- Действия с расширением -->
				</tr>
			</thead>
			<tbody>
				<!-- BEGIN: ROW --> <!-- Указывает начало логического блока для строки расширения -->
				<!-- BEGIN: ROW_CAT --> <!-- Указывает начало логического блока для категории расширений -->
				<tr>
					<td colspan="6">
						<h3>{ADMIN_EXTENSIONS_CAT_TITLE}</h3> <!-- Заголовок категории расширений -->
					</td>
				</tr>
				<!-- END: ROW_CAT --> <!-- Закрывает блок категории расширений -->
				<!-- BEGIN: ROW_ERROR_EXT --> <!-- Указывает начало логического блока для ошибки расширения -->
				<tr>
					<td>{ADMIN_EXTENSIONS_X_ERR}</td> <!-- Ошибка расширения -->
					<td colspan="5">{ADMIN_EXTENSIONS_ERROR_MSG}</td> <!-- Сообщение об ошибке расширения -->
				</tr>
				<!-- END: ROW_ERROR_EXT --> <!-- Закрывает блок ошибки расширения -->
				<tr>
					<td class="start">
						<figure>
							{ADMIN_EXTENSIONS_ICON} <!-- Иконка расширения -->
						</figure>
						<div>
							<a href="{ADMIN_EXTENSIONS_DETAILS_URL}">{ADMIN_EXTENSIONS_NAME}</a> <!-- Ссылка на подробности расширения -->
							<!-- IF {ADMIN_EXTENSIONS_DESCRIPTION} -->
							<p>{ADMIN_EXTENSIONS_DESCRIPTION|cot_cutstring($this, 60)}</p> <!-- Если описание существует, обрезаем его до 60 символов -->
							<!-- ENDIF -->
						</div>
					</td>
					<td class="centerall">
						{ADMIN_EXTENSIONS_CODE_X} <!-- Код расширения -->
					</td>
					<td class="centerall">
						<!-- IF {PHP.part_status} != 3 AND {ADMIN_EXTENSIONS_VERSION_COMPARE} > 0 -->
						<span class="highlight_red">{ADMIN_EXTENSIONS_VERSION_INSTALLED}</span> / <!-- Версия установленного расширения, если есть различие -->
						<span class="highlight_green">{ADMIN_EXTENSIONS_VERSION}</span> <!-- Версия доступного обновления -->
						<!-- ELSE -->
						{ADMIN_EXTENSIONS_VERSION} <!-- Если обновления нет, отображаем текущую версию -->
						<!-- ENDIF -->
					</td>
					<td class="centerall">
						{ADMIN_EXTENSIONS_PARTSCOUNT} <!-- Количество частей расширения -->
					</td>
					<td class="centerall">
						{ADMIN_EXTENSIONS_STATUS} <!-- Статус расширения -->
					</td>
					<td class="action">
						<!-- IF {ADMIN_EXTENSIONS_TOTALCONFIG} -->
						<a title="{PHP.L.Configuration}" href="{ADMIN_EXTENSIONS_EDIT_URL}" class="button">{PHP.L.Config}</a> <!-- Если есть настройки, ссылка на конфигурацию -->
						<!-- ENDIF -->
						<!-- IF {ADMIN_EXTENSIONS_STRUCTURE_URL} -->
						<a title="{PHP.L.Structure}" href="{ADMIN_EXTENSIONS_STRUCTURE_URL}" class="button">{PHP.L.Structure}</a> <!-- Если есть структура, ссылка на неё -->
						<!-- ENDIF -->
						<!-- IF {ADMIN_EXTENSIONS_RIGHTS_URL} -->
						<a title="{PHP.L.Rights}" href="{ADMIN_EXTENSIONS_RIGHTS_URL}" class="button">{PHP.L.Rights}</a> <!-- Если есть права, ссылка на их управление -->
						<!-- ENDIF -->
						<!-- IF {ADMIN_EXTENSIONS_ADMIN_URL} -->
						<a title="{PHP.L.Administration}" href="{ADMIN_EXTENSIONS_ADMIN_URL}" class="button special">{PHP.L.Admin}</a> <!-- Если есть административный доступ, ссылка на администрирование -->
						<!-- ENDIF -->
						<!-- IF {ADMIN_EXTENSIONS_JUMPTO_URL} -->
						<a title="{PHP.L.Open}" href="{ADMIN_EXTENSIONS_JUMPTO_URL}" class="button special">{PHP.L.Open}</a> <!-- Если есть URL, ссылка для перехода -->
						<!-- ENDIF -->
					</td>
				</tr>
				<!-- END: ROW --> <!-- Закрывает блок строки расширения -->
				<!-- BEGIN: ROW_ERROR --> <!-- Указывает начало логического блока для ошибки расширения -->
				<tr>
					<td>{ADMIN_EXTENSIONS_X}</td> <!-- Ошибка расширения -->
					<td colspan="5">{PHP.L.adm_opt_setup_missing}</td> <!-- Сообщение о недостающей настройке -->
				</tr>
				<!-- END: ROW_ERROR --> <!-- Закрывает блок ошибки расширения -->
			</tbody>
		</table>
	</div>
</div>
<!-- END: SECTION --> <!-- Закрывает блок секции расширений -->
<!-- END: DEFAULT --> <!-- Закрывает блок по умолчанию -->

 

 

<!-- BEGIN: DETAILS --> <!-- Логический блок, который движок обработает через $t->parse('DETAILS'); -->
<div class="block">
	<h2>
		{ADMIN_EXTENSIONS_ICON} {ADMIN_EXTENSIONS_TYPE} {ADMIN_EXTENSIONS_NAME}: <!-- Вставка переменных {ADMIN_EXTENSIONS_ICON}, {ADMIN_EXTENSIONS_TYPE}, {ADMIN_EXTENSIONS_NAME} -->
	</h2>
	<div class="wrapper">
		<!-- IF {PHP.isInstalled} AND {PHP.exists} --> <!-- Условие, проверяет, если установлено и существует расширение -->
		<div class="button-toolbar">
			<!-- IF {ADMIN_EXTENSIONS_JUMPTO_URL} --> <!-- Условие, если URL для перехода существует -->
			<a title="{PHP.L.Open}" href="{ADMIN_EXTENSIONS_JUMPTO_URL}" class="button special large">{PHP.L.Open}</a> <!-- Если условие выполнено, ссылка с URL для перехода -->
			<!-- ENDIF --> <!-- Конец условия -->
			<!-- IF {ADMIN_EXTENSIONS_ADMIN_URL} --> <!-- Условие, если URL для администрирования существует -->
			<a title="{PHP.L.Administration}" href="{ADMIN_EXTENSIONS_ADMIN_URL}" class="button special large">{PHP.L.Administration}</a> <!-- Если условие выполнено, ссылка для администрирования -->
			<!-- ENDIF --> <!-- Конец условия -->
			<!-- IF {ADMIN_EXTENSIONS_TOTALCONFIG} > 0 --> <!-- Условие, если есть конфигурации расширения -->
			<a title="{PHP.L.Configuration}" href="{ADMIN_EXTENSIONS_CONFIG_URL}" class="button large">{PHP.L.Configuration} ({ADMIN_EXTENSIONS_TOTALCONFIG})</a> <!-- Если условие выполнено, ссылка на конфигурацию с количеством -->
			<!-- ENDIF --> <!-- Конец условия -->
			<!-- IF {ADMIN_EXTENSIONS_RIGHTS_URL} --> <!-- Условие, если URL прав доступа существует -->
			<a title="{PHP.L.Rights}" href="{ADMIN_EXTENSIONS_RIGHTS_URL}" class="button large">{PHP.L.Rights}</a> <!-- Если условие выполнено, ссылка на права доступа -->
			<!-- ENDIF --> <!-- Конец условия -->
			<!-- IF {ADMIN_EXTENSIONS_STRUCTURE_URL} --> <!-- Условие, если URL структуры существует -->
			<a title="{PHP.L.Structure}" href="{ADMIN_EXTENSIONS_STRUCTURE_URL}" class="button large">{PHP.L.Structure}</a> <!-- Если условие выполнено, ссылка на структуру -->
			<!-- ENDIF --> <!-- Конец условия -->
		</div>
		<!-- ENDIF --> <!-- Конец общего условия -->
	</div>
</div>
<table class="cells">
	<tbody>
		<tr>
			<td class="w-25">{PHP.L.Code}:</td> <!-- Просто вывод значения из переменной PHP.L.Code -->
			<td class="w-75">{ADMIN_EXTENSIONS_CODE}</td> <!-- Просто вывод значения из переменной ADMIN_EXTENSIONS_CODE -->
		</tr>
		<tr>
			<td>{PHP.L.Description}:</td> <!-- Просто вывод значения из переменной PHP.L.Description -->
			<td>{ADMIN_EXTENSIONS_DESCRIPTION}</td> <!-- Просто вывод значения из переменной ADMIN_EXTENSIONS_DESCRIPTION -->
		</tr>
		<tr>
			<td>{PHP.L.Version}:</td> <!-- Просто вывод значения из переменной PHP.L.Version -->
			<td>
				<!-- IF {PHP.isInstalled} AND {ADMIN_EXTENSIONS_VERSION_COMPARE} > 0 -->
				<span class="highlight_red">{ADMIN_EXTENSIONS_VERSION_INSTALLED}</span> / <span class="highlight_green">{ADMIN_EXTENSIONS_VERSION}</span> <!-- Если установлена версия и версия сравнения больше 0, показываем установленные и доступные версии -->
				<!-- ELSE -->
				{ADMIN_EXTENSIONS_VERSION} <!-- Иначе просто выводим версию -->
				<!-- ENDIF -->
			</td>
		</tr>
		<tr>
			<td>{PHP.L.Date}:</td> <!-- Просто вывод значения из переменной PHP.L.Date -->
			<td>{ADMIN_EXTENSIONS_DATE}</td> <!-- Просто вывод значения из переменной ADMIN_EXTENSIONS_DATE -->
		</tr>
		<!-- IF {ADMIN_EXTENSIONS_CATEGORY_TITLE} AND {ADMIN_EXTENSIONS_CATEGORY} != 'misc-ext' -->
		<tr>
			<td>{PHP.L.Category}:</td> <!-- Просто вывод значения из переменной PHP.L.Category -->
			<td>{ADMIN_EXTENSIONS_CATEGORY_TITLE}</td> <!-- Просто вывод значения из переменной ADMIN_EXTENSIONS_CATEGORY_TITLE -->
		</tr>
		<!-- ENDIF -->
	</tbody>
</table>
<!--//<tr>
<td>{PHP.L.adm_defauth_guests}:</td> <!-- Просто вывод значения из переменной PHP.L.adm_defauth_guests -->
<td>{ADMIN_EXTENSIONS_ADMRIGHTS_AUTH_GUESTS} ({ADMIN_EXTENSIONS_AUTH_GUESTS})</td> <!-- Просто вывод значений из переменных ADMIN_EXTENSIONS_ADMRIGHTS_AUTH_GUESTS и ADMIN_EXTENSIONS_AUTH_GUESTS -->
</tr>
<tr>
<td>{PHP.L.adm_deflock_guests}:</td> <!-- Просто вывод значения из переменной PHP.L.adm_deflock_guests -->
<td>{ADMIN_EXTENSIONS_ADMRIGHTS_LOCK_GUESTS} ({ADMIN_EXTENSIONS_LOCK_GUESTS})</td> <!-- Просто вывод значений из переменных ADMIN_EXTENSIONS_ADMRIGHTS_LOCK_GUESTS и ADMIN_EXTENSIONS_LOCK_GUESTS -->
</tr>
<tr>
<td>{PHP.L.adm_defauth_members}:</td> <!-- Просто вывод значения из переменной PHP.L.adm_defauth_members -->
<td>{ADMIN_EXTENSIONS_ADMRIGHTS_AUTH_MEMBERS} ({ADMIN_EXTENSIONS_AUTH_MEMBERS})</td> <!-- Просто вывод значений из переменных ADMIN_EXTENSIONS_ADMRIGHTS_AUTH_MEMBERS и ADMIN_EXTENSIONS_AUTH_MEMBERS -->
</tr>
<tr>
<td>{PHP.L.adm_deflock_members}:</td> <!-- Просто вывод значения из переменной PHP.L.adm_deflock_members -->
<td>{ADMIN_EXTENSIONS_ADMRIGHTS_LOCK_MEMBERS} ({ADMIN_EXTENSIONS_LOCK_MEMBERS})</td> <!-- Просто вывод значений из переменных ADMIN_EXTENSIONS_ADMRIGHTS_LOCK_MEMBERS и ADMIN_EXTENSIONS_LOCK_MEMBERS -->
</tr>//-->
<tr>
	<td>{PHP.L.Author}:</td> <!-- Просто вывод значения из переменной PHP.L.Author -->
	<td>{ADMIN_EXTENSIONS_AUTHOR}</td> <!-- Просто вывод значения из переменной ADMIN_EXTENSIONS_AUTHOR -->
</tr>
<tr>
	<td>{PHP.L.Copyright}:</td> <!-- Просто вывод значения из переменной PHP.L.Copyright -->
	<td>{ADMIN_EXTENSIONS_COPYRIGHT}</td> <!-- Просто вывод значения из переменной ADMIN_EXTENSIONS_COPYRIGHT -->
</tr>
<tr>
	<td>{PHP.L.Notes}:</td> <!-- Просто вывод значения из переменной PHP.L.Notes -->
	<td>{ADMIN_EXTENSIONS_NOTES}</td> <!-- Просто вывод значения из переменной ADMIN_EXTENSIONS_NOTES -->
</tr>
<!-- BEGIN: DEPENDENCIES --> <!-- Логический блок, начинающий секцию зависимостей -->
<tr>
	<td>{ADMIN_EXTENSIONS_DEPENDENCIES_TITLE}:</td> <!-- Просто вывод значения из переменной ADMIN_EXTENSIONS_DEPENDENCIES_TITLE -->
	<td>
		<ul>
			<!-- BEGIN: DEPENDENCIES_ROW --> <!-- Логический блок для каждой строки зависимостей -->
			<li>
				<!-- IF {ADMIN_EXTENSIONS_DEPENDENCIES_ROW_URL} != '' --> <!-- Условие проверки наличия URL -->
				<a href="{ADMIN_EXTENSIONS_DEPENDENCIES_ROW_URL}" class="{ADMIN_EXTENSIONS_DEPENDENCIES_ROW_CLASS}">{ADMIN_EXTENSIONS_DEPENDENCIES_ROW_NAME}</a> <!-- Вывод ссылки на зависимость -->
				<!-- ELSE -->
				<span class="{ADMIN_EXTENSIONS_DEPENDENCIES_ROW_CLASS}">{ADMIN_EXTENSIONS_DEPENDENCIES_ROW_NAME}</span> <!-- Вывод без ссылки, если URL пустой -->
				<!-- ENDIF -->
			</li>
			<!-- END: DEPENDENCIES_ROW --> <!-- Завершающий логический блок строки зависимости -->
		</ul>
	</td>
</tr>
<!-- END: DEPENDENCIES --> <!-- Завершающий логический блок зависимостей -->
<tr>
	<td colspan="2" class="action">
		<!-- IF !{PHP.isInstalled} AND {PHP.dependencies_satisfied} --> <!-- Условие, если расширение не установлено и зависимости удовлетворены -->
		<a title="{PHP.L.adm_opt_install_explain}" href="{ADMIN_EXTENSIONS_INSTALL_URL}" class="button special large">{PHP.L.adm_opt_install}</a> <!-- Кнопка установки -->
		<!-- ENDIF -->
		<!-- IF {PHP.isInstalled} --> <!-- Условие, если расширение установлено -->
		<!-- IF {PHP.exists} --> <!-- Условие, если расширение существует -->
		<a title="{PHP.L.adm_opt_install_explain}" href="{ADMIN_EXTENSIONS_UPDATE_URL}" class="button special large">{PHP.L.adm_opt_update}</a> <!-- Кнопка обновления -->
		<!-- ENDIF -->

		<a title="{PHP.L.adm_opt_uninstall_explain}" href="{ADMIN_EXTENSIONS_UNINSTALL_URL}" class="ajax button large">{PHP.L.adm_opt_uninstall}</a> <!-- Кнопка удаления -->
		<a title="{PHP.L.adm_opt_pauseall_explain}" href="{ADMIN_EXTENSIONS_PAUSE_URL}" class="button large">{PHP.L.adm_opt_pauseall}</a> <!-- Кнопка приостановки всех операций -->

		<!-- IF {PHP.exists} --> <!-- Условие для существующих расширений -->
		<a title="{PHP.L.adm_opt_unpauseall_explain}" href="{ADMIN_EXTENSIONS_UNPAUSE_URL}" class="button large">{PHP.L.adm_opt_unpauseall}</a> <!-- Кнопка возобновления всех операций -->
		<!-- ENDIF -->
		<!-- ENDIF -->
	</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="block">
	<h2>{PHP.L.Tags}:</h2> <!-- Просто вывод значения из переменной PHP.L.Tags -->
	<div class="wrapper">
		<table class="cells">
			<thead>
				<tr>
					<th class="w-5">#</th> <!-- Заголовок для колонки № -->
					<th class="w-25">{PHP.L.Part}</th> <!-- Заголовок для колонки "Part", вывод значения из переменной PHP.L.Part -->
					<th class="w-70">{PHP.L.Files} / {PHP.L.Tags}</th> <!-- Заголовок для колонки "Files / Tags", вывод значений из переменных PHP.L.Files и PHP.L.Tags -->
				</tr>
			</thead>
			<tbody>
				<!-- BEGIN: ROW_ERROR_TAGS --> <!-- Логический блок для отображения ошибки в строках тегов -->
				<tr>
					<td class="centerall">{ADMIN_EXTENSIONS_DETAILS_ROW_I_1}</td> <!-- Просто вывод значения из переменной ADMIN_EXTENSIONS_DETAILS_ROW_I_1 -->
					<td class="centerall">{ADMIN_EXTENSIONS_DETAILS_ROW_PART}</td> <!-- Просто вывод значения из переменной ADMIN_EXTENSIONS_DETAILS_ROW_PART -->
					<td class="centerall">{PHP.L.None}</td> <!-- Вывод "None" из переменной PHP.L.None, если теги отсутствуют -->
				</tr>
				<!-- END: ROW_ERROR_TAGS --> <!-- Завершающий логический блок для строки с ошибкой -->
				<!-- BEGIN: ROW_TAGS --> <!-- Логический блок для обычной строки с тегами -->
				<tr>
					<td class="centerall">{ADMIN_EXTENSIONS_DETAILS_ROW_I_1}</td> <!-- Просто вывод значения из переменной ADMIN_EXTENSIONS_DETAILS_ROW_I_1 -->
					<td class="centerall">{ADMIN_EXTENSIONS_DETAILS_ROW_PART}</td> <!-- Просто вывод значения из переменной ADMIN_EXTENSIONS_DETAILS_ROW_PART -->
					<td>{ADMIN_EXTENSIONS_DETAILS_ROW_LISTTAGS}</td> <!-- Просто вывод значения из переменной ADMIN_EXTENSIONS_DETAILS_ROW_LISTTAGS, списка тегов -->
				</tr>
				<!-- END: ROW_TAGS --> <!-- Завершающий логический блок для строки с тегами -->
			</tbody>
		</table>
	</div>
</div>
<!-- END: DETAILS --> <!-- Конструкция END: DETAILS, означающая конец логического блока DETAILS -->
<!-- BEGIN: HOOKS --> <!-- Логический блок для отображения информации о хуках -->
<div class="block">
	<h2>{PHP.L.Hooks} ({ADMIN_EXTENSIONS_CNT_HOOK}):</h2> <!-- Заголовок, выводит значение из переменной PHP.L.Hooks и количество хуков ADMIN_EXTENSIONS_CNT_HOOK -->
	<div class="wrapper">
		<table class="cells">
			<thead>
				<tr>
					<th class="w-40">{PHP.L.Hooks}</th> <!-- Заголовок для колонки "Hooks", вывод значения из переменной PHP.L.Hooks -->
					<th class="w-20">{PHP.L.Plugin}</th> <!-- Заголовок для колонки "Plugin", вывод значения из переменной PHP.L.Plugin -->
					<th class="w-20">{PHP.L.Order}</th> <!-- Заголовок для колонки "Order", вывод значения из переменной PHP.L.Order -->
					<th class="w-20">{PHP.L.Active}</th> <!-- Заголовок для колонки "Active", вывод значения из переменной PHP.L.Active -->
				</tr>
			</thead>
			<tbody>
				<!-- BEGIN: HOOKS_ROW --> <!-- Логический блок для отображения строки с хука -->
				<tr>
					<td>{ADMIN_EXTENSIONS_HOOK}</td> <!-- Просто вывод значения из переменной ADMIN_EXTENSIONS_HOOK -->
					<td>{ADMIN_EXTENSIONS_CODE}</td> <!-- Просто вывод значения из переменной ADMIN_EXTENSIONS_CODE -->
					<td class="centerall">{ADMIN_EXTENSIONS_ORDER}</td> <!-- Просто вывод значения из переменной ADMIN_EXTENSIONS_ORDER, отображаемое по центру -->
					<td class="centerall">{ADMIN_EXTENSIONS_ACTIVE}</td> <!-- Просто вывод значения из переменной ADMIN_EXTENSIONS_ACTIVE, отображаемое по центру -->
				</tr>
				<!-- END: HOOKS_ROW --> <!-- Завершающий логический блок для строки с хука -->
			</tbody>
		</table>
	</div>
</div>
<!-- END: HOOKS --> <!-- Конец логического блока HOOKS -->

<!-- END: MAIN --> <!-- Конец логического блока MAIN -->

 

No comments yet
Only registered users can post new comments
Account