Vues et nombre de nœuds pour les termes de taxonomie

31

Comment puis-je afficher les valeurs du nombre de nœuds pour les termes de taxonomie dans les vues? avec le tri de la liste des résultats dans l’ordre décroissant du nombre de nœuds.

ya.teck
la source
2
Il y a une vidéo sur youtube très bien expliquée ici: //www.youtube.com/watch? V = w22Utjm-chs
wranvaud

Réponses:

41
  1. Créer une vue taxonomique
  2. Ajouter un groupe de nœuds dans la relation
  3. Ajouter les champs nom du terme et nid de noeud pour l'affichage
  4. Activer l'agrégation dans la section "Autre" (Utiliser l'agrégation: Oui)
  5. Cliquez sur l'icône des paramètres de champ nid, choisissez le type de groupe "nombre".

Trouvez l'exportation de vues qui a fonctionné pour moi.

$view = new view;
$view->name = 'term_node_count';
$view->description = 'Displays node count values for terms';
$view->tag = '';
$view->base_table = 'taxonomy_term_data';
$view->human_name = 'term_node_count';
$view->core = 7;
$view->api_version = '3.0-alpha1';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Defaults */
$handler = $view->new_display('default', 'Defaults', 'default');
$handler->display->display_options['use_ajax'] = TRUE;
$handler->display->display_options['group_by'] = TRUE;
$handler->display->display_options['access']['type'] = 'none';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = '100';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['pager']['options']['id'] = '0';
$handler->display->display_options['pager']['options']['expose']['items_per_page_options_all'] = 0;
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['columns'] = array(
  'name' => 'name',
  'nid' => 'nid',
);
$handler->display->display_options['style_options']['default'] = '-1';
$handler->display->display_options['style_options']['info'] = array(
  'name' => array(
    'sortable' => 0,
    'default_sort_order' => 'asc',
    'align' => '',
    'separator' => '',
  ),
  'nid' => array(
    'sortable' => 0,
    'default_sort_order' => 'asc',
    'align' => '',
    'separator' => '',
  ),
);
$handler->display->display_options['style_options']['override'] = 1;
$handler->display->display_options['style_options']['sticky'] = 0;
/* Relationship: Taxonomy: Node */
$handler->display->display_options['relationships']['nid']['id'] = 'nid';
$handler->display->display_options['relationships']['nid']['table'] = 'taxonomy_index';
$handler->display->display_options['relationships']['nid']['field'] = 'nid';
$handler->display->display_options['relationships']['nid']['required'] = 0;
/* Field: Taxonomy: Term */
$handler->display->display_options['fields']['name']['id'] = 'name';
$handler->display->display_options['fields']['name']['table'] = 'taxonomy_term_data';
$handler->display->display_options['fields']['name']['field'] = 'name';
$handler->display->display_options['fields']['name']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['name']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['name']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['name']['alter']['trim'] = 0;
$handler->display->display_options['fields']['name']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['name']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['name']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['name']['alter']['html'] = 0;
$handler->display->display_options['fields']['name']['element_label_colon'] = 1;
$handler->display->display_options['fields']['name']['element_default_classes'] = 1;
$handler->display->display_options['fields']['name']['hide_empty'] = 0;
$handler->display->display_options['fields']['name']['empty_zero'] = 0;
$handler->display->display_options['fields']['name']['link_to_taxonomy'] = 1;
/* Field: Node: Nid */
$handler->display->display_options['fields']['nid']['id'] = 'nid';
$handler->display->display_options['fields']['nid']['table'] = 'node';
$handler->display->display_options['fields']['nid']['field'] = 'nid';
$handler->display->display_options['fields']['nid']['relationship'] = 'nid';
$handler->display->display_options['fields']['nid']['group_type'] = 'count';
$handler->display->display_options['fields']['nid']['label'] = 'Count';
$handler->display->display_options['fields']['nid']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['nid']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['nid']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['nid']['alter']['trim'] = 0;
$handler->display->display_options['fields']['nid']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['nid']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['nid']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['nid']['alter']['html'] = 0;
$handler->display->display_options['fields']['nid']['element_label_colon'] = 1;
$handler->display->display_options['fields']['nid']['element_default_classes'] = 1;
$handler->display->display_options['fields']['nid']['hide_empty'] = 0;
$handler->display->display_options['fields']['nid']['empty_zero'] = 0;
$handler->display->display_options['fields']['nid']['link_to_node'] = 1;

/* Display: Block */
$handler = $view->new_display('block', 'Block', 'block_1');
$translatables['term_node_count'] = array(
  t('Defaults'),
  t('more'),
  t('Apply'),
  t('Reset'),
  t('Sort By'),
  t('Asc'),
  t('Desc'),
  t('Items per page'),
  t('- All -'),
  t('Offset'),
  t('node'),
  t('Term'),
  t('Count'),
  t('Block'),
);
Sivaji
la source
Que faire si vous souhaitez obtenir le nombre de nœuds des termes attachés au nœud réel?
Temaruk
23

Toutes les réponses précédentes ont été très utiles.

Je voulais obtenir une table afin de permettre à l'utilisateur de trier par terme ou par compte.

Pour ce faire je:

  1. Relation> Terme de taxonomie: Contenu avec terme
  2. Utiliser l'agrégation: oui
  3. Champ> Contenu: Nid
  4. Type d'agrégation pour Nid = Count DISTINCT
chrowe
la source
Ce qui manque, c'est comment faire en sorte que les deux champs apparaissent en ligne. Pour cela, vous devez aller à Format -> Show -> Settings et cocher les deux comme éléments en ligne.
colan
12

Pour obtenir un nombre de nœuds de taxonomie correctement pour les termes de taxonomie, vous devez procéder comme suit:

  1. Dans les champs: ajouter un terme de taxonomie: Nom
  2. Dans Relations, ajoutez un terme taxonomie: contenu avec terme
  3. Ajouter un filtre contextuel pour le terme de taxonomie: Nom

    3a. Choisissez "Afficher un résumé"

    3b. Choisissez "Afficher le nombre d'enregistrements avec le lien" . Définissez également le chemin de base si vous souhaitez que la page de taxonomie soit liée correctement.

Nevos
la source
5

La clé est de vous assurer que vous avez coché la case "agrégation" dans l'option avancée de la vue.

Chunty
la source
Cela fonctionnerait beaucoup mieux en tant que modification de la réponse de quelqu'un d'autre (ou vous pourriez écrire une réponse plus complète).
michaelmcandrew
4

Ajoutez un argument (renommé "filtre contextuel" dans les dernières vues) pour les termes de taxonomie, puis choisissez "Afficher un résumé". Ensuite, choisissez d'afficher «Nombre d'enregistrements».

tim.plunkett
la source
J'ai des vues 7.x-3.0-alpha1. Où est le "filtre contextuel".
ya.teck
Ensuite, il est étiqueté "Arguments". Cependant, vous devriez probablement simplement passer à la dernière version.
tim.plunkett
3.0-alpha1 est la dernière version vue pour drupal 7. Voulez-vous dire la mise à niveau vers la version dev?
ya.teck
2
L'alpha1 était obsolète le 6 janvier. Il devrait y avoir un alpha2 ce week-end, mais oui, utilisez le dev.
tim.plunkett
Vues 3.0-rc1. Essayé comme vous l'avez posté ci-dessus, mais je ne reçois que par exemple: Catégorie (1), Chats (1). Partout, il y a un terme de taxonomie proche, bien que j'aie beaucoup de nœuds à l'intérieur de termes. Qu'est-ce qui ne va pas?
Alexander Kim