Версия: 6.x
burger close
Класс AbstractSchema
Граф наследования:AbstractSchema:
BaseModel Affiliate Article Banner Zone Brand Currency Dir DirProperty InventoryDocument Offer Product Property PropertyValue SimplePriceStockUpdate Typecost Unit Warehouse Comment CallHistory Deal Interaction Status Task Product Forms BlockedIp Lang Menu Pageseo Album Delivery Discount Order OrderItems Payment Region SubStatus Zone Users UsersGroup

Подробное описание

Абстрактный класс схемы экспорта/импорта в формате CSV. Схема описывает наборы колонок(preset), которые могут присутствовать в CSV файле. Схема обрабатывает операции мпорта и экспорта данных в формате CSV.

Открытые члены

 __construct ($base_preset, array $other_presets=[], $options=[])
 
 setParams (array $params)
 
 getParamByKey ($key)
 
 getParams ()
 
 getAction ()
 
 setAction ($action)
 
 setCharset ($charset)
 
 setFormat ($id)
 
 getFormat ()
 
 setFieldScope ($fields)
 
 getShortName ()
 
 addPreset (Preset\AbstractPreset $preset)
 
 setBaseIdField ($field)
 
 getPreset ($id)
 
 setPageSize ($limit)
 
 setBaseQuery (\RS\Orm\Request $q)
 
 getBaseQuery ()
 
 setWorkFields (array $fields)
 
 setImportSkipFirst ($bool)
 
 setBeforeLineImport ($callback)
 
 setAfterLineImport ($callback)
 
 setAfterImport ($callback)
 
 getWorkFields ()
 
 getFormatProcessor ()
 
 export ()
 
 getUploader ()
 
 convertRowCharset ($processor, $row)
 
 validateImportWorkField ($work_fields)
 
 setFormatByFileExtension ($filename)
 
 analizeColumns ($file)
 
 loadRows ($offset, $limit)
 
- Открытые члены унаследованные от BaseModel
 addError ($message, $fieldname=null, $form=null)
 
 hasError ()
 
 getErrors ()
 
 cleanErrors ()
 
 getDisplayErrors ()
 
 getErrorsStr ()
 
 getFormErrors ($form, $separator= ', ')
 
 getNonFormErrors ($separator= ', ')
 
 exportErrors ()
 
 importErrors ($data)
 

Открытые статические члены

static getByShortName ($short_name)
 

Поля данных

const FIELDSCOPE_IMPORT = 'import'
 
const FIELDSCOPE_EXPORT = 'export'
 
 $ids = []
 
 $rows = []
 
- Поля данных унаследованные от BaseModel
 $form_fieldname = []
 
 $errors_by_form = []
 
 $errors_non_form = []
 
 $errors = []
 

Защищенные данные

 $csv_import_skip_first = true
 
 $csv_delimiter = ';'
 
 $csv_enclosure = '"'
 
 $csv_charset = 'windows-1251'
 
 $fieldscope_fields = null
 
 $limit = 100
 
 $before_line_import
 
 $after_line_import
 
 $after_import
 
 $query
 
 $action
 
 $uploader
 
 $work_fields
 
 $base_id_field = 'id'
 
 $base_preset
 
 $params = []
 
 $presets
 
 $format = 'csv'
 
 $import_upload_right = DefaultModuleRights::RIGHT_CREATE
 
- Защищенные данные унаследованные от BaseModel
 $default_error_fieldname = 'Информация'
 

Конструктор(ы)

__construct (   $base_preset,
array  $other_presets = [],
  $options = [] 
)

Методы

addPreset ( Preset\AbstractPreset  $preset)

Добавляет набор колонок к экспортному файлу

Аргументы
Preset\AbstractPreset$preset
Возвращает
AbstractSchema
analizeColumns (   $file)

Анализирует CSV файл и возвращает имеющиеся колонки, а также возможное соответствие колонкам схемы

Аргументы
mixed$file
Возвращает
array
convertRowCharset (   $processor,
  $row 
)

Конвертирует строку с данными в требуемую кодировку

Аргументы
AbstractFormatType$processorпроцессор формата данных
array$row
Возвращает
array
export ( )

Отправляет в output сформированный файл CSV

return void

getAction ( )

Возвращает текущее действие (Импорт или Экспорт)

