diff --git a/src/bundle/Resources/config/services/ui_config/common.yml b/src/bundle/Resources/config/services/ui_config/common.yml index 382af9b7c9..4daaa901ba 100644 --- a/src/bundle/Resources/config/services/ui_config/common.yml +++ b/src/bundle/Resources/config/services/ui_config/common.yml @@ -38,6 +38,10 @@ services: tags: - { name: ezplatform.admin_ui.config_provider, key: 'contentTypes' } + EzSystems\EzPlatformAdminUi\UI\Config\Provider\ContentTypeNames: + tags: + - { name: ezplatform.admin_ui.config_provider, key: 'contentTypeNames' } + EzSystems\EzPlatformAdminUi\UI\Config\Provider\Module\UniversalDiscoveryWidget: tags: - { name: ezplatform.admin_ui.config_provider, key: 'universalDiscoveryWidget' } diff --git a/src/lib/UI/Config/Provider/ContentTypeNames.php b/src/lib/UI/Config/Provider/ContentTypeNames.php new file mode 100644 index 0000000000..2580cb518a --- /dev/null +++ b/src/lib/UI/Config/Provider/ContentTypeNames.php @@ -0,0 +1,40 @@ +contentTypeService = $contentTypeService; + } + + /** + * @return mixed Anything that is serializable via json_encode() + */ + public function getConfig() + { + $contentTypeNames = []; + + foreach ($this->contentTypeService->loadContentTypeGroups() as $contentTypeGroup) { + foreach ($this->contentTypeService->loadContentTypes($contentTypeGroup) as $contentType) { + $contentTypeNames[$contentType->identifier] = $contentType->getName(); + } + } + + return $contentTypeNames; + } +}