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

Таблица base_field_override

Таблица base_field_override является системной таблицей Drupal, которая отвечает за хранение изменений конфигурации базовых полей сущностей для отдельных пакетов (bundles). Базовые поля - это поля, которые предоставляются ядром Drupal или модулями по умолчанию для определенного типа сущности (например, заголовок и дата публикации для нод).

Поля

Поле Тип данных Описание
id serial Уникальный идентификатор записи о переопределении. Первичный ключ таблицы.
entity_type varchar(255) Тип сущности, для которой применяется переопределение (например, node, user, taxonomy_term).
bundle varchar(128) Название пакета (типа материала, словаря и т.д.), для которого применяется переопределение поля.
field_name varchar(32) Машинное имя базового поля, конфигурация которого переопределяется (например, title, status, uid).
data blob Сериализованные данные конфигурации переопределения поля. Содержит изменения настроек поля, такие как метка, описание, обязательность, настройки отображения и другие свойства, специфичные для данного пакета.
deleted tinyint Флаг, указывающий на то, что переопределение было удалено (1). Используется для отслеживания удаленных переопределений в рамках системы пакетной обработки.

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

Когда Drupal создает базовое поле для сущности (например, поле "Заголовок" для ноды), оно использует конфигурацию по умолчанию, определенную в коде. Однако администратор может захотеть изменить поведение этого поля для определенного типа материала (bundle). Например, сделать поле "Заголовок" необязательным для типа материала "Страница" или изменить его метку на "Название страницы".

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

При загрузке определения поля система проверяет наличие переопределения в этой таблице. Если для текущего пакета существует переопределение, Drupal объединяет конфигурацию по умолчанию с сохраненными изменениями, создавая конечную конфигурацию поля.

Важное отличие от таблицы config_entity: переопределения базовых полей не являются полноценными конфигурационными сущностями и обычно не экспортируются через механизм конфигурации Drupal стандартным образом.

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

Посмотреть все переопределения для типа сущности "нода":

SELECT id, bundle, field_name, deleted FROM base_field_override WHERE entity_type = 'node';

Получить данные конкретного переопределения для поля "Заголовок" типа материала "Статья":

SELECT data FROM base_field_override WHERE entity_type = 'node' AND bundle = 'article' AND field_name = 'title';

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

  • таблицу node,
    которая хранит основные данные материалов сайта
  • таблицу node_field_data,
    которая содержит данные полей материалов
  • таблицу config,
    которая хранит основную конфигурацию сайта
  • таблицу key_value,
    которая используется для хранения различных ключей и значений
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить