Модуль "Users", - users.tpl в Cotonti CMF

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

Опубликовано в: Модули в Cotonti из коробки

Назначение файла users.tpl и его место в системе Cotonti

Файл users.tpl является частью системы шаблонов XTemplate, используемой в Cotonti CMF, и расположен в папке /modules/users/tpl/. Его основное назначение — предоставлять структуру и дизайн интерфейса модуля "Пользователи" (Users). Этот файл отвечает за визуальное отображение информации о пользователях, такие как список пользователей, фильтры для поиска, сортировку и навигацию по страницам. Шаблон тесно взаимодействует с PHP-кодом модуля, который передаёт в шаблон данные через переменные, заключённые в фигурные скобки {}.

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


Содержание кода: задачи и условия

  1. Фильтры и сортировка
    Шаблон включает форму фильтрации, которая позволяет пользователям искать других пользователей по имени, стране, основной группе и другим критериям. Также присутствуют поля для выбора порядка сортировки и её направления (по возрастанию или убыванию).

  2. Отображение списка пользователей
    Центральный элемент шаблона — таблица, содержащая данные о пользователях: имя, группа, страна, дата регистрации и другие параметры. Для каждого пользователя создаётся отдельная строка с данными, которые передаются через логические блоки <!-- BEGIN: USERS_ROW --> и <!-- END: USERS_ROW -->.

  3. Навигация по страницам
    В нижней части шаблона предусмотрена панель пагинации, отображающая текущую страницу, количество записей на странице и общее количество записей в разделе. Также реализованы кнопки перехода между страницами.


Список всех переменных и их назначение

  1. {USERS_BREADCRUMBS}
    Выводит навигационную цепочку (breadcrumbs), помогающую пользователю ориентироваться на сайте.

  2. {PHP.L.Filters}
    Локализованная строка "Фильтры", используемая в заголовке формы фильтрации.

  3. {USERS_FILTERS_ACTION}
    URL для отправки формы фильтрации.

  4. {USERS_FILTERS_PARAMS}
    Дополнительные скрытые параметры, которые добавляются в форму фильтрации.

  5. {USERS_FILTERS_COUNTRY}
    Поле выбора страны для фильтрации.

  6. {USERS_FILTERS_MAIN_GROUP}
    Поле выбора основной группы для фильтрации.

  7. {USERS_FILTERS_GROUP}
    Поле выбора дополнительных групп для фильтрации.

  8. {USERS_FILTERS_SEARCH}
    Поле для ввода имени пользователя для поиска.

  9. {USERS_FILTERS_SORT}
    Поле выбора параметра сортировки.

  10. {USERS_FILTERS_SORT_WAY}
    Поле выбора направления сортировки (по возрастанию или убыванию).

  11. {PHP.L.Submit}
    Локализованная строка "Отправить", используемая на кнопке формы.

  12. {USERS_TOP_NAME}
    Заголовок колонки с именем пользователя.

  13. {USERS_TOP_MAIN_GROUP}
    Заголовок колонки с основной группой пользователя.

  14. {USERS_TOP_GROUP_LEVEL}
    Заголовок колонки с уровнем группы.

  15. {USERS_TOP_COUNTRY}
    Заголовок колонки с названием страны.

  16. {USERS_TOP_REGISTRATION_DATE}
    Заголовок колонки с датой регистрации.

  17. {USERS_ROW_PM}
    Иконка или кнопка для отправки личного сообщения пользователю.

  18. {USERS_ROW_NAME}
    Имя пользователя.

  19. {USERS_ROW_TAG}
    Дополнительный тег или статус пользователя.

  20. {USERS_ROW_MAIN_GROUP}
    Основная группа пользователя.

  21. {USERS_ROW_MAIN_GROUP_STARS}
    Уровень группы пользователя в виде звёзд.

  22. {USERS_ROW_COUNTRY_FLAG}
    Флаг страны пользователя.

  23. {USERS_ROW_COUNTRY}
    Название страны пользователя.

  24. {USERS_ROW_REGDATE}
    Дата регистрации пользователя.

  25. {ENTRIES_PER_PAGE}
    Количество записей на текущей странице.

  26. {TOTAL_ENTRIES}
    Общее количество записей в разделе.

  27. {PREVIOUS_PAGE}
    Ссылка на предыдущую страницу.

  28. {PAGINATION}
    Панель с номерами страниц.

  29. {NEXT_PAGE}
    Ссылка на следующую страницу.


Комментарии к конструкциям <!-- ... -->

  1. <!-- BEGIN: MAIN --> и <!-- END: MAIN -->
    Указывают на начало и конец основного блока логики шаблона. Этот блок обрабатывается методом parse('MAIN') в XTemplate.

  2. <!-- BEGIN: USERS_ROW --> и <!-- END: USERS_ROW -->
    Определяют повторяющийся блок, используемый для отображения данных каждого пользователя. Этот блок обрабатывается методом parse('MAIN.USERS_ROW').


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

  1. HTML
    Структура HTML кода простая, без избыточных элементов. Используются стандартные элементы, такие как <table>, <form>, <h2>, <tr>, <td>. Стиль семантический, предназначен для отображения табличных данных.

  2. CSS
    Классы имеют чёткие и лаконичные названия (block, marginbottom10, coltop, paddingleft10). Это позволяет быстро настраивать внешний вид через CSS. Таблицы используются для табличных данных, что соответствует хорошим практикам.

  3. JS
    JavaScript явно не представлен в шаблоне, что оставляет обработку интерактивных элементов на стороне модуля или других подключаемых скриптов.

 

<!-- BEGIN: MAIN --> <!-- Начало основного логического блока Cotonti, который будет обработан методом $t->parse('MAIN'); -->

