liventin / base.module.migration.userfields.provider.enumeration
Enumeration Provider for service migration bitrix userfield
Installs: 14
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:bitrix-d7-module
Requires
- php: >=8.1
- liventin/base.module: ^1.0.0
- liventin/base.module.migration.userfields: ^1.0.0
Requires (Dev)
- roave/security-advisories: dev-latest
README
Bitrix Base Module Service Migration User Fields |
install | update
"require": {
"liventin/base.module.migration.userfields.provider.enumeration": "^1.0.0"
}
redirect (optional)
"extra": {
"service-redirect": {
"liventin/base.module.migration.userfields.provider.enumeration": "module.name",
}
}
PhpStorm Live Template
<?php namespace ${MODULE_PROVIDER_CAMMAL_CASE}\\${MODULE_CODE_CAMMAL_CASE}\Migration\UserFields; use ${MODULE_PROVIDER_CAMMAL_CASE}\\${MODULE_CODE_CAMMAL_CASE}\Service\Container; use ${MODULE_PROVIDER_CAMMAL_CASE}\\${MODULE_CODE_CAMMAL_CASE}\Service\Migration\UserField\UserFieldEntity; use ${MODULE_PROVIDER_CAMMAL_CASE}\\${MODULE_CODE_CAMMAL_CASE}\Service\Migration\UserField\UserFieldService; use ${MODULE_PROVIDER_CAMMAL_CASE}\\${MODULE_CODE_CAMMAL_CASE}\Src\Migration\UserField\Providers\EnumerationProvider; use Bitrix\Main\ObjectNotFoundException; use Bitrix\Main\SystemException; use Psr\Container\NotFoundExceptionInterface; use ReflectionException; class ExampleEnumerationUserField implements UserFieldEntity { public static function getEntityId(): string { return 'USER'; } public static function getFieldName(): string { return 'UF_EXAMPLE_ENUMERATION_FIELD'; } public static function getUserTypeId(): string { return 'enumeration'; } /** * @throws NotFoundExceptionInterface * @throws ObjectNotFoundException * @throws ReflectionException * @throws SystemException */ public static function getParams(): array { /** @var EnumerationProvider ${DS}provider */ ${DS}provider = Container::get(UserFieldService::SERVICE_CODE)->getProvider(self::getUserTypeId()); ${DS}provider->createEnumValue() ->setValue('Значение 1') ->setXmlId('VALUE_1') ->setSort(321) ->setIsDefault(true); ${DS}provider->createEnumValue() ->setValue('Значение 2') ->setXmlId('VALUE_2') ->setSort(123); return ${DS}provider ->setSort(150) ->setMandatory(false) ->setShowFilter(true) ->setIsSearchable(true) ->setLabels('Дата и время пользователя') ->getParamsToArray(); } }