kgaut.net // Développeur web PHP / Drupal freelance
contactez-moi

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

Cet article a été écrit il y a plus de quatre ans, son contenu n'est peut-être plus d'actualité.

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);
  }

 

Commentaires (0)