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

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

 

Ajouter un commentaire

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