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

Таблица block_theme

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

Поля

Поле Тип данных Описание
module varchar(64) Название модуля, который предоставляет данный блок. Внешний ключ к таблице system.
delta varchar(32) Уникальный идентификатор блока в рамках модуля. Вместе с полем module образует уникальный ключ для идентификации блока.
theme varchar(64) Название темы, в которой данный блок доступен. Внешний ключ к таблице system.

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

Когда модуль определяет новые блоки через hook_block_info(), система автоматически регистрирует эти блоки для всех установленных тем в таблице block_theme. Это создает связь между блоком (определяемым парой module и delta) и темой (theme).

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

Эта система обеспечивает гибкость в управлении блоками для разных тем. Администратор может иметь различные наборы блоков для разных тем, даже если эти темы используются на одном сайте.

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

Получить все блоки, доступные для определенной темы:

SELECT bt.module, bt.delta, bt.theme FROM block_theme bt WHERE bt.theme = 'bartik';

Найти все темы, в которых доступен конкретный блок:

SELECT bt.theme FROM block_theme bt WHERE bt.module = 'system' AND bt.delta = 'main-menu';

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

  • таблицу block,
    которая хранит настройки размещения блоков
  • таблицу block_custom,
    которая содержит пользовательские блоки
  • таблицу block_role,
    которая управляет видимостью блоков для ролей
  • таблицу system,
    которая содержит информацию о модулях и темах
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить