Список событий: Бренд

Внимание! Мы рекомендуем вам прочитать разделы Архитектура, Класс ElementItem, Класс ElementCollection для полного понимания архитектуры проекта.

model.afterImport

Событие позволяет обрабатывать данные импорта после сохранения объекта модели.

                            
                        
    $obEvent->listen(ImportBrandModelFromCSV::EVENT_AFTER_IMPORT, function ($obModel, $arImportData) {
        if (!$obModel instanceof Brand::class) {
            return;
        }

        //to do something 
    }, 900);
model.beforeImport

Событие позволяет изменить данные импорта перед сохранением объекта модели.

                            
                        
    $obEvent->listen(ImportBrandModelFromCSV::EVENT_BEFORE_IMPORT, function ($sModelClass, $arImportData) {
        if ($sModelClass != Brand::class) {
            return null;
        }

        $arImportData['my_field'] = array_get($arImportData, 'my_field') == 'yes' ? true : false;

        return $arImportData;
    }, 900);
shopaholic.brand.extend_xml_import_data

Событие позволяет расширить обработку узла XML и изменить данные импорта.

                            
                        
    Event::listen(ImportBrandModelFromXML::EXTEND_IMPORT_DATA, function($arImportData, $obParseNode) {
        //Get custom field from node
        $sValue = $obParseNode->...;

        //Process custom field value
        $arImportData['my_field'] = $sValue == 'yes' ? true : false;

        return $arImportData;
    });
shopaholic.brand.extend_xml_import_fields

Событие позволяет расширить список полей, доступных для настройки импорта из XML.

                            
                        
    Event::listen(ImportBrandModelFromXML::EXTEND_FIELD_LIST, function($arFieldList) {
        $arFieldList['my_field'] = 'My field label';

        return $arFieldList;
    });
shopaholic.brand.open

Событие срабатывает при открытии страницы бренда. Событие вызвано использованием компонента BrandPage.

                            
                        
    Event::listen(ImportBrandModelFromXML::EXTEND_IMPORT_DATA, function($arImportData, $obParseNode) {
        //Get custom field from node
        $sValue = $obParseNode->...;

        //Process custom field value
        $arImportData['my_field'] = $sValue == 'yes' ? true : false;

        return $arImportData;
    });