/** * @return array */ public function allowedChildren() { $result = parent::allowedChildren(); // Replace 'UserSubmissionExtension' with all SiteTree classes that are using that // extension. foreach ($result as $i => $allowedClass) { if ($allowedClass === 'UserSubmissionExtension') { unset($result[$i]); foreach (ClassInfo::subclassesFor('SiteTree') as $class) { if ($class::has_extension('UserSubmissionExtension') && !in_array($class, $result)) { $result[] = $class; } } break; } } return $result; }