2011-07-06 5 views
4

Est-il possible de créer une vue pour voir uniquement les termes de niveau supérieur dans un vocabulaire? Je n'arrive pas à l'empêcher d'énumérer tous les termes, en utilisant un argument d'ID de vocabulaire. Je veux juste voir les parents de haut niveau.Taxonomie: vue de haut niveau?

Répondre

0

Oui, c'est possible, mais je ne suis pas sûr avec des vues.Below est un moyen d'obtenir les meilleurs termes dans le vocabulaire.

$tree = taxonomy_get_tree($vocabulary_id, 0, -1, 1); 

taxonomy_get_tree renvoie un tableau de termes plat afin que vous puissiez l'utiliser lors de l'impression.

Cordialement, Chintan.

1

Vous pouvez ajouter un filtre de Taxonomy: Term ID et choisir manuellement les termes à afficher (peut être fastidieux si vous avez un grand vocabulaire).

OU

Vous pouvez ajouter un fichier de modèle pour un champ dans votre vue de décider quelles conditions à afficher. Par exemple, à votre avis, vous pouvez simplement ajouter un champ de Taxonomy: Term ID. Copiez views-view-field.tpl.php dans votre dossier de thème à partir du répertoire du module de vues (sous le thème). Aller à "Informations sur le thème" sous "Paramètres de base" et trouver un nom approprié pour le modèle et créer un nouveau fichier en utilisant ce nom. Par exemple, le mien était views-view-field--tax--tid.tpl.php.

Pour afficher uniquement les noms de terme des termes qui sont le niveau supérieur d'un vocabulaire, utilisez ce qui suit (ou similaire) dans votre nouveau fichier modèle:

<?php 
    if (count(taxonomy_get_parents($output, $key = 'tid')) == 0) { 
    $term = taxonomy_get_term($output, $reset = FALSE); 
    print $term->name; 
    } 
?> 
Questions connexes