diff --git a/lib/Service/TemplateFieldService.php b/lib/Service/TemplateFieldService.php index 1b01281c36..5448326178 100644 --- a/lib/Service/TemplateFieldService.php +++ b/lib/Service/TemplateFieldService.php @@ -69,16 +69,23 @@ public function extractFields(Node|int $file) { continue; } - $fields[] = [ - new Field( - $index, - $attr["content"], - $fieldType, - $attr["alias"], - $attr["id"], - $attr["tag"] - ) - ]; + $field = new Field($index, $fieldType); + $field->id = $attr["id"]; + $field->tag = $attr["tag"]; + $field->alias = $attr["alias"]; + + switch ($fieldType) { + case FieldType::RichText: + $field->content = $attr["content"]; + break; + case FieldType::CheckBox: + $field->checked = ($attr["Checked"] === "true"); + break; + default: + break; + } + + $fields[] = [$field]; } return array_merge([], ...$fields);