/**
* Base for handler for taxonomy term edit forms.
+ *
+ * @internal
*/
class TermForm extends ContentEntityForm {
// before loading the full vocabulary. Contrib modules can then intercept
// before hook_form_alter to provide scalable alternatives.
if (!$this->config('taxonomy.settings')->get('override_selector')) {
- $parent = array_keys($taxonomy_storage->loadParents($term->id()));
- $children = $taxonomy_storage->loadTree($vocabulary->id(), $term->id());
-
- // A term can't be the child of itself, nor of its children.
- foreach ($children as $child) {
- $exclude[] = $child->tid;
+ $exclude = [];
+ if (!$term->isNew()) {
+ $parent = array_keys($taxonomy_storage->loadParents($term->id()));
+ $children = $taxonomy_storage->loadTree($vocabulary->id(), $term->id());
+
+ // A term can't be the child of itself, nor of its children.
+ foreach ($children as $child) {
+ $exclude[] = $child->tid;
+ }
+ $exclude[] = $term->id();
}
- $exclude[] = $term->id();
$tree = $taxonomy_storage->loadTree($vocabulary->id());
$options = ['<' . $this->t('root') . '>'];