SubscribeTable::getEntity()
Сигнатура
public static getEntity() : EO_Subscribe_Entity
Описание
Возвращает объект сущности
Возвращаемое значение
EO_Subscribe_Entity
Как применяется в SubscribeTable
SubscribeTable::getEntity() — метод класса \Bitrix\Catalog\SubscribeTable модуля «Торговый каталог». Это ORM-сущность D7 (наследник DataManager): строки читаются как объекты EO_Subscribe, наборы — как EO_Subscribe_Collection. Метод достаётся SubscribeTable от DataManager::getEntity: поведение общее для всех сущностей, а данные, поля и классы — свои.
Возвращает объект сущности SubscribeTable — описание полей, первичного ключа, связей и модуля. Через него проверяют, есть ли поле, и строят запросы динамически.
use Bitrix\Main\Loader;
use Bitrix\Catalog\SubscribeTable;
Loader::includeModule('catalog');
$entity = SubscribeTable::getEntity();
$primary = $entity->getPrimaryArray();
$hasName = $entity->hasField('NAME');Поля сущности SubscribeTable
| Поле | Тип | Свойства |
|---|---|---|
ID | int | обязательное |
DATE_FROM | datetime | обязательное |
DATE_TO | datetime | необязательное |
USER_CONTACT | string | обязательное |
CONTACT_TYPE | int | обязательное |
USER_ID | int | необязательное |
USER | reference | |
ITEM_ID | int | обязательное |
PRODUCT | reference | |
IBLOCK_ELEMENT | reference | |
NEED_SENDING | bool | |
SITE_ID | int | обязательное |
Список — из описания класса в исходном коде; точный состав в вашей версии вернёт SubscribeTable::getEntity()->getFields().
Собственные методы SubscribeTable
checkPermissionSubscribe()Метод проверяет разрешение на подписку на товар.getContactTypes()Метод возвращает массив доступных типов и позволяет добавить тип с помощью события.onAddContactType()Обработчик onAddContactType. Добавление нового типа контакта.onIblockElementDelete()Обработчик onIblockElementDelete для удаления данных о подписке в случае удаления товара.onProductSetAvailableUpdate()Метод OnProductSetAvailableUpdate для отправки уведомления подписчикам о положительном изменении доступности.onProductUpdate()onSaleOrderSaved()Обработчик OnSaleOrderSaved для отписки при оформлении заказа.onUserDelete()Обработчик onUserDelete для изменения данных подписки при удалении пользователя.runAgentToSendNotice()Метод запускает агент для отправки уведомлений подписчикам.runAgentToSendRepeatedNotice()Метод запускает агент для отправки повторных уведомлений подписчикам.sendNotice()Функция агента. Получает необходимые данные и отправляет уведомления пользователям.sendRepeatedNotice()Функция агента. Получает необходимые данные и отправляет уведомления пользователям.
getEntity() есть и у других классов модуля «Торговый каталог»: CatalogIblockTable, CatalogViewedProductTable, DiscountCouponTable, DiscountModuleTable, DiscountRestrictionTable, DiscountTable, ExtraTable, GroupAccessTable.
Исходный файл: source/catalog/lib/subscribe.php

