Стажировка на реальных проектах:
наполнение портфолио, помощь с работой и заказами, пробные собеседования. Жми для подробностей→
120 of 182 menu
Бесплатный курс: Практика на Реальных Проектах и Работы в Портфолио! Начало 11 ноября. Жми для записи!

Таблица 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,
    которая хранит основные данные материалов