diff --git a/src/Controller/Component/PropertiesComponent.php b/src/Controller/Component/PropertiesComponent.php index f9697da2e..67d9a7644 100644 --- a/src/Controller/Component/PropertiesComponent.php +++ b/src/Controller/Component/PropertiesComponent.php @@ -165,6 +165,7 @@ public function viewGroups(array $object, string $type): array $keep = (array)$this->getConfig(sprintf('Properties.%s.view._keep', $type), []); $hide = (array)$this->getConfig(sprintf('Properties.%s.view._hide', $type), []); $attributes = array_merge(array_fill_keys($keep, ''), (array)Hash::get($object, 'attributes')); + $attributes = array_merge($attributes, (array)Hash::get($object, 'meta', [])); $attributes = array_diff_key($attributes, array_flip($this->excluded)); $attributes = array_diff_key($attributes, array_flip($hide)); $defaults = array_merge($this->getConfig(sprintf('Properties.%s.view', $type), []), $this->defaultGroups['view']); diff --git a/templates/Element/Form/group_properties.twig b/templates/Element/Form/group_properties.twig index 6b66484ae..215901964 100644 --- a/templates/Element/Form/group_properties.twig +++ b/templates/Element/Form/group_properties.twig @@ -9,6 +9,8 @@ {% elseif locked and key == 'status' %} {{ Property.control(key, value, {'disabled': 'disabled'})|raw }} + {% elseif key in object.meta|keys %} + {{ Property.control(key, value, {'disabled': true, 'readonly': true})|raw }} {% else %} {{ Property.control(key, value)|raw }} {% if schema.properties[key].placeholders %}