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