Ejemplo n.º 1
0
 /**
  * @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);
 }
Ejemplo n.º 2
0
 /**
  * @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);
 }