You are here

public function ContentEntityDeleteForm::buildForm in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Entity/ContentEntityDeleteForm.php \Drupal\Core\Entity\ContentEntityDeleteForm::buildForm()

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

2 calls to ContentEntityDeleteForm::buildForm()
ContentTranslationDeleteForm::buildForm in core/modules/content_translation/src/Form/ContentTranslationDeleteForm.php
Form constructor.
WorkspaceDeleteForm::buildForm in core/modules/workspaces/src/Form/WorkspaceDeleteForm.php
Form constructor.
2 methods override ContentEntityDeleteForm::buildForm()
ContentTranslationDeleteForm::buildForm in core/modules/content_translation/src/Form/ContentTranslationDeleteForm.php
Form constructor.
WorkspaceDeleteForm::buildForm in core/modules/workspaces/src/Form/WorkspaceDeleteForm.php
Form constructor.

File

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

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'] = [
        '#theme' => 'item_list',
        '#title' => $this
          ->t('The following @entity-type translations will be deleted:', [
          '@entity-type' => $entity
            ->getEntityType()
            ->getSingularLabel(),
        ]),
        '#items' => $languages,
      ];
      $form['actions']['submit']['#value'] = $this
        ->t('Delete all translations');
    }
  }
  else {
    $form['actions']['submit']['#value'] = $this
      ->t('Delete @language translation', [
      '@language' => $entity
        ->language()
        ->getName(),
    ]);
  }
  return $form;
}