НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
33 of 182 menu

Таблица taxonomy_term_field_data

Таблица taxonomy_term_field_data является одной из ключевых таблиц в системе таксономии Drupal. Она предназначена для хранения обработанных и готовых к выводу данных терминов, таких как название и описание, с учетом конкретного языка. Эта таблица автоматически обновляется при изменении терминов и обеспечивает высокую производительность при выборках.

Поля

Поле Тип данных Описание
tid int Первичный ключ, уникальный идентификатор термина. Ссылается на taxonomy_term_data.tid.
vid varchar(32) Идентификатор словаря (vocabulary), к которому принадлежит термин. Ссылается на taxonomy_vocabulary.vid.
langcode varchar(12) Код языка, для которого представлены данные в этой строке.
name varchar(255) Название термина на указанном языке.
description__value longtext Основное текстовое описание термина.
description__format varchar(255) Идентификатор формата текста (текстовый фильтр), примененного к описанию. Ссылается на filter_format.format.
weight int Вес термина, определяющий порядок его отображения внутри словаря.
changed int Метка времени UNIX, указывающая, когда термин был последний раз изменен.
default_langcode int Флаг, указывающий, является ли этот язык языком по умолчанию для термина (1 - да, 0 - нет).
status int Статус термина: 1 - опубликован, 0 - не опубликован.

Как это работает

Drupal использует таблицу taxonomy_term_field_data для эффективного хранения и извлечения данных терминов, которые прошли через процесс рендеринга и готовы к отображению на сайте. Когда термин создается или редактируется, его данные обрабатываются (например, применяются текстовые фильтры к описанию) и затем сохраняются в эту таблицу.

Структура таблицы оптимизирована для многоязычных сайтов. Для каждого термина может существовать несколько записей с одинаковым tid, но разными langcode. Это позволяет хранить переводы названия и описания термина для разных языков в одной таблице, что значительно ускоряет выполнение запросов при построении меню, фильтров и других элементов интерфейса.

Поле status позволяет управлять видимостью термина. Термины со статусом 0 не будут отображаться на сайте для обычных пользователей. Поле weight используется для сортировки терминов при выводе, например, в выпадающих списках или меню.

Важно отметить, что эта таблица является производной. Основные данные термина хранятся в taxonomy_term_data, а данные полей, добавленных через модуль Field, хранятся в отдельных таблицах (например, taxonomy_term__body).

Пример SQL-запроса

Выбрать все опубликованные термины из словаря "tags" на русском языке:

SELECT tfd.tid, tfd.name, tfd.description__value FROM taxonomy_term_field_data tfd WHERE tfd.vid = 'tags' AND tfd.langcode = 'ru' AND tfd.status = 1 ORDER BY tfd.weight ASC, tfd.name ASC;

Смотрите также

  • таблицу taxonomy_term_data,
    которая хранит базовые данные терминов таксономии
  • таблицу taxonomy_index,
    которая связывает термины с материалами (нодами)
  • таблицу taxonomy_vocabulary,
    которая хранит информацию о словарях таксономии
  • таблицу node_field_data,
    которая хранит данные материалов (нод) для отображения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить