SynonymForm.php in Search API Synonym 8
File
src/Form/SynonymForm.php
View source
<?php
namespace Drupal\search_api_synonym\Form;
use Drupal\Core\Entity\ContentEntityForm;
use Drupal\Core\Form\FormStateInterface;
class SynonymForm extends ContentEntityForm {
public function buildForm(array $form, FormStateInterface $form_state) {
$entity = $this->entity;
$synonyms = $entity
->getSynonymsFormatted();
if (!empty($synonyms)) {
$entity
->setSynonyms($synonyms);
}
return parent::buildForm($form, $form_state);
}
public function save(array $form, FormStateInterface $form_state) {
$entity = $this->entity;
$trimmed = array_map('trim', explode(',', $entity
->getSynonyms()));
$entity
->setSynonyms(implode(',', $trimmed));
$status = parent::save($form, $form_state);
switch ($status) {
case SAVED_NEW:
$this
->messenger()
->addMessage($this
->t('Created the %label Synonym.', [
'%label' => $entity
->label(),
]));
break;
default:
$this
->messenger()
->addMessage($this
->t('Saved the %label Synonym.', [
'%label' => $entity
->label(),
]));
}
$form_state
->setRedirect($entity
->toUrl('collection')
->getRouteName());
}
}