Плагин xtradbrowusers — Руководство по тегам в шаблонах

Extrafields Users Custom — плагин дополнительных полей для модуля Users. Интеграция и прописывание тегов для вывода экстраполей в шаблонах Cotonti CMF. Секретная шпаргалка.

14.08.2026 23:30 · Опубликована
8 min read
272
0

Плагин 'xtradbrowusers' — Руководство по тегам в шаблонах

Интеграция и прописывание тегов для вывода экстраполей в шаблонах.

Этот документ — это шпаргалка: скопировал, вставил, подправил и забыл!
Всё, что не понятно, спрашивать на форуме.

Пользователи (модуль 'users')

Список шаблонов модуля в папке вашей темы

Примеры тем: 2waydeal, index36, nemesis. Важно, чтобы шаблоны лежали именно в папке темы по следующему пути:

/themes/2waydeal/modules/users/users.edit.tpl
/themes/2waydeal/modules/users/users.profile.tpl
/themes/2waydeal/modules/users/users.details.contractor.tpl
/themes/2waydeal/modules/users/users.details.tpl
/themes/2waydeal/modules/users/users.register.tpl
/themes/2waydeal/modules/users/users.tpl

1. users.edit.tpl — шаблон редактирования данных пользователя администратором

Открываем шаблон и обязательно внутри формы:

<form action="{USERS_EDIT_SEND}" method="post" name="useredit" enctype="multipart/form-data" class="needs-validation" novalidate>
  <input type="hidden" name="id" value="{USERS_EDIT_ID}" />
  …
  …
  <button type="submit" class="btn btn-outline-primary">
    <i class="fa-solid fa-floppy-disk me-1"></i> {PHP.L.Update}
  </button>
</form>

Блок вывода полей

В любом удобном месте вставляем блок с выводом наших полей:

<!-- IF {PHP|cot_plugin_active('xtradbrowusers')} -->
<div class="row my-5">
  <p>{PHP.L.xtradbrowusers_edit_tpl_title}</p>
  <div class="list-group list-group-striped list-group-flush border-bottom">

    <!-- IF {USERS_EDIT_XTRA_X020_ABOUT_VENDOR_TEXT} -->
    <div class="list-group-item py-3">
      <label>{USERS_EDIT_XTRA_X020_ABOUT_VENDOR_TEXT_TITLE}:</label>
      {USERS_EDIT_XTRA_X020_ABOUT_VENDOR_TEXT}
    </div>
      <!-- IF {USERS_EDIT_XTRA_X020_ABOUT_VENDOR_TEXT_EN} -->
      <div class="list-group-item py-3">
        <label>{USERS_EDIT_XTRA_X020_ABOUT_VENDOR_TEXT_EN_TITLE}:</label>
        {USERS_EDIT_XTRA_X020_ABOUT_VENDOR_TEXT_EN}
      </div>
      <!-- ENDIF -->
    <!-- ENDIF -->

    <!-- IF {USERS_EDIT_XTRA_X010_PHONE_VENDOR_ORDERS} -->
    <div class="list-group-item py-3">
      <label>{USERS_EDIT_XTRA_X010_PHONE_VENDOR_ORDERS_TITLE}:</label>
      {USERS_EDIT_XTRA_X010_PHONE_VENDOR_ORDERS}
    </div>
    <!-- ENDIF -->

    <!-- IF {USERS_EDIT_XTRA_X011_TG_VENDOR_ORDERS} -->
    <div class="list-group-item py-3">
      <label>{USERS_EDIT_XTRA_X011_TG_VENDOR_ORDERS_TITLE}:</label>
      {USERS_EDIT_XTRA_X011_TG_VENDOR_ORDERS}
    </div>
    <!-- ENDIF -->

    <!-- IF {USERS_EDIT_XTRA_X012_TG_CHANEL_VENDOR} -->
    <div class="list-group-item py-3">
      <label>{USERS_EDIT_XTRA_X012_TG_CHANEL_VENDOR_TITLE}:</label>
      {USERS_EDIT_XTRA_X012_TG_CHANEL_VENDOR}
    </div>
    <!-- ENDIF -->

    <!-- IF {USERS_EDIT_XTRA_X200_RESUME_FILE} -->
    <div class="list-group-item py-3">
      <label>{USERS_EDIT_XTRA_X200_RESUME_FILE_TITLE}:</label>
      {USERS_EDIT_XTRA_X200_RESUME_FILE}
    </div>
    <!-- ENDIF -->

    <!-- IF {USERS_EDIT_XTRA_X200_LAST_PROMOTION} -->
    <div class="list-group-item py-3">
      <label>{USERS_EDIT_XTRA_X200_LAST_PROMOTION_TITLE}:</label>
      {USERS_EDIT_XTRA_X200_LAST_PROMOTION}
    </div>
    <!-- ENDIF -->

    <!-- IF {USERS_EDIT_XTRA_X200_DEPARTMENT} -->
    <div class="list-group-item py-3">
      <label>{USERS_EDIT_XTRA_X200_DEPARTMENT_TITLE}:</label>
      {USERS_EDIT_XTRA_X200_DEPARTMENT}
    </div>
    <!-- ENDIF -->

  </div>
</div>
<!-- ENDIF -->

Важно: этот код выведет лишь некоторые поля из всего «демонстрационного набора» экстраполей, устанавливаемых вместе с плагином. Задача данного руководства — дать шпаргалку с иллюстрацией механизма включения (прописывания) полей в шаблоны.

Механизм сборки тегов

Собрать правильный тег для вашего шаблона, чтобы получить своё поле, — это как собрать игрушечный паровозик из нескольких вагонов:

  • USERS_EDIT_XTRA_ — префикс из нашего плагина; (локомотив/тягач вагонов)
  • X020_ABOUT_VENDOR_TEXT — имя нашего поля. (первый и пока единственный вагон)

USERS_EDIT_XTRA_ + X020_ABOUT_VENDOR_TEXT = USERS_EDIT_XTRA_X020_ABOUT_VENDOR_TEXT

Видите, как просто. Обернув в фигурные скобки, мы нашему шаблонизатору XTemplate говорим: «Дай мне в шаблоне здесь {КАРТОШКА_ЖАРЕННАЯ}, {КЕТЧУП_ОСТРЫЙ}». И если имя корректное, он принесёт сюда в шаблон то, что туда положили повара на кухне. Поваром здесь может быть и разработчик, и вы сами как пользователь или администратор.

В нашем случае у шаблонизатора мы попросили {USERS_EDIT_XTRA_X020_ABOUT_VENDOR_TEXT} в шаблоне редактирования, и он нам сюда принесёт поле для заполнения, редактирования и сохранения данных текстового типа.

Как собрать заголовок поля (суффикс _TITLE)

Всё также предельно просто:

  • USERS_EDIT_XTRA_ — префикс; (локомотив/тягач вагонов)
  • X020_ABOUT_VENDOR_TEXT — имя поля; (первый вагон)
  • _TITLE — суффикс из нашего плагина. (второй вагон и он же замыкающий)

USERS_EDIT_XTRA_ + X020_ABOUT_VENDOR_TEXT + _TITLE = USERS_EDIT_XTRA_X020_ABOUT_VENDOR_TEXT_TITLE

Подробнее — в файле хукинга.

Снова оборачиваем наш «паровозик» в фигурные скобки и кричим нашему шаблонизатору XTemplate в шаблоне: «Эй, официант, хочу {USERS_EDIT_XTRA_X020_ABOUT_VENDOR_TEXT_TITLE}!». И разумеется, если такое есть, он вернёт нам описание поля — в демке это лейбл «Обо мне кратко».

Заключение

Однажды вникнув, потратив с практикой и чтением шпаргалки минут 15, вас уже не будут смущать ни «вагончики» детского паровозика, ни незнакомец-официант по имени «шаблонизатор XTemplate». Запомнили одно: собрали паровозик из нужных вагонов — всё, теперь зовём официанта и корректно называем то, что хотите от него!

Вернуться к началу

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