diff --git a/src/Entity/Field.php b/src/Entity/Field.php index 92701fcda..97e7fdcc9 100644 --- a/src/Entity/Field.php +++ b/src/Entity/Field.php @@ -221,7 +221,7 @@ public function getParsedValue() $count = count($value); if ($count === 0) { return null; - } elseif ($count === 1 && array_keys($value)[0] === 0) { + } elseif ($count === 1 && array_keys($value)[0] === 0 && ! $this instanceof ListFieldInterface) { return reset($value); } } diff --git a/src/Entity/Field/FilelistField.php b/src/Entity/Field/FilelistField.php index e8669d1af..502602655 100644 --- a/src/Entity/Field/FilelistField.php +++ b/src/Entity/Field/FilelistField.php @@ -7,12 +7,13 @@ use Bolt\Configuration\Content\ContentType; use Bolt\Entity\Field; use Bolt\Entity\FieldInterface; +use Bolt\Entity\ListFieldInterface; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity */ -class FilelistField extends Field implements FieldInterface +class FilelistField extends Field implements FieldInterface, ListFieldInterface { public const TYPE = 'filelist'; diff --git a/src/Entity/Field/ImagelistField.php b/src/Entity/Field/ImagelistField.php index 4b3975485..b1cd65f35 100644 --- a/src/Entity/Field/ImagelistField.php +++ b/src/Entity/Field/ImagelistField.php @@ -7,12 +7,13 @@ use Bolt\Configuration\Content\ContentType; use Bolt\Entity\Field; use Bolt\Entity\FieldInterface; +use Bolt\Entity\ListFieldInterface; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity */ -class ImagelistField extends Field implements FieldInterface +class ImagelistField extends Field implements FieldInterface, ListFieldInterface { public const TYPE = 'imagelist'; @@ -37,7 +38,7 @@ public function getValue(): array $imageField = new ImageField(); $imageField->setName((string) $key); $imageField->setValue($image); - array_push($result, $imageField); + $result[] = $imageField; } return $result; diff --git a/src/Entity/ListFieldInterface.php b/src/Entity/ListFieldInterface.php new file mode 100644 index 000000000..746d3be9a --- /dev/null +++ b/src/Entity/ListFieldInterface.php @@ -0,0 +1,12 @@ +