public function ContentEntityDeleteForm::buildForm

public ContentEntityDeleteForm::buildForm(array $form, FormStateInterface $form_state)

Form constructor.

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Return value

array The form structure.

Overrides ContentEntityConfirmFormBase::buildForm

File

core/lib/Drupal/Core/Entity/ContentEntityDeleteForm.php, line 25

Class

ContentEntityDeleteForm
Provides a generic base class for a content entity deletion form.

Namespace

Drupal\Core\Entity

Code

public function buildForm(array $form, FormStateInterface $form_state) {
  $form = parent::buildForm($form, $form_state);

  /** @var \Drupal\Core\Entity\ContentEntityInterface $entity */
  $entity = $this->getEntity();
  if ($entity->isDefaultTranslation()) {
    if (count($entity->getTranslationLanguages()) > 1) {
      $languages = [];
      foreach ($entity->getTranslationLanguages() as $language) {
        $languages[] = $language->getName();
      }

      $form['deleted_translations'] = array(
        '#theme' => 'item_list',
        '#title' => $this->t('The following @entity-type translations will be deleted:', [
          '@entity-type' => $entity->getEntityType()->getLowercaseLabel()
        ]),
        '#items' => $languages,
      );

      $form['actions']['submit']['#value'] = $this->t('Delete all translations');
    }
  }
  else {
    $form['actions']['submit']['#value'] = $this->t('Delete @language translation', array('@language' => $entity->language()->getName()));
  }

  return $form;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Entity!ContentEntityDeleteForm.php/function/ContentEntityDeleteForm::buildForm/8.1.x