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

Таблица trigger_assignments

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

Поля

Поле Тип данных Описание
hid int Уникальный идентификатор назначения действия. Первичный ключ с автоинкрементом.
aid varchar(255) Идентификатор действия (action), которое должно быть выполнено. Ссылается на таблицу actions.
hook varchar(32) Имя хука (события), для которого назначено действие. Например: node_insert, user_update, comment_delete.
op varchar(32) Операция, связанная с хуком. Часто соответствует последней части имени хука (например, insert, update, delete).
type varchar(32) Тип объекта, к которому применяется действие. Например: node, user, comment.
weight int Вес назначения, определяющий порядок выполнения действий для одного и того же события. Действия с меньшим весом выполняются раньше.

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

Модуль Trigger в Drupal предоставляет интерфейс для назначения действий на различные системные события. Когда администратор назначает действие через пользовательский интерфейс (Администрирование > Структура > Триггеры), в таблицу trigger_assignments добавляется новая запись.

При возникновении события в системе (например, создание нового материала) Drupal ищет в этой таблице все записи, где поле hook соответствует имени произошедшего события (например, node_insert). Для каждой найденной записи загружается и выполняется соответствующее действие из таблицы actions.

Порядок выполнения действий определяется полем weight. Действия выполняются последовательно, от меньшего веса к большему. Это позволяет контролировать очередность выполнения, когда на одно событие назначено несколько действий.

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

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

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

SELECT ta.hook, ta.op, a.type, a.label, ta.weight FROM trigger_assignments ta JOIN actions a ON ta.aid = a.aid WHERE ta.type = 'node' ORDER BY ta.hook, ta.weight;

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

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