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:OnBeforeExportBegin

From In-Portal Developers Guide

Jump to: navigation, search

События общего применения События общего применения
Статьи в этой категории

Cобытие OnBeforeExportBegin применяется только в административной консоли. В базовом классе событие представлено пустым методом, который можно переопределять с целью модификации и дополнительных проверок параметров экспорта/импорта.

Contents

Вызывается из шаблона

Не вызывается из шаблона.

Вызывается из событий

Вызывается из события OnExportBegin.  

Входные параметры

название описание
options (array) Параметры экспорта/импорта.

Вызывает события

Не вызывает событий.

Потенциальное применение

Модификации и дополнительные проверки параметров экспорта/импорта, требуемые в конкретной реализации экспорта/импорта в отличие от стандартного экспорта/импорта. Например - добавление новых параметров.

$options = $event->getEventParam('options') ;
 
$items_list =& $this->Application->recallObject($event->Prefix.'.'.$this->Application->RecallVar('export_oroginal_special'), $event->Prefix.'_List');
$items_list->SetPerPage(-1);
if ($options['export_ids'] != '') {
	$items_list->AddFilter('export_ids', $items_list->TableName.'.'.$items_list->IDField.' IN ('.implode(',',$options['export_ids']).')');
}
 
$options['ForceCountSQL'] = $items_list->getCountSQL( $items_list->GetSelectSQL(true,false) );
$options['ForceSelectSQL'] = $items_list->GetSelectSQL();
 
$event->setEventParam('options',$options);

Это пример для экспорта заказов (из класса OrdersEventHandler). В нём формируются параметры, содержащие SQL-запросы для извлечения и подсчёта экспортируемых записей, и сохраняются в передаваемом по ссылке объекте $event.

Ограничения

Ограничений нет.