Skip to content

Commit 926669c

Browse files
authored
Improve fetching data of repeatable components (#10)
1 parent 6d3cea9 commit 926669c

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/DataTypes/Item.php

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -162,22 +162,24 @@ protected function getSubElements(array $elementData)
162162
if (empty($element)) {
163163
continue;
164164
}
165-
$class = ElementSimpleChoice::class;
166-
if (isset($element['file_id'])) {
165+
$class = null;
166+
if (isset($element['id']) && isset($element['label'])) {
167+
$class = ElementSimpleChoice::class;
168+
} elseif (isset($element['file_id'])) {
167169
$class = ElementSimpleFile::class;
168-
}
169-
if (!is_array($element)) {
170+
} elseif (!is_array($element)) {
170171
$class = ElementSimpleText::class;
171172
$element = ['value' => $element];
172-
}
173-
if (is_array($element) && (isset($element[0]))) {
173+
} elseif (is_array($element)) {
174174
// This is an asset element that allows several files,
175175
// or a mutlichoice element.
176176
$elements[$key] = $this->getSubElements($element);
177177
continue;
178178
}
179179
/** @var \GatherContent\DataTypes\ElementBase[] $elements */
180-
$elements[$key] = new $class($element);
180+
if ($class) {
181+
$elements[$key] = new $class($element);
182+
}
181183
}
182184

183185
return $elements;

0 commit comments

Comments
 (0)