static function getMap()
{
return array(
'ID' => array(
'data_type' => 'integer',
'primary' => true,
'autocomplete' => true,
'title' => Loc::getMessage('IBLOCK_ENTITY_ID_FIELD'),
),
'TIMESTAMP_X' => array(
'data_type' => 'datetime',
'title' => Loc::getMessage('IBLOCK_ENTITY_TIMESTAMP_X_FIELD'),
),
'IBLOCK_TYPE_ID' => array(
'data_type' => 'string',
'required' => true,
'title' => Loc::getMessage('IBLOCK_ENTITY_IBLOCK_TYPE_ID_FIELD'),
'validation' => array(__CLASS__, 'validateIblockTypeId'),
),
'LID' => array(
'data_type' => 'string',
'validation' => array(__CLASS__, 'validateLid'),
),
'CODE' => array(
'data_type' => 'string',
'title' => Loc::getMessage('IBLOCK_ENTITY_CODE_FIELD'),
'validation' => array(__CLASS__, 'validateCode'),
),
(new StringField('API_CODE'))
->configureSize(50),
(new BooleanField('REST_ON'))
->configureValues('N', 'Y')
->configureDefaultValue('N'),
'NAME' => array(
'data_type' => 'string',
'required' => true,
'title' => Loc::getMessage('IBLOCK_ENTITY_NAME_FIELD'),
'validation' => array(__CLASS__, 'validateName'),
),
'ACTIVE' => array(
'data_type' => 'boolean',
'values' => array('N','Y'),
'title' => Loc::getMessage('IBLOCK_ENTITY_ACTIVE_FIELD'),
),
'SORT' => array(
'data_type' => 'integer',
'title' => Loc::getMessage('IBLOCK_ENTITY_SORT_FIELD'),
),
'LIST_PAGE_URL' => array(
'data_type' => 'string',
'title' => Loc::getMessage('IBLOCK_ENTITY_LIST_PAGE_URL_FIELD'),
'validation' => array(__CLASS__, 'validateListPageUrl'),
),
'DETAIL_PAGE_URL' => array(
'data_type' => 'string',
'title' => Loc::getMessage('IBLOCK_ENTITY_DETAIL_PAGE_URL_FIELD'),
'validation' => array(__CLASS__, 'validateDetailPageUrl'),
),
'SECTION_PAGE_URL' => array(
'data_type' => 'string',
'title' => Loc::getMessage('IBLOCK_ENTITY_SECTION_PAGE_URL_FIELD'),
'validation' => array(__CLASS__, 'validateSectionPageUrl'),
),
'CANONICAL_PAGE_URL' => array(
'data_type' => 'string',
'title' => Loc::getMessage('IBLOCK_ENTITY_CANONICAL_PAGE_URL_FIELD'),
'validation' => array(__CLASS__, 'validateCanonicalPageUrl'),
),
'PICTURE' => array(
'data_type' => 'integer',
'title' => Loc::getMessage('IBLOCK_ENTITY_PICTURE_FIELD'),
),
'DESCRIPTION' => array(
'data_type' => 'string',
'title' => Loc::getMessage('IBLOCK_ENTITY_DESCRIPTION_FIELD'),
),
'DESCRIPTION_TYPE' => array(
'data_type' => 'enum',
'values' => array('text', 'html'),
'title' => Loc::getMessage('IBLOCK_ENTITY_DESCRIPTION_TYPE_FIELD'),
),
'XML_ID' => array(
'data_type' => 'string',
'title' => Loc::getMessage('IBLOCK_ENTITY_XML_ID_FIELD'),
'validation' => array(__CLASS__, 'validateXmlId'),
),
'TMP_ID' => array(
'data_type' => 'string',
'title' => Loc::getMessage('IBLOCK_ENTITY_TMP_ID_FIELD'),
'validation' => array(__CLASS__, 'validateTmpId'),
),
'INDEX_ELEMENT' => array(
'data_type' => 'boolean',
'values' => array('N','Y'),
'title' => Loc::getMessage('IBLOCK_ENTITY_INDEX_ELEMENT_FIELD'),
),
'INDEX_SECTION' => array(
'data_type' => 'boolean',
'values' => array('N','Y'),
'title' => Loc::getMessage('IBLOCK_ENTITY_INDEX_SECTION_FIELD'),
),
'WORKFLOW' => array(
'data_type' => 'boolean',
'values' => array('N','Y'),
'title' => Loc::getMessage('IBLOCK_ENTITY_WORKFLOW_FIELD'),
),
'BIZPROC' => array(
'data_type' => 'boolean',
'values' => array('N','Y'),
'title' => Loc::getMessage('IBLOCK_ENTITY_BIZPROC_FIELD'),
),
'SECTION_CHOOSER' => array(
'data_type' => 'enum',
'values' => array(
self::SECTION_CHOOSER_SELECT,
self::SECTION_CHOOSER_DROPDOWNS,
self::SECTION_CHOOSER_PATH
),
'default_value' => self::SECTION_CHOOSER_SELECT,
'title' => Loc::getMessage('IBLOCK_ENTITY_SECTION_CHOOSER_FIELD'),
),
'LIST_MODE' => array(
'data_type' => 'enum',
'values' => array(self::LIST_MODE_COMBINED, self::LIST_MODE_SEPARATE),
'default_value' => self::LIST_MODE_COMBINED,
'title' => Loc::getMessage('IBLOCK_ENTITY_LIST_MODE_FIELD'),
),
'RIGHTS_MODE' => array(
'data_type' => 'enum',
'values' => array(self::RIGHTS_SIMPLE, self::RIGHTS_EXTENDED),
'default_value' => self::RIGHTS_SIMPLE,
'title' => Loc::getMessage('IBLOCK_ENTITY_RIGHTS_MODE_FIELD'),
),
'SECTION_PROPERTY' => array(
'data_type' => 'boolean',
'values' => array('N','Y'),
'title' => Loc::getMessage('IBLOCK_ENTITY_SECTION_PROPERTY_FIELD'),
),
'PROPERTY_INDEX' => array(
'data_type' => 'enum',
'values' => array(self::PROPERTY_INDEX_DISABLE, self::PROPERTY_INDEX_ENABLE, self::PROPERTY_INDEX_INVALID),
'default' => self::PROPERTY_INDEX_DISABLE,
'title' => Loc::getMessage('IBLOCK_ENTITY_PROPERTY_INDEX_FIELD'),
),
'VERSION' => array(
'data_type' => 'enum',
'values' => array(self::PROPERTY_STORAGE_COMMON, self::PROPERTY_STORAGE_SEPARATE),
'default_value' => self::PROPERTY_STORAGE_COMMON,
'title' => Loc::getMessage('IBLOCK_ENTITY_VERSION_FIELD'),
),
'LAST_CONV_ELEMENT' => array(
'data_type' => 'integer',
'title' => Loc::getMessage('IBLOCK_ENTITY_LAST_CONV_ELEMENT_FIELD'),
),
'SOCNET_GROUP_ID' => array(
'data_type' => 'integer',
'title' => Loc::getMessage('IBLOCK_ENTITY_SOCNET_GROUP_ID_FIELD'),
),
'EDIT_FILE_BEFORE' => array(
'data_type' => 'string',
'title' => Loc::getMessage('IBLOCK_ENTITY_EDIT_FILE_BEFORE_FIELD'),
'validation' => array(__CLASS__, 'validateEditFileBefore'),
),
'EDIT_FILE_AFTER' => array(
'data_type' => 'string',
'title' => Loc::getMessage('IBLOCK_ENTITY_EDIT_FILE_AFTER_FIELD'),
'validation' => array(__CLASS__, 'validateEditFileAfter'),
),
'TYPE' => array(
'data_type' => 'BitrixIblockType',
'reference' => array('=this.IBLOCK_TYPE_ID' => 'ref.ID'),
),
new OneToMany('PROPERTIES', PropertyTable::class, 'IBLOCK')
);
}