BundleEntityFormBase.php

Same filename in other branches
  1. 8.9.x core/lib/Drupal/Core/Entity/BundleEntityFormBase.php
  2. 10 core/lib/Drupal/Core/Entity/BundleEntityFormBase.php
  3. 11.x core/lib/Drupal/Core/Entity/BundleEntityFormBase.php

Namespace

Drupal\Core\Entity

File

core/lib/Drupal/Core/Entity/BundleEntityFormBase.php

View source
<?php

namespace Drupal\Core\Entity;


/**
 * Class BundleEntityFormBase is a base form for bundle config entities.
 */
class BundleEntityFormBase extends EntityForm {
    
    /**
     * Protects the bundle entity's ID property's form element against changes.
     *
     * This method is assumed to be called on a completely built entity form,
     * including a form element for the bundle config entity's ID property.
     *
     * @param array $form
     *   The completely built entity bundle form array.
     *
     * @return array
     *   The updated entity bundle form array.
     */
    protected function protectBundleIdElement(array $form) {
        $entity = $this->getEntity();
        $id_key = $entity->getEntityType()
            ->getKey('id');
        assert(isset($form[$id_key]));
        $element =& $form[$id_key];
        // Make sure the element is not accidentally re-enabled if it has already
        // been disabled.
        if (empty($element['#disabled'])) {
            $element['#disabled'] = !$entity->isNew();
        }
        return $form;
    }

}

Classes

Title Deprecated Summary
BundleEntityFormBase Class BundleEntityFormBase is a base form for bundle config entities.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.