public function getFieldConfiguration() { $pageType = $this->getSetting('PageTypeName') ? $this->getSetting('PageTypeName') : 0; // Get all subclasses of Page class $allTypes = ClassInfo::subclassesFor('Page'); // Create sorted array with keys and values are class names $types = []; foreach ($allTypes as $type) { $types[(string) $type] = Page::create_from_string($type)->singular_name(); } asort($types); $fields = new FieldList(new DropdownField("Fields[{$this->ID}][CustomSettings][PageTypeName]", _t('EditableFieldPageTypeList.PAGETYPENAME', 'Page Type Name'), $types, $pageType)); return $fields; }