Drupal 8 - Créer un vocabulaire de taxonomy et des termes dans le code

Posté le Lundi 18 juillet 2016 - 08:20
Dernière mise à jour le Vendredi 26 janvier 2018 - 18:35

Création du vocabulaire

  $vocabulary = \Drupal\taxonomy\Entity\Vocabulary::create(array(
    'vid' => 'nom_machine_du_vocabulaire',
    'name' => t('Nom du vocabulaire'),
  ));
  $vocabulary->save();

Si vous souhaitez tester que le vocabulaire n'existe pas avant :

  $vocabularies = \Drupal\taxonomy\Entity\Vocabulary::loadMultiple();
  if (!isset($vocabularies['nom_machine_du_vocabulaire'])) {
    $vocabulary = \Drupal\taxonomy\Entity\Vocabulary::create(array(
      'vid' => 'nom_machine_du_vocabulaire',
      'name' => t('Nom du vocabulaire'),
    ));
    $vocabulary->save();
  }

Note : Le nom machine du vocabulaire (VID) ne doit pas contenir de caractères spéciaux et doit être plus petit que 32 caractères.

Création des termes

  $terms = ['Terme 1','Terme 2','Terme 3'];

  foreach ($terms as $term_name) {
    $term = \Drupal\taxonomy\Entity\Term::create([
      'vid' => 'nom_machine_du_vocabulaire',
      'name' => $term_name,
    ]);
    $term->save();
  }

 

 

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...