'textfield', '#title' => $this->t('Label'), '#maxlength' => 255, '#default_value' => $this->entity->label(), '#required' => TRUE, ]; $form['id'] = [ '#type' => 'machine_name', '#default_value' => $this->entity->id(), '#machine_name' => [ 'exists' => [{{ class_prefix }}::class, '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'), ]; return $form; } /** * {@inheritdoc} */ public function save(array $form, FormStateInterface $form_state): int { $result = parent::save($form, $form_state); $message_args = ['%label' => $this->entity->label()]; $this->messenger()->addStatus( match($result) { \SAVED_NEW => $this->t('Created new example %label.', $message_args), \SAVED_UPDATED => $this->t('Updated example %label.', $message_args), } ); $form_state->setRedirectUrl($this->entity->toUrl('collection')); return $result; } }