EventHandler:OnAfterItemLoad
From In-Portal Developers Guide
Path to article:
| ||
---|---|---|
Статьи в этой категории | ||
Данное событие позволяет выполнить дополнительные действия после успешной загрузки объекта из базы данных.
Contents |
Вызывается из событий
Данное событие косвенно вызывается из события OnItemBuild в тот момент, когда объект автоматически загружается по ID
, переданному в запросе от пользователя. Также оно вызывается из метода kDBItem::Load. Более детально это продемонстрировано ниже:
OnItemBuild -> kDBEventHandler::LoadItem -> kDBItem::Load -> kDBItem::raiseEvent
Входные параметры
название | описание |
---|---|
id (int)
| ID той записи, которая была успешно загружена из базы данных. Если в методе уже используется загруженный объект, то лучше получить ID прямо у него:
$object =& $event->getObject(); /* @var $object kDBItem */ $id = $object->GetID(); |
Потенциальное применение
Данное событие можно использовать для установки значений виртуальных полей объекта на основании его реальных полей. Это будет показано на ниже приведённом примере.
function OnAfterItemLoad(&$event) { parent::OnAfterItemLoad($event); $object =& $event->getObject(); /* @var $object kDBItem */ $area = $object->GetDBField('Width') * $object->GetDBField('Height'); $object->SetDBField('Area', $area); }
Ограничения
Данное событие вызывается только после успешной загрузки объекта из базы данных.