Возвращает
string
getBaseQuery ( )

Возвращает запрос для базовой выборки

Возвращает
static getByShortName (   $short_name)
static

Возвращает экземпляр класса схемы по короткому имени схемы

Аргументы
string$short_name
Возвращает
AbstractSchema|bool
getFormat ( )

Возвращает идентификатор формата импорта или экспорта данных

Возвращает
string
getFormatProcessor ( )

Возвращает объект процессора данных для установленного формата

Возвращает
Format
Исключения
\RS\Exception
getParamByKey (   $key)

Возвращает доп. параметры схемы по ключу

Аргументы
string$key- ключ в массиве параметров
Возвращает
array
getParams ( )

Возвращает все доп. параметры схемы

Возвращает
array
getPreset (   $id)

Возвращает объект пресета по id

Аргументы
mixed$id
Возвращает
Preset|bool
getShortName ( )

Возвращает сокращенное имя схемы

Возвращает
string
getUploader ( )

Возвращает объект загрузчика файла.

Возвращает
getWorkFields ( )

Возвращает поля, участвующие в выгрузке CSV

Возвращает
array
loadRows (   $offset,
  $limit 
)

Загружает и возвращает $limit строк с объектами выборки

Аргументы
integer$offsetСмещение, относительно начала
integer$limitКоличество элементов
Возвращает
array
setAction (   $action)

Устанавливает текущее действие

Аргументы
string$action
setAfterImport (   $callback)

Устанавливает произвольный обработчик, который выполняется после завершения шага импорта

Аргументы
mixed$callback
setAfterLineImport (   $callback)

Устанавливает произвольный обработчик, который выполняется после импорта строки данных

Аргументы
mixed$callback
setBaseIdField (   $field)

Устанавливает какое поле в первичной выборке является уникальным идентификатором

Аргументы
string$field
Возвращает
AbstractSchema
setBaseQuery ( \RS\Orm\Request  $q)

Устанавливает запрос для базовой выборки

Аргументы
\RS\Orm\Request$q
Возвращает
AbstractSchema
setBeforeLineImport (   $callback)

Устанавливает произвольный обработчик, который выполняется перед импортом строки данных

Аргументы
mixed$callback
setCharset (   $charset)

Устанавливает кодировку, в которой будет происходить импорт/экспорт

Аргументы
mixed$charset
Возвращает
AbstractSchema
setFieldScope (   $fields)

Устанавливает область видимости для указанных полей

Аргументы
array$fields- массив полей
setFormat (   $id)

Устанавливает формат импорта или экспорта данных

Аргументы
string$idИдентификатор класса формата данных (наследник AbstractFormatType)
setFormatByFileExtension (   $filename)

Устанавливает формат по расширению файла

Аргументы
$filename
setImportSkipFirst (   $bool)

Устанавливает импортировать ли первую строку

Аргументы
mixed$bool
setPageSize (   $limit)

Устанавливает количество элементов, которое должно быть загружено за один запрос

Аргументы
integer$limit
Возвращает
AbstractSchema
setParams ( array  $params)

Устанавливает доп. параметры схемы

Аргументы
array$params- параметры
setWorkFields ( array  $fields)

Устанавливает какие поля и в какой последовательности должны присутствовать в выгрузке, а также какие поля в какой последовательности присутствуют в загрузке

Аргументы
string[]$fields - список полей
Возвращает
void
validateImportWorkField (   $work_fields)

Возвращает true, если шаблон импорта корректен, иначе текст ошибки

Аргументы
string[]$work_fields - список полей
Возвращает
bool

Поля

$action
protected
$after_import
protected
$after_line_import
protected
$base_id_field = 'id'
protected
$base_preset
protected
$before_line_import
protected
$csv_charset = 'windows-1251'
protected
$csv_delimiter = ';'
protected
$csv_enclosure = '"'
protected
$csv_import_skip_first = true
protected
$fieldscope_fields = null
protected
$format = 'csv'
protected
$ids = []
$import_upload_right = DefaultModuleRights::RIGHT_CREATE
protected
$limit = 100
protected
$params = []
protected
$presets
protected
$query
protected
$rows = []
$uploader
protected
$work_fields
protected
const FIELDSCOPE_EXPORT = 'export'
const FIELDSCOPE_IMPORT = 'import'