Interested in our services or want to ask something? Contact us!

Akademgorodok 8 / 315,
Krasnoyarsk, 663600
Russia

Создаём entity в Друпал 7 (часть 1: введение)

Опубликовано: 27.09.2017

Разумеется, основной зависимостью будет модуль Entity API — без него гораздо больший объём работы придется выполнить самостоятельно, в то время как с ним от нас требуется только более точно настроить то, что кто-то уже написал, конкретно под наши нужды.

Полезная информация есть в документации модуля Entity API (на странице модуля в разделе «Documentation» есть ссылки или, что то же самое, можно почитать файлы самого модуля). Для него есть и Entity API Tutorial .

На русском описания ключей для регистрации сущности можно взять например вот отсюда: Разработка для Drupal 7 с помощью новой концепции сущностей (Entity)

Также полезной будет документация на hook_entity_info() , поскольку это основная функция регистрации своей сущности в системе (Entity API лишь дополняет её всякими разными полезными штучками).

Примеры модулей

На странице Entity API Tutorial в Related Modules есть некоторые модули, которые можно рассматривать в качестве примеров при создании своих сущностей (мне лично особенно понравился Model Entities ).

Есть ещё Examples (модуль entity_example , пример создания сущности из ядра, без Entity API), или, например, модуль Ledger — бухгалтерия с двойной записью.

Даже модули из ядра как примеры создания entity никто не отменял (вроде Node или Comment ). И хотя они не используют Entity API, их схемы ввода-вывода представляют некоторый интерес.

Сущность для примера

Для этой статьи я выбрал довольно простую сущность личных сообщений на сайте (да-да, я знаю про Privatemsg ). С одной стороны у такой сущности могут быть дополнительные и настраиваемые поля, с другой — даже и без полей нам пригодится много чего из возможностей Entity API (например, интеграция с Rules для отправки извещений). Кроме того это сущность такого типа, что ей потребуются свои адреса на сайте.

rss