'textfield', '#title' => $this->t('Label'), '#maxlength' => 255, '#default_value' => $this->entity->label(), '#description' => $this->t('Label for the {{ entity_type_label|lower }}.'), '#required' => TRUE, ]; $form['id'] = [ '#type' => 'machine_name', '#default_value' => $this->entity->id(), '#machine_name' => [ 'exists' => '\Drupal\{{ machine_name }}\Entity\{{ class_prefix }}::load', ], '#disabled' => !$this->entity->isNew(), ]; $form['status'] = [ '#type' => 'checkbox', '#title' => $this->t('Enabled'), '#default_value' => $this->entity->status(), ]; $form['description'] = [ '#type' => 'textarea', '#title' => $this->t('Description'), '#default_value' => $this->entity->get('description'), '#description' => $this->t('Description of the {{ entity_type_label|lower }}.'), ]; return $form; } /** * {@inheritdoc} */ public function save(array $form, FormStateInterface $form_state) { $result = parent::save($form, $form_state); $message_args = ['%label' => $this->entity->label()]; $message = $result == SAVED_NEW ? $this->t('Created new {{ entity_type_label|lower }} %label.', $message_args) : $this->t('Updated {{ entity_type_label|lower }} %label.', $message_args); $this->messenger()->addStatus($message); $form_state->setRedirectUrl($this->entity->toUrl('collection')); return $result; } }