Drupal 8 - Surcharger la classe de formulaire d'un terme de taxonomie

Posté le Vendredi 5 juillet 2019 - 10:22

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é

  1. # mon_module.module
  2. function mon_module_entity_type_alter(array &$entity_types) {
  3. $entity_types['taxonomy_term']->setFormClass('default', Drupal\mon_module\Entity\Form\CustomTermForm::class);
  4. }

2 - Classe du formulaire

  1. # web/modules/mon_module/src/Entity/Form/CustomTermForm.php
  2. <?php
  3.  
  4. namespace Drupal\mon_module\Entity\Form;
  5.  
  6. use Drupal\Core\Form\FormStateInterface;
  7. use Drupal\taxonomy\TermForm;
  8.  
  9. class CustomTermForm extends TermForm {
  10. public function form(array $form, FormStateInterface $form_state) {
  11. $form = parent::form($form, $form_state);
  12. /** @var \Drupal\taxonomy\Entity\Term $term */
  13. $term = $this->entity;
  14. if($term->getVocabularyId() === 'mon_vocabulaire') {
  15. // À vous de jouer
  16. }
  17. return $form;
  18. }
  19.  
  20. }

 

 

Ajouter un commentaire

Ne sera pas publié

HTML restreint

  • Balises HTML autorisées : <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Les adresses de pages web et les adresses courriel se transforment en liens automatiquement.
CAPTCHA
Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...