/** * @inheritdoc * * @throws PropertyAlreadyExistException */ public function internationalize($propCodePublicId, $propCodeLang, $defaultLang) { $isExistPropPublicId = $this->checkExistProperty($propCodePublicId, PublicIdProperty::USER_TYPE); $isExistPropLang = $this->checkExistProperty($propCodeLang, LangProperty::USER_TYPE); $propertyModel = new \CIBlockProperty(); if (!$isExistPropPublicId) { $addResult = $propertyModel->Add(['NAME' => Loc::getMessage('NOTAMEDIA_I18N_ELEMENT_CONVERTER_PROP_PUBLIC_ID'), 'ACTIVE' => 'Y', 'CODE' => $propCodePublicId, 'PROPERTY_TYPE' => 'S', 'USER_TYPE' => PublicIdProperty::USER_TYPE, 'FILTRABLE' => 'Y', 'IBLOCK_ID' => $this->getIblockId()]); if (!$addResult) { throw new InternationalizeException([$propertyModel->LAST_ERROR]); } } if (!$isExistPropLang) { $addResult = $propertyModel->Add(['NAME' => Loc::getMessage('NOTAMEDIA_I18N_ELEMENT_CONVERTER_PROP_LANG'), 'ACTIVE' => 'Y', 'CODE' => $propCodeLang, 'PROPERTY_TYPE' => 'S', 'USER_TYPE' => LangProperty::USER_TYPE, 'FILTRABLE' => 'Y', 'IS_REQUIRED' => 'Y', 'IBLOCK_ID' => $this->getIblockId()]); if (!$addResult) { throw new InternationalizeException([$propertyModel->LAST_ERROR]); } } parent::internationalize($propCodePublicId, $propCodeLang, $defaultLang); }
/** * @inheritdoc * * @throws PropertyAlreadyExistException */ public function internationalize($propCodePublicId, $propCodeLang, $defaultLang) { global $APPLICATION; $isExistPropPublicId = $this->checkExistProperty($propCodePublicId, PublicIdField::USER_TYPE); $isExistPropLang = $this->checkExistProperty($propCodeLang, LangField::USER_TYPE); $userTypeModel = new \CUserTypeEntity(); if (!$isExistPropPublicId) { $addResult = $userTypeModel->Add(['ENTITY_ID' => 'IBLOCK_' . $this->getIblockId() . '_SECTION', 'FIELD_NAME' => 'UF_' . $propCodePublicId, 'USER_TYPE_ID' => PublicIdField::USER_TYPE, 'XML_ID' => 'UF_' . $propCodePublicId, 'MANDATORY' => 'N', 'SHOW_FILTER' => 'Y', 'SHOW_IN_LIST' => 'Y', 'EDIT_IN_LIST' => 'Y', 'EDIT_FORM_LABEL' => ['ru' => 'Публичный ID', 'en' => 'Public ID'], 'LIST_COLUMN_LABEL' => ['ru' => 'Публичный ID', 'en' => 'Public ID'], 'LIST_FILTER_LABEL' => ['ru' => 'Публичный ID', 'en' => 'Public ID']]); if ($addResult === false) { throw new InternationalizeException([$APPLICATION->GetException()->GetString()]); } } if (!$isExistPropLang) { $addResult = $userTypeModel->Add(['ENTITY_ID' => 'IBLOCK_' . $this->getIblockId() . '_SECTION', 'FIELD_NAME' => 'UF_' . $propCodeLang, 'USER_TYPE_ID' => LangField::USER_TYPE, 'XML_ID' => 'UF_' . $propCodeLang, 'MANDATORY' => 'N', 'SHOW_FILTER' => 'Y', 'SHOW_IN_LIST' => 'Y', 'EDIT_IN_LIST' => 'Y', 'EDIT_FORM_LABEL' => ['ru' => 'Язык', 'en' => 'Language'], 'LIST_COLUMN_LABEL' => ['ru' => 'Язык', 'en' => 'Language'], 'LIST_FILTER_LABEL' => ['ru' => 'Язык', 'en' => 'Language']]); if ($addResult === false) { throw new InternationalizeException(); } } parent::internationalize($propCodePublicId, $propCodeLang, $defaultLang); }