Drupal 7 - Créer un vocabulaire et des terms de taxonomy

Posté le Mardi 3 novembre 2015 - 09:28
Dernière mise à jour le Vendredi 26 janvier 2018 - 18:35

Le script suivant permet de créer un nouveau vocabulaire et de lui affecter des termes en concervant l'ordre défini dans le tableau.

Il est à utiliser dans un HOOK_install ou un HOOK_update_X par exemple.

  $voc_name = "Nom du vocabulaire";
  $voc_desc = "Description du vocabulaire";
  $voc_machine_name = "nom_machine"; //sans espace et caractères spéciaux 

  $vocabulary = new stdClass();
  $vocabulary->name = $voc_name;
  $vocabulary->description = $voc_desc;
  $vocabulary->machine_name = $voc_machine_name;
  taxonomy_vocabulary_save($vocabulary);

  //on charge maintenant le vocabulaire pour avoir son VID
  $vocabulary = taxonomy_vocabulary_machine_name_load($voc_machine_name);

  //les termes à créer
  $terms = array(
    'Term 1',
    'Term 2',
    'Term 3',
  );

  foreach($terms as $key => $term) {
    $new_term = new stdClass();
    $new_term->name = $term;
    $new_term->weight = $key; //permet de définir le poids (pour l'ordre)
    $new_term->description = '';
    $new_term->vid = $vocabulary->vid;
    taxonomy_term_save($new_term);
  }

 

Aller plus loin ?

Ajouter un commentaire

Ne sera pas publié

CAPTCHA Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...