widget_engine-8.x-1.2/src/Form/WidgetForm.php

src/Form/WidgetForm.php
<?php

namespace Drupal\widget_engine\Form;

use Drupal\Core\Entity\ContentEntityForm;
use Drupal\Core\Form\FormStateInterface;
use Drupal\widget_engine\Entity\WidgetType;

/**
 * Form controller for Widget edit forms.
 *
 * @ingroup widget_engine
 */
class WidgetForm extends ContentEntityForm {

  /**
   * {@inheritdoc}
   */
  public function buildForm(array $form, FormStateInterface $form_state) {
    /* @var $entity \Drupal\widget_engine\Entity\Widget */
    $form = parent::buildForm($form, $form_state);

    if ($this->operation == 'edit') {
      $form['#title'] = $this->t('<em>Edit @type</em> @title', [
        '@type' => WidgetType::load($this->entity->bundle())->label(),
        '@title' => $this->entity->label()
      ]);
    }

    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public function save(array $form, FormStateInterface $form_state) {
    $entity = &$this->entity;

    $status = parent::save($form, $form_state);

    switch ($status) {
      case SAVED_NEW:
        $this->messenger()->addStatus($this->t('Created the %label Widget.', [
          '%label' => $entity->label(),
        ]));
        break;

      default:
        $this->messenger()->addStatus($this->t('Saved the %label Widget.', [
          '%label' => $entity->label(),
        ]));
    }
    $form_state->setRedirect('widget_engine.widget_preview_generate', ['widget' => $entity->id()]);
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc