Extrafields Users Custom

плагин для Cotonti CMF, позволяющий добавлять неограниченное число дополнительных полей к профилям пользователей. Все данные хранятся в отдельной таблице cot_xtradbrowusers, не затрагивая стандартную структуру cot_users.

Опубликовано в: Модули и Плагины для Cotonti

Extrafields Users Custom (код xtradbrowusers) — плагин для Cotonti CMF, позволяющий добавлять неограниченное число дополнительных полей к профилям пользователей. Все данные хранятся в отдельной таблице cot_xtradbrowusers, не затрагивая стандартную структуру cot_users. Это даёт полную изоляцию, лёгкое обслуживание и автоматическую очистку при удалении пользователя.

Плагин совместим с Cotonti v1.0+, PHP 8.4+, MySQL 8.4+, Bootstrap 5.3+. После установки вы получаете 15 демонстрационных полей всех поддерживаемых типов, готовых к немедленному использованию.

Скачать исходный код плагина: github.com/webitproff/xtradbrowusers-cotonti
Последние релизы плагина в архивах: github.com/webitproff/xtradbrowusers-cotonti/releases

1. Что это за плагин и зачем он нужен

Extrafields Users Custom — специализированное расширение, которое добавляет произвольные поля к профилям пользователей, не изменяя стандартную таблицу cot_users. Все дополнительные данные сохраняются в изолированной таблице cot_xtradbrowusers, связанной с основной записью через внешний ключ с каскадным удалением (ON DELETE CASCADE).

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

Ключевые преимущества: чистота ядра, полная изоляция данных, автоматическая целостность при удалении пользователя и быстрый откат при деинсталляции.

2. Что идёт «из коробки»

Сразу после установки администратор получает 15 демонстрационных полей, охватывающих все типы, поддерживаемые API Extrafields: input, textarea, datetime, double, select, inputint, radio, file, country, range, checklistbox. Это позволяет быстро оценить, какой тип подходит для конкретной задачи, и сразу увидеть плагин в действии.

3. Кому и почему будет полезен

Плагин решает задачу расширения профиля там, где стандартного набора полей недостаточно. Для сообществ — статусы, интересы, ссылки на соцсети. Для интернет‑магазинов — дополнительные контакты, категории клиентов, реквизиты. Для фриланс‑бирж — навыки, портфолио, резюме, уровень квалификации. Все поля управляются через стандартный интерфейс «Администрирование → Расширения → Экстраполя», а их значения автоматически доступны в шаблонах регистрации, редактирования профиля, публичной карточки и общего списка пользователей. Также поддерживается вывод в мета‑теги страницы через хук header.tags.

4. Пошаговая установка

  1. Скачайте последнюю версию плагина из GitHub Releases.
  2. Распакуйте архив и загрузите папку xtradbrowusers в директорию plugins/ вашего сайта. Убедитесь, что файл xtradbrowusers.setup.php доступен по пути /plugins/xtradbrowusers/xtradbrowusers.setup.php.
  3. Войдите в административную панель Cotonti и перейдите в раздел «Расширения» (URL зависит от настроек: /admin/extensions, /ru/admin/extensions или admin.php?m=extensions).
  4. Найдите плагин Custom Extrafields Users (код xtradbrowusers) и нажмите «Установить». Система зарегистрирует плагин в таблицах cot_core, cot_auth и cot_plugins, создаст таблицу cot_xtradbrowusers, добавит 15 демо‑полей и папку для загружаемых файлов.
  5. После установки перейдите в «Администрирование → Расширения → Экстраполя», выберите таблицу cot_xtradbrowusers — вы увидите готовые поля.

5. Демонстрационные поля

При установке создаются следующие поля (все необязательные):

  • phone_extra (input) — Дополнительный телефон
  • about_extra (textarea) — О себе
  • hire_date (datetime) — Дата найма
  • salary (double) — Зарплата
  • department (select) — Отдел (Не указан, IT, Маркетинг, Продажи, Поддержка)
  • experience_years (inputint) — Стаж (лет)
  • skill_level (select) — Уровень квалификации (Junior, Middle, Senior, Lead)
  • has_car (radio) — Наличие автомобиля (Yes/No)
  • last_promotion (datetime) — Дата последнего повышения
  • resume_file (file) — Резюме (jpg, png, pdf, zip)
  • residence_country (country) — Страна проживания (по умолчанию Украина)
  • english_level (range) — Уровень английского (0–100, по умолчанию 50)
  • interests (checklistbox) — Интересы (Спорт, Музыка, IT, Путешествия)
  • work_schedule (select) — График работы (Полный день, Сменный, Удалёнка, Гибкий)
  • emergency_contact (input) — Экстренный контакт

6. Структура и назначение файлов плагина

Плагин состоит из нескольких групп файлов, каждый из которых выполняется в строго определённый момент благодаря системе хуков Cotonti. Все файлы, кроме setup.php, содержат заголовок с указанием хука, регистрируемый в таблице cot_plugins.

Регистрация и инициализация

xtradbrowusers.setup.php — файл метаданных, обрабатывается однократно при установке. Не содержит PHP‑кода для каждого запроса. Объявляет код, название, зависимости, права доступа. Система на его основе создаёт записи в cot_core, cot_auth и сканирует папку плагина для регистрации хуков в cot_plugins.

xtradbrowusers.global.php (хук global) — выполняется при каждом запросе, подключает языковые файлы и API‑функции. Именно здесь через inc/xtradbrowusers.functions.php регистрируется таблица xtradbrowusers.

Установка и удаление

Файлы в папке setup/ отвечают за создание и удаление таблицы, демо‑полей и папки с файлами. uninstall.php полностью очищает реестр экстраполей и файловую систему.

Интеграция с интерфейсом управления экстраполями

xtradbrowusers.extrafields.php (хук admin.extrafields.first) добавляет таблицу cot_xtradbrowusers в белый список админки, позволяя управлять полями через стандартный раздел «Экстраполя».

Редактирование профиля пользователем

xtradbrowusers.users.profile.tags.php (хук users.profile.tags) — назначает теги {USERS_PROFILE_XTRA_…} в шаблоне users.profile.tpl.

xtradbrowusers.users.profile.update.done.php (хук users.profile.update.done) — сохраняет значения из формы в таблицу плагина.

Редактирование администратором

xtradbrowusers.users.edit.tags.php (хук users.edit.tags) — теги для админской формы (users.edit.tpl).

xtradbrowusers.users.edit.update.done.php (хук users.edit.update.done) — сохранение при админ‑редактировании.

Публичный профиль

xtradbrowusers.users.details.tags.php (хук users.details.tags) — теги для публичной страницы (users.details.tpl), включая поддержку названий стран.

Список пользователей

xtradbrowusers.users.loop.php (хук users.loop) — теги {USERS_ROW_XTRA_…} для каждой строки списка.

xtradbrowusers.usertags.php (хук usertags.main) — интегрируется в центральный генератор пользовательских тегов, делая поля доступными в любом контексте (форумы, посты, виджеты).

Регистрация

xtradbrowusers.users.register.tags.php (хук users.register.tags) и …register.add.done.php — теги в форме регистрации и сохранение после успешной регистрации.

Удаление пользователя

xtradbrowusers.users.delete.done.php (хук users.delete.done) — удаляет файлы полей и запись из cot_xtradbrowusers.

Дополнительно

xtradbrowusers.header.tags.php (хук header.tags) — позволяет вывести данные экстраполей в <title> и мета‑тегах.

7. Управление экстраполями в админке

Перейдите в «Администрирование → Расширения → Экстраполя» и выберите таблицу cot_xtradbrowusers. Вы увидите список из 15 полей и форму добавления нового. Каждое поле характеризуется атрибутами: имя, тип, HTML‑шаблон, варианты, параметры, значение по умолчанию, обязательность, парсер и описание.

Доступные типы: input, textarea, select, radio, checkbox, datetime, country, file, checklistbox, range, inputint, currency, double. Для выпадающих списков и радиокнопок варианты указываются через запятую; для диапазона — минимальное и максимальное значение; для даты — диапазон лет и формат. Значение по умолчанию для datetime задаётся в формате UNIX timestamp.

Пример создания поля «Любимый язык программирования»: имя fav_language, тип select, варианты Не указан,JavaScript,Python,PHP,Rust, по умолчанию Не указан. Новое поле сразу появляется в профилях.

8. Вывод полей: редактирование администратором (users.edit.tpl)

Хук users.edit.tags предоставляет теги {USERS_EDIT_XTRA_ИМЯПОЛЯ} и {USERS_EDIT_XTRA_ИМЯПОЛЯ_TITLE}, а также универсальные {USERS_EDIT_XTRA_EXTRAFLD} и _TITLE для цикла.

Чтобы отобразить все поля разом, вставьте в users.edit.tpl блок с проверкой активности плагина и циклом <!-- BEGIN: XTRA_EXTRAFLD -->…<!-- END: XTRA_EXTRAFLD -->. Для индивидуального размещения используйте конкретные теги. После сохранения данные записываются в таблицу плагина и становятся доступны другим шаблонам.

9. Вывод полей: редактирование профиля пользователем (users.profile.tpl)

Аналогично админской форме, но с префиксом USERS_PROFILE_XTRA_. Поддерживается как циклический, так и индивидуальный вывод. Рекомендуется всегда оборачивать вывод в проверку активности плагина.

10. Вывод полей: публичный профиль (users.details.tpl)

Здесь поля выводятся как готовые значения, а не как элементы ввода. Доступны теги {USERS_DETAILS_XTRA_ИМЯПОЛЯ} (форматированное), _VALUE (сырое), _TITLE. Для полей типа country доступно название страны. Дату удобно форматировать фильтром cot_date. Можно использовать цикл или индивидуальные теги.

11. Вывод полей: список пользователей (users.tpl)

Внутри цикла <!-- BEGIN: USERS_ROW --> доступны теги {USERS_ROW_XTRA_…}. Рекомендуется выводить только ключевые поля, чтобы не перегружать карточки. Плагин не предоставляет группового цикла в этом шаблоне — только индивидуальные теги.

12. Вывод полей: регистрация (users.register.tpl)

Форма регистрации не загружает существующие данные, но сохраняет введённые значения при ошибках валидации. Доступны теги {USERS_REGISTER_XTRA_…}. Можно вывести все поля циклом или выборочно.

13. Групповой (циклический) вывод

Когда полей много, удобно использовать единый блок <!-- BEGIN: XTRA_EXTRAFLD -->. Он работает в шаблонах edit, profile, details, register и list (список пользователей), автоматически подставляя название и элемент поля. Каждый хук назначает универсальные теги XTRA_EXTRAFLD и XTRA_EXTRAFLD_TITLE, а шаблонный цикл проходит по всем полям.

Важно: в формах редактирования (edit, profile, register) нельзя одновременно использовать индивидуальные теги и цикл для одного и того же поля — это приведёт к дублированию name в HTML и потере данных при отправке. Выберите что‑то одно. На публичных страницах дублирование не вызывает ошибок сохранения, но ради чистоты кода его также лучше избегать.

Рекомендация: в формах используйте цикл; в карточках публичного профиля — индивидуальный вывод для кастомизации; в списке пользователей — только индивидуальные теги.

14. Локализация дополнительных полей

Плагин полностью совместим с системой перевода Cotonti. Заголовки полей ищутся по ключам $L['xtra_имяполя_title'] или $L['имяполя_title']. Значения select, radio, checklistbox переводятся через $L['имяполя_значение'] (без префикса). Если перевод не найден, используется исходное значение или описание из админки.

Языковые файлы плагина расположены в plugins/xtradbrowusers/lang/. Вы можете редактировать их или переопределять переводы в языковом файле темы. После изменения необходимо сбросить кеш. Локализация работает автоматически — дополнительные действия в шаблонах не требуются.

15. Поддержка и обратная связь

Плагин распространяется бесплатно под лицензией BSD. Вы можете свободно использовать, дорабатывать и распространять его.

Вы можете поддержать автора добровольным пожертвованием или заказать индивидуальную доработку. Контакты на странице: github.com/webitproff.

Последнее обновление: 16 июля 2026. Версия плагина: 1.0.0.



Рейтинг на основе отзывов:
Звезд получено: 0
Oтзывов всего: 0
Средняя оценка: 0
7 минут чтения
Владелец: Carbonate Sodium

Отзывы к товарам

Отзывов пока нет


Добавить в корзину

Товар без файла для загрузки

 

Категория расширения
Утилиты и инструменты
Доступность
Бесплатно

Обсуждение страницы в Telegram

Рекомендуемые статьи к товару

Мультиязычные экстраполя пользователей в Cotonti

Мультиязычные экстраполя пользователей в Cotonti

Плагин xtradbrowusers позволяет добавлять произвольные поля к профилям пользователей Cotonti и,

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

webitproff

Оффлайн

webitproff

Последняя авторизация: 18.07.2026 14:46

  • Чем могу помочь?

    Оказываю весь спектр услуг по CMF Cotonti. Разработка открытых и закрытых корпоративных интернет порталов, небольших социальных сетей, торговые площадки, маркетплейсы, биржи фриланса, каталоги товаров оптовых поставщиков, интернет-магазин под заказ, чтобы делать совместные покупки и групповые совместные продажи от имени нескольких продавцов.

  • Разработки на GitHub бесплатно
    • 16.07.2026 23:16
    • 18.07.2026 02:40
    • Язык:

    Рекомендуемые товары и услуги

    Установка, интеграция и адаптация плагинов под Cotonti CMF

    Установка, интеграция и адаптация плагинов под Cotonti CMF

    профессиональные услуги по установке, глубокой интеграции и адаптации плагинов под Cotonti CMF, с

    Витрина Market PRO

    CMS, Скрипт и Движок - веб сайта онлайн-витрины, интернет магазина инфопродуктов и цифровых товаров. Разные цены в разных валютах на товар. Онлайн-оплата в криптовалюте за товары и услуги.