diff --git a/src/core/Resources/views/admin/crud/_show.html.twig b/src/core/Resources/views/admin/crud/_show.html.twig index 1c73877..e2a63ce 100644 --- a/src/core/Resources/views/admin/crud/_show.html.twig +++ b/src/core/Resources/views/admin/crud/_show.html.twig @@ -1,6 +1,6 @@
- {% for item in entity_to_array(entity) %} + {% for item in entity_to_array(entity, false, ['id']) %}
{{ item.name|trans }}
{{ item.value }}
{% endfor %} diff --git a/src/core/Twig/Extension/EntityExtension.php b/src/core/Twig/Extension/EntityExtension.php index 466cf79..92152f7 100644 --- a/src/core/Twig/Extension/EntityExtension.php +++ b/src/core/Twig/Extension/EntityExtension.php @@ -33,7 +33,7 @@ class EntityExtension extends AbstractExtension ]; } - public function toArray(EntityInterface $entity): array + public function toArray(EntityInterface $entity, bool $keepIterable = true, array $except = []): array { $metaData = $this->entityManager->getClassMetadata(get_class($entity)); $array = []; @@ -42,6 +42,14 @@ class EntityExtension extends AbstractExtension try { $value = $this->propertyAccessor->getValue($entity, $field); + if (in_array($field, $except)) { + continue; + } + + if (is_iterable($value) && !$keepIterable) { + continue; + } + if (is_object($value)) { $value = (string) $value; }