Hier, nous avons vu comment surcharger le formulaire de création / modification d'un nœud, voici aujourd'hui comment faire la même chose mais pour un terme de taxonomie.
Cela se passe encore en deux étapes.
1 - Altération du type d'entité
# mon_module.module
function mon_module_entity_type_alter(array &$entity_types) {
$entity_types['taxonomy_term']->setFormClass('default', Drupal\mon_module\Entity\Form\CustomTermForm::class);
}
2 - Classe du formulaire
# web/modules/mon_module/src/Entity/Form/CustomTermForm.php
<?php
namespace Drupal\mon_module\Entity\Form;
use Drupal\Core\Form\FormStateInterface;
use Drupal\taxonomy\TermForm;
class CustomTermForm extends TermForm {
public function form(array $form, FormStateInterface $form_state) {
$form = parent::form($form, $form_state);
/** @var \Drupal\taxonomy\Entity\Term $term */
$term = $this->entity;
if($term->getVocabularyId() === 'mon_vocabulaire') {
// À vous de jouer
}
return $form;
}
}
Ajouter un commentaire