slides_presentation-8.x-1.x-dev/src/Entity/Form/PresentationForm.php
src/Entity/Form/PresentationForm.php
<?php namespace Drupal\slides_presentation\Entity\Form; use Drupal\Core\Entity\ContentEntityForm; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Language\Language; /** * Form controller for Presentation edit forms. * * @ingroup slides_presentation */ class PresentationForm extends ContentEntityForm { /** * {@inheritdoc} */ public function buildForm(array $form, FormStateInterface $form_state) { /* @var $entity \Drupal\slides_presentation\Entity\Presentation */ $form = parent::buildForm($form, $form_state); $entity = $this->entity; $form['body'] = [ '#type' => 'text_format', '#default_value' => $entity->body->value, '#title' => $this->t('Description'), '#required' => FALSE, ]; $form['langcode'] = [ '#title' => $this->t('Language'), '#type' => 'language_select', '#default_value' => $entity->langcode->value, '#languages' => Language::STATE_ALL, ]; return $form; } /** * {@inheritdoc} */ public function submit(array $form, FormStateInterface $form_state) { // Build the entity object from the submitted values. $entity = parent::submit($form, $form_state); return $entity; } /** * {@inheritdoc} */ public function save(array $form, FormStateInterface $form_state) { $entity = $this->entity; $status = $entity->save(); switch ($status) { case SAVED_NEW: drupal_set_message($this->t('Created the %label Presentation.', [ '%label' => $entity->label(), ])); break; default: drupal_set_message($this->t('Saved the %label Presentation.', [ '%label' => $entity->label(), ])); } $form_state->setRedirect('entity.slides_presentation.edit_form', ['slides_presentation' => $entity->id()]); } }