public function __construct($name, $record, FieldList $fields = null) { $this->name = $name; $this->record = $record; if (!$fields) { if ($this->record->hasMethod('getHasOneCMSFields')) { $fields = $this->record->getHasOneCMSFields($name); } else { $fields = $this->record->getCMSFields(); } if ($fields) { $fields = $fields->dataFields(); } } parent::__construct($fields); }