EventHandler:OnPreCreate
From In-Portal Developers Guide
| ||
---|---|---|
Статьи в этой категории | ||
Данное событие создаёт структуру пустых временных таблиц а также инициализирует поля объекта главной записи значениями по умолчанию (не создаёт его в базе данных). Также данное событие переключает редактирование в режим работы с созданными ранее временными таблицами.
Contents |
Вызывается из шаблона
Данное событие вызывается при нажатии на кнопку "Add
" (добавление новой записи) на панели инструментов в списке главных записей. Это реализуется через вызов JavaScript
функции "std_precreate_item
". В случае, когда кнопка добавления новой записи расположена на списке подчинённых записей, то будет вызвано событие OnNew и будет использоваться JavaScript
функция "std_new_item
".
Потенциальное применение
Данное событие можно использовать для динамической установки значений по умолчанию для полей объекта. Также динамическую установку значений по умолчанию можно делать из события OnAfterConfigRead. Это нагляднее будет продемонстрировано на ниже приведённом примере.
function OnPreCreate(&$event) { parent::OnPreCreate($event); $object =& $event->getObject(); /* @var $object kDBItem */ $object->SetDBField('SampleField_date', strtotime('-1 day')); $object->SetDBField('SampleField_time', strtotime('-1 day')); }
Ограничения
Данное событие будет работать только в случае, когда используются временные таблицы.