<div class="block">
    <h2 class="users">{USERS_BREADCRUMBS}</h2> <!-- Заголовок блока, содержащий навигационные "хлебные крошки" -->

    <div class="marginbottom10">
        <h2 class="prefs">{PHP.L.Filters}</h2> <!-- Заголовок секции фильтров -->

        <form id="filter-form" action="{USERS_FILTERS_ACTION}" method="GET"> <!-- Форма для фильтрации пользователей -->
            {USERS_FILTERS_PARAMS} <!-- Дополнительные параметры фильтрации (могут содержать скрытые поля) -->

            <table class="marginbottom10">
                <tr>
                    <td>
                        <h3>{PHP.L.Filter_search}:</h3> <!-- Заголовок фильтрации по параметрам -->
                        {USERS_FILTERS_COUNTRY} <!-- Фильтр по стране -->
                        {USERS_FILTERS_MAIN_GROUP} <!-- Фильтр по основной группе пользователей -->
                        {USERS_FILTERS_GROUP} <!-- Фильтр по дополнительным группам -->
                    </td>
                    <td class="paddingleft10">
                        <h3>{PHP.L.Username_search}:</h3> <!-- Заголовок фильтрации по имени пользователя -->
                        {USERS_FILTERS_SEARCH} <!-- Поле для поиска пользователей по имени -->
                    </td>
                    <td class="paddingleft10">
                        <h3>{PHP.L.OrderBy}:</h3> <!-- Заголовок сортировки -->
                        {USERS_FILTERS_SORT} <!-- Поле выбора критерия сортировки -->
                        {USERS_FILTERS_SORT_WAY} <!-- Поле выбора направления сортировки (по возрастанию/убыванию) -->
                    </td>
                </tr>
            </table>

            <button type="submit" class="submit">{PHP.L.Submit}</button> <!-- Кнопка отправки формы фильтрации -->
        </form>
    </div>

    <table class="cells"> <!-- Таблица списка пользователей -->
        <tr>
            <td class="coltop width5"></td> <!-- Пустая колонка для отступа -->
            <td class="coltop width20">{USERS_TOP_NAME}</td> <!-- Заголовок колонки имени пользователя -->
            <td class="coltop width20">{USERS_TOP_MAIN_GROUP}</td> <!-- Заголовок колонки основной группы пользователя -->
            <td class="coltop width15">{USERS_TOP_GROUP_LEVEL}</td> <!-- Заголовок колонки уровня в группе -->
            <td class="coltop width15">{USERS_TOP_COUNTRY}</td> <!-- Заголовок колонки страны пользователя -->
            <td class="coltop width25">{USERS_TOP_REGISTRATION_DATE}</td> <!-- Заголовок колонки даты регистрации -->
        </tr>

        <!-- BEGIN: USERS_ROW --> <!-- Начало блока, который повторяется для каждого пользователя -->
        <tr>
            <td class="centerall">{USERS_ROW_PM}</td> <!-- Ячейка с кнопкой личного сообщения пользователю -->
            <td>{USERS_ROW_NAME}&nbsp;{USERS_ROW_TAG}</td> <!-- Имя пользователя и его тег -->
            <td>{USERS_ROW_MAIN_GROUP}</td> <!-- Основная группа пользователя -->
            <td class="centerall">{USERS_ROW_MAIN_GROUP_STARS}</td> <!-- Отображение уровня пользователя в группе (например, звездочки) -->
            <td class="centerall">{USERS_ROW_COUNTRY_FLAG} {USERS_ROW_COUNTRY}</td> <!-- Флаг и название страны пользователя -->
            <td class="centerall">{USERS_ROW_REGDATE}</td> <!-- Дата регистрации пользователя -->
        </tr>
        <!-- END: USERS_ROW --> <!-- Конец блока, который повторяется для каждого пользователя -->
    </table>
</div>

<p class="paging"> <!-- Блок постраничной навигации -->
    <span>{PHP.L.users_usersperpage}: {ENTRIES_PER_PAGE}</span> <!-- Отображение количества пользователей на странице -->
    <span>{PHP.L.users_usersinthissection}: {TOTAL_ENTRIES}</span> <!-- Общее количество пользователей в текущем разделе -->
    {PREVIOUS_PAGE}{PAGINATION}{NEXT_PAGE} <!-- Кнопки навигации по страницам -->
</p>

<!-- END: MAIN --> <!-- Закрытие основного логического блока Cotonti -->

 

5 минут чтения Sodium Carbonate

Комментарии (0)

Комментарии отсутствуют
Добавление комментариев доступно только зарегистрированным пользователям

Автор контента

webitproff

Онлайн

Sodium Carbonate

Последняя авторизация: 19.07.2026 00:45

  • Страница размещена: 31.01.2025 04:10
  • Последнее обновление: 31.01.2025 04:27

Похожие страницы

Модуль "Users", - users.admin.home.tpl в Cotonti CMF
1 Файл шаблона users.admin.home.tpl в Cotonti CMF отображается на главной странице административной панели и содержит
Модуль "Users", - users.edit.tpl в Cotonti CMF
2 Этот шаблон users.edit.tpl используется для редактирования данных пользователей от имени администратора. Он
Модуль "Users", - users.passrecover.tpl в Cotonti CMF
3 Назначение шаблона users.passrecover.tpl Шаблон users.passrecover.tpl используется для отображения интерфейса страницы
Модуль "Users", - users.register.tpl в Cotonti CMF
4 Назначение шаблона users.register.tpl Шаблон users.register.tpl отвечает за отображение интерфейса страницы
Модуль "Users", - users.profile.tpl в Cotonti CMF
5 Тематическое описание файла шаблона users.edit.tpl в Cotonti CMF 1. Основное назначение файла и его место в системе