Таблица actions
Таблица actions является системной таблицей Drupal, которая служит хранилищем для действий. Действия - это произвольные операции, которые могут быть настроены администратором и автоматически выполняться системой при наступлении определенных событий (например, публикация материала, добавление комментария пользователем). Каждое действие представлено в виде отдельной строки в этой таблице.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
aid |
varchar(255) |
Машинное имя действия. Является первичным ключом таблицы. Должно быть уникальным. |
type |
varchar(32) |
Тип действия. Определяет, в каком контексте может быть использовано действие (например, node, user, comment, system). |
callback |
varchar(255) |
Имя PHP-функции или метода, которая будет вызвана для выполнения данного действия. |
parameters |
blob |
Сериализованный массив параметров (конфигурации) для данного действия. Параметры передаются в callback-функцию при выполнении действия. |
label |
varchar(255) |
Человекочитаемое название действия, которое отображается в интерфейсе администратора (например, при настройке правил или триггеров). |
Как это работает
Модули Drupal могут объявлять действия в своих хуках, реализуя hook_action_info(). Информация об этих действиях заносится в таблицу actions. Администратор сайта может затем настроить выполнение этих действий при определенных событиях через административный интерфейс (например, в модуле Trigger).
Когда происходит событие, для которого настроено действие, система Drupal загружает соответствующую запись из таблицы actions, десериализует параметры и вызывает указанную callback-функцию, передавая ей эти параметры и контекст (объект, над которым производится действие).
Поле parameters позволяет хранить конфигурацию для настраиваемых действий. Например, для действия "Отправить email" в этом поле будут храниться тема письма, адрес получателя и тело письма.
Пример SQL-запроса
Получить список всех действий, связанных с узлами (нодами), можно следующим запросом:
SELECT aid, label, callback
FROM actions
WHERE type = 'node';
Смотрите также
-
таблицу
trigger_assignments,
которая связывает события с действиями -
таблицу
url_alias,
которая хранит ЧПУ для материалов -
таблицу
users,
которая хранит данные пользователей -
таблицу
node,
которая хранит основные данные материалов