Таблица taxonomy_vocabulary
Таблица taxonomy_vocabulary является центральной таблицей для хранения метаданных словарей таксономии в Drupal. Словари представляют собой контейнеры для группировки терминов (таксонов) по определенным темам или категориям.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
vid |
serial |
Уникальный идентификатор словаря (первичный ключ). Автоматически увеличивающееся целое число. |
name |
varchar(255) |
Название словаря, отображаемое пользователям и администраторам. |
machine_name |
varchar(255) |
Машинное имя словаря. Уникальное имя, используемое для программного обращения к словарю. |
description |
text |
Описание словаря, его назначения и содержания. Может использоваться в административном интерфейсе. |
hierarchy |
int |
Тип иерархии, разрешенной для терминов в словаре. 0 - нет иерархии, 1 - одиночная иерархия (один родитель), 2 - множественная иерархия (несколько родителей).
|
module |
varchar(255) |
Имя модуля, который предоставил этот словарь. Для пользовательских словарей обычно указывается taxonomy.
|
weight |
int |
Вес словаря, определяющий порядок сортировки словарей в списках и интерфейсах. |
Как это работает
Словари таксономии служат контейнерами для организации терминов. Каждый словарь определяет отдельную классификационную систему, такую как "Теги", "Категории" или "Метки". Поле hierarchy определяет, могут ли термины в словаре образовывать иерархические структуры (деревья).
При создании словаря через административный интерфейс (/admin/structure/taxonomy) или программно, в таблицу taxonomy_vocabulary добавляется новая запись. Машинное имя (machine_name) должно быть уникальным и обычно используется в коде для ссылки на конкретный словарь.
Термины (записи в таблице taxonomy_term_data) связаны со словарем через поле vid. Вес словаря (weight) влияет на порядок отображения словарей в интерфейсах, таких как форма добавления/редактирования контента или административные списки.
Модульная система Drupal позволяет различным модулям предоставлять свои собственные словари через поле module. Это позволяет интегрировать таксономию с другими компонентами системы.
Пример SQL-запроса
Получить все словари, отсортированные по весу:
SELECT vid, name, machine_name, hierarchy, weight
FROM taxonomy_vocabulary
ORDER BY weight ASC, name ASC;
Найти конкретный словарь по машинному имени:
SELECT vid, name, description, hierarchy
FROM taxonomy_vocabulary
WHERE machine_name = 'tags';
Смотрите также
-
таблицу
taxonomy_term_data,
которая хранит основные данные терминов таксономии -
таблицу
taxonomy_term_hierarchy,
которая хранит иерархические связи между терминами -
таблицу
taxonomy_index,
которая обеспечивает индексацию терминов для быстрого поиска -
таблицу
node,
которая хранит основные данные материалов сайта