- Совместимость с XenForo
- 2.3.х
- Видимый копирайт
- Нет
- Русификатор
- Нет
Таблицы данных позволяют администраторам создавать в XenForo автономные, полностью настраиваемые таблицы данных без необходимости писать код. Определяйте собственные столбцы, настраивайте выпадающие списки, связывайте записи в разных таблицах и управляйте структурированными данными прямо из AdminCP, используя чистые общедоступные страницы, оформленные в стиле вашего форума.
Идеально подходит для каталогов товаров, игровых баз данных, составов команд, таблиц с ценами, инвентарных списков и любых структурированных данных, которые не помещаются в темы форума.
Идеально подходит для каталогов товаров, игровых баз данных, составов команд, таблиц с ценами, инвентарных списков и любых структурированных данных, которые не помещаются в темы форума.
Ключевые особенности
- Динамические определения таблиц — создавайте неограниченное количество таблиц, каждая из которых будет иметь собственное название, URL-адрес, описание и порядок отображения. Переключайте таблицы между активным и неактивным состоянием без удаления данных.
- Таблицы в списке/вне списка — скрывайте определения из общедоступного индекса таблиц, но при этом сохраняйте к ним доступ по прямому URL-адресу. Значок «Не в списке» в AdminCP.
- 12 типов полей — создавайте столбцы с помощью следующих типов полей: текст, число, URL, дата, поиск (выпадающий список), поиск в таблице (перекрестная ссылка), текстовая область, «Да/Нет» (логическое поле), цвет (палитра с шестнадцатеричными значениями и встроенным образцом), форматированный текст (BBCode с редактором XF), пользователь (поле участника) и встраивание мультимедиа (встроенное видео/медиа). Каждое поле поддерживает сортировку и фильтрацию.
- Безопасное преобразование типа поля — при изменении типа поля отображается страница подтверждения с предварительным просмотром последствий (затронутые записи, количество записей, которые можно преобразовать автоматически), а также выполняется интеллектуальное преобразование данных без удаления значений. Поддерживается преобразование типа «поиск-текст» (отображение меток параметров), «таблица-поиск-текст» (отображение меток связанных записей), «логическое-число» и все остальные комбинации.
- Поле с образцом цвета — средство выбора цвета HTML5 с проверкой по шестнадцатеричному коду. В представлениях таблиц отображается компактный встроенный образец цвета, а в подробном представлении записи — увеличенный образец.
- Поле форматированного текста (BBCode) — полноценный редактор XF BBCode для форматированного контента. Отображается в виде форматированного HTML в подробном представлении записи и преобразуется в обычный текст при вводе. (Новое в версии 1.6.0) Опция «Компактный редактор» для каждого поля заменяет полный блок редактора на небольшое текстовое поле BBCode для коротких полей с форматированным текстом.
- (Новое в версии 1.6.0) Поле «Пользователь / владелец» — запись участника в строку. Включите параметр «Привязать к создателю записи», и поле автоматически будет фиксировать в качестве владельца записи того, кто ее создал. Вам не придется вводить данные вручную — они будут отображаться на всех путях сохранения (администратор, общедоступный, клонированный, импорт CSV). Если этот параметр выключен, вы можете выбрать участника с помощью встроенного в XF автозаполнения имени пользователя. Отображается как связанное имя пользователя.
- (Новое в версии 1.6.0) Поле для встраивания медиафайлов — вставьте URL-адрес YouTube, Vimeo или любого другого поддерживаемого медиафайла, и он будет встроен прямо на странице с подробной информацией о записи с помощью собственной системы обработки медиафайлов XF — без пользовательского кода для встраивания. В таблицах и списках вместо плеера в каждой строке отображается компактная ссылка «Посмотреть»; в CSV экспортируется исходный URL-адрес.
- Видимость полей — переключатель «Показывать в таблице» для каждого поля позволяет скрыть столбцы в таблице, но при этом отображать их на страницах с подробной информацией о записи.
- Столбцы поиска (реляционные выпадающие списки) — определение параметров выпадающего списка для любого поля.Параметры хранятся в реляционной базе данных (а не в виде отдельных строк), что обеспечивает чистоту ввода данных и единообразие отображения.
- Межтабличные реляционные поиски — связывайте записи между таблицами с помощью поля «Поиск по таблице». Выберите связанную таблицу и поле отображения, и пользователи смогут выбирать записи из этой таблицы с помощью выпадающего списка. Значения отображаются в виде кликабельных ссылок на соответствующую запись.
- Встроенное наложение «Создать новое» — кнопка «+» рядом с каждым выпадающим списком «Поиск в таблице» открывает модальное окно для создания новой записи в связанной таблице. Сохраняет данные с помощью AJAX и автоматически выбирает их в родительском выпадающем списке — без перезагрузки страницы и перехода на другую страницу. Работает как в AdminCP, так и на общедоступных страницах.
- Создание вложенного наложения — кнопка «+» работает и внутри наложений (на один уровень в глубину), так что вы можете создать связанную запись, не покидая родительскую форму создания.
- Удобные URL-адреса с суффиксом .ID — записи доступны по адресу
/data-tables/{table-slug}/{record-slug}.{id}/с использованием стандартного для XF суффикса .ID (например, URL-адреса тем). Автоматически генерируемые уникальные идентификаторы. Устаревшие URL-адреса перенаправляются на новый формат с помощью 301 редиректа. - Пользовательский префикс маршрута — измените общедоступный URL-адрес с
/data-tables/на любой пользовательский префикс (например,/reference/) с помощью настроек администратора. Используется встроенная в XF система фильтрации маршрутов — все ссылки в шаблонах обновляются автоматически. - Хлебные крошки - Полная навигация по всем общедоступным страницам: Главная> Таблицы данных> Имя таблицы> Заголовок записи.
- Строки таблицы с возможностью кликабельности - Щелкните в любом месте строки таблицы, чтобы перейти на страницу сведений о записи. Ctrl / Cmd + щелчок открывает новую вкладку.
- Страницы сведений о записи - Каждая запись имеет собственную страницу сведений, содержащую все поля, и раздел "Ссылки", в котором перечислены записи из других таблиц, которые указывают на нее.
- Интеграция с картой сайта — записи из активных определений, указанных в списке, автоматически включаются в карту сайта XF для индексации поисковыми системами.
- Импорт CSV — загружайте файлы CSV со страницы со списком записей AdminCP. Поддерживаются разделители: запятая, табуляция, точка с запятой и вертикальная черта. Автоматическое сопоставление столбцов по названию заголовка, предварительный просмотр в 5 строк, разрешение поиска с возможностью автоматического создания отсутствующих параметров.
- Экспорт CSV — загружайте табличные данные в формате CSV с форматированными значениями ячеек (подписи для поиска, логические значения «Да»/«Нет», подписи для отображения при поиске в таблице).
- Перемещение поля между определениями — перенос поля и его данных из одной таблицы в другую через AdminCP. Включает проверку на коллизию ключей полей и автоматическую очистку ссылок.
- Редактирование порядка отображения полей — изменение порядка отображения полей непосредственно на странице со списком полей без необходимости открывать каждое поле по отдельности.
- Встроенные переключатели «Обязательно» и «Показывать в таблице» — «Обязательно» и «Показывать в таблице» — это редактируемые флажки на странице со списком полей, которые сохраняются вместе с порядком отображения в один клик. Не нужно открывать страницу редактирования каждого поля.
- Средство выбора иконок FontAwesome — выберите пользовательскую иконку для каждого определения таблицы из более чем 1500 иконок FontAwesome (например, fa-car, fa-wrench, fa-database). Иконки отображаются в списке таблиц, в заголовке таблицы и в заголовке сведений о записи.
- Расширенный список таблиц — в общедоступном каталоге таблиц используются расширенные карточки со значком определения, описанием, количеством полей и значком с количеством записей с плавными переходами при наведении курсора.
- Единые заголовки страниц — на страницах с таблицей и сведениями о записи используется единый шаблон заголовка с иконкой и блоком с названием для визуальной целостности всех страниц.
- Массовое выделение и удаление — флажок «Выбрать все» и кнопка пакетного удаления на страницах со списком определений, списком полей и списком записей с динамическим отображением количества.
- Администрирование записей — полный доступ к операциям создания, чтения, обновления и удаления записей в AdminCP. Динамические формы автоматически адаптируются к определениям ваших полей: текстовые поля становятся текстовыми полями ввода, поля поиска — выпадающими списками, числовые поля — спиннерами, логические поля — чекбоксами, поля выбора цветов — ползунками, а форматированный текст — редактором BBCode.
- Пользовательский интерфейс списка определений администратора - Щелчок по заголовку определения переходит непосредственно на страницу записей. Кнопки Редактирования и удаления в столбце Действия.
- Отображение общедоступных таблиц - Чистые, адаптивные общедоступные страницы, на которых /data-tables/ отображаются все перечисленные таблицы с отдельными представлениями таблиц на /data-tables/{slug}/. Полная интеграция с темой.
- Сортировка по столбцам - Отметьте поля как "сортируемые" в окне администратора, и пользователи смогут щелкнуть заголовки столбцов в представлении общедоступной таблицы для сортировки по возрастанию / убыванию.
- Публичная отправка записей — при желании можно разрешить участникам отправлять новые записи с общедоступной стороны (с контролем доступа).
- Множественный выбор в таблицах поиска — поля поиска в таблицах можно сделать множественными для связи «многие ко многим». Отображаются в виде выпадающего списка с множественным выбором (или тегов автозаполнения для больших списков). В ячейке отображаются связанные элементы, разделенные запятыми, с кликабельными ссылками.
- Публичное редактирование/удаление — владельцы записей могут редактировать и удалять записи на общедоступных страницах. Контролируется специальными разрешениями с разумными настройками по умолчанию (редактирование: разрешить, удаление: запретить).
- Проверка обязательных полей — помечайте поля как обязательные. Применяется ко всем действиям сохранения (административным и общедоступным) с понятными сообщениями об ошибках.
- Автозаполнение при поиске — поля поиска по таблице, в которых доступно более 50 вариантов, автоматически переключаются с выпадающего списка на автозаполнение AJAX с отложенным поиском и удаляемыми тегами для множественного выбора.
- Встроенное редактирование связанной записи — значок карандаша рядом с полями поиска по таблице с возможностью выбора одного элемента открывает всплывающее окно для редактирования связанной записи. При сохранении метка опции обновляется без перезагрузки страницы.
- Разрешение полей заголовка — поля «Поиск» и «Поиск по таблице», используемые в качестве полей заголовка, теперь отображаются в соответствии с их отображаемыми метками (текстом опции или именем связанной записи), а не в виде необработанных идентификаторов.
- Доступ с контролем разрешений— четыре готовых разрешения:
View data tables(по умолчанию: разрешить для всех)Add records(по умолчанию: запретить)Edit records(по умолчанию: разрешить)Delete records(по умолчанию: запретить)
- Пагинация — как в административной, так и в общедоступной версии на странице отображается по 50 записей с детерминированным порядком сортировки (при совпадении идентификаторов записей для данных, импортированных в массовом порядке, приоритет отдается идентификатору записи).
- Конфигурация полей с помощью AJAX — при редактировании полей при выборе параметра «Поиск по таблице» динамически отображаются связанные таблицы и выпадающие списки полей с помощью AJAX — перезагрузка страницы не требуется.
- Поля с URL-адресами, на которые можно перейти — значения полей с типом URL отображаются в виде кликабельных ссылок как в административной, так и в общедоступной версии таблицы.
- Чистая деинсталляция — при деинсталляции удаляются все 5 таблиц базы данных. Никаких остаточных данных.
Как Это Работает
- Создайте определение - перейдите в раздел AdminCP> Инструменты> Таблицы данных> Добавить определение. Дайте ему заголовок (например, "Каталог продукции") и URL-адрес (например, "продукты")..
- Добавить поля— нажмите «Поля», чтобы задать столбцы. Например:
- Название (текст, обязательное поле, можно сортировать)
- Категория (выпадающий список с такими вариантами, как «Электроника», «Одежда», «Дом»)
- Цена (число, можно сортировать)
- В наличии (Да/Нет)
- Веб-сайт (URL)
- Цвет бренда (цвет — шестнадцатеричный код с предварительным просмотром образца)
- Описание (расширенный текст — полный редактор BBCode)
- Производитель (выпадающий список — связан с таблицей «Производители», в которой отображается поле «Название»)
- Добавить записи — нажмите «Записи», чтобы начать ввод данных. Форма автоматически подбирает правильный тип ввода для каждого поля. Нужна новая связанная запись? Нажмите «+» рядом с любым раскрывающимся списком «Поиск по таблице» и создайте новую запись.
- Импортировать данные — у вас есть данные? Нажмите «Импортировать CSV» на странице со списком записей, загрузите файл, сопоставьте столбцы, просмотрите и импортируйте.
- Посмотреть в общедоступном режиме — перейдите по адресу
/data-tables/products/, чтобы увидеть таблицу с сортируемыми столбцами, разрешенными значениями поиска, интерактивными перекрестными ссылками и удобным форматированием. Нажмите на любую строку, чтобы открыть страницу с подробной информацией по удобному URL-адресу, например/data-tables/products/widget-pro.42/.
Пример межтабличных связей
Допустим, у вас есть две таблицы: «Производители» и «Товары». Добавьте в таблицу «Товары» поле «Поиск по таблице», которое будет указывать на таблицу «Производители». Теперь при добавлении товара пользователь может выбрать производителя из выпадающего списка. В таблице «Товары» названия производителей отображаются в виде кликабельных ссылок на страницу с подробной информацией о производителе. На странице с подробной информацией о производителе в разделе «На что ссылается» перечислены все товары, которые на него ссылаются.Технические детали
- Архитектура:гибридный JSON + нормализованный поиск по 5 таблицам базы данных
xf_qubn_dt_definition- определения таблиц (название, слаг, статус, is_listed)xf_qubn_dt_field- определения столбцов для каждой таблицы (тип, параметры, is_show_in_table)xf_qubn_dt_lookup_option- выпадающие списки для полей поискаxf_qubn_dt_record- строки данных (JSON-объект для каждой записи, слаг для удобных URL)xf_qubn_dt_record_ref- отслеживание денормализованных межтабличных ссылок
- Производительность: значения для поиска вычисляются в одном пакетном запросе. Межтабличные ссылки отслеживаются с помощью денормализованной таблицы для быстрого обратного поиска. Составные индексы для часто запрашиваемых столбцов. Пагинация до 50 записей на странице.
- Совместимость: XenForo 2.3.x. Никаких расширений классов — полностью автономная система без конфликтов.
- Качество кода: чистый код на уровне 3 по стандарту PHPStan. 161 автоматизированный тест для браузера. Все вводимые пользователем данные фильтруются. Защита от CSRF-атак во всех формах.
- Обновление: плавное обновление с любой предыдущей версии (от 1.0.0 до 1.5.0) с автоматической миграцией. При обновлении до версии 1.6.0 в таблицу определений полей добавляются только два небольших столбца — данные записей не затрагиваются, поэтому при установке больших наборов данных обновление происходит мгновенно и безопасно.
Установка
- Загрузите и распакуйте ZIP-файл
- Загрузите
Qubn/DataTables/папку вsrc/addons/ - Перейдите в AdminCP> Дополнения> Установить из архива (или Установить / обновить)
- Перейдите в AdminCP> Инструменты> Таблицы данных, чтобы начать создание таблиц