Skip to content

События

Анатолий Ерофеев edited this page Dec 26, 2017 · 1 revision

OnMigratoDataBuildList

Событие используется для уведомления модуля о новых сущностях для миграции "извне". От обработчика события ожидается массив объектов-наследников \Intervolga\Migrato\Data\BaseData. Например:

<?
if (\Bitrix\Main\Loader::includeModule('intervolga.migrato'))
{
	class NewMigratoClass extends \Intervolga\Migrato\Data\BaseData
	{
		public function getModule()
		{
			return 'main'; 
		}

		public function getEntityName()
		{
			return 'newmigrato';
		}

		public function getList(array $filter = array())
		{
			$record = new \Intervolga\Migrato\Data\Record($this);
			$record->setXmlId('xmlid1');
			$record->setId(\Intervolga\Migrato\Data\RecordId::createNumericId(1));
			$record->addFieldsRaw(array(
				'FIELD1' => 'VALUE1',
				'FIELD2' => 'VALUE2',
				'FIELD3' => array(
					'VALUE3.1',
					'VALUE3.2',
				),
			));
			return array($record);
		}
	}

	\Bitrix\Main\EventManager::getInstance()->addEventHandler(
		'intervolga.migrato',
		'OnMigratoDataBuildList',
		function ()
		{
			return array(NewMigratoClass::getInstance());
		}
	);
}