'Varchar(255)' ); public function getCMSFields() { $this->beforeUpdateCMSFields( function (FieldList $fields) { // Remove field from parent's beforeExtendingCMSFields $fields->removeByName('ChildFieldBeforeExtension', true); // Adds own pre-extension field $fields->addFieldToTab('Root.Test', new TextField('GrandchildFieldBeforeExtension')); } ); $fields = parent::getCMSFields(); $fields->addFieldToTab('Root.Test', new TextField('GrandchildField')); return $fields; } }