In-Portal Developers Guide

This is a wiki-based Developers Guide for In-Portal Open Source CMS. The purpose of this guide is to provide advanced users, web developers and programmers with documentation on how to expand, customize and improve the functionality and the code the In-Portal software. Please consider contributing to our documentation writing effort.

EventHandler:OnPreCreate

From In-Portal Developers Guide

Jump to: navigation, search
События во временных таблицах События во временных таблицах
Статьи в этой категории

Данное событие создаёт структуру пустых временных таблиц а также инициализирует поля объекта главной записи значениями по умолчанию (не создаёт его в базе данных). Также данное событие переключает редактирование в режим работы с созданными ранее временными таблицами.

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'));
}

Ограничения

Данное событие будет работать только в случае, когда используются временные таблицы.

См. также