Vistas y recuento de nodos para términos de taxonomía

31

¿Cómo puedo mostrar los valores de recuento de nodos para términos de taxonomía en Vistas? ordenando la lista de resultados en orden descendente de recuento de nodos.

ya.teck
fuente
2
Hay un video en youtube muy bien explicado aquíhttps: //www.youtube.com/watch? V = w22Utjm-chs
wranvaud

Respuestas:

41
  1. Crear una vista de taxonomía
  2. Agregar grupo de nodos en relación
  3. Agregar nombre de término y campos de nid de nodo para mostrar
  4. Habilitar agregación en la sección "Otro" (Usar agregación: Sí)
  5. Haga clic en el icono de configuración del campo nid, elija el tipo de grupo "recuento".

Encuentre la exportación de vistas que funcionó para mí.

$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
fuente
¿Qué hacer si desea obtener el recuento de nodos de los términos asociados al nodo real?
Temaruk
23

Todas las respuestas anteriores fueron muy útiles.

Quería obtener una tabla para que el usuario pudiera ordenar por Término o por conteo.

Para hacer esto yo:

  1. Relación> Término de taxonomía: contenido con término
  2. Usar agregación: sí
  3. Campo> Contenido: Nid
  4. Tipo de agregación para Nid = Count DISTINCT
chrowe
fuente
Lo que falta es cómo hacer que los dos campos se muestren en línea. Para eso, debe ir a Formato -> Mostrar -> Configuración, y marcar ambos como elementos en línea.
colan
12

Para que un nodo de taxonomía cuente correctamente para los términos de taxonomía, debe hacer lo siguiente:

  1. En Fileds: agregue el término Taxonomía: Nombre
  2. En Relaciones, agregue un término de Taxonomía: Contenido con término
  3. Agregue un filtro contextual para el término Taxonomía: Nombre

    3a. Elija 'Mostrar un resumen'

    3b. Elija 'Mostrar recuento de registros con enlace' . Establezca también la ruta base si desea que la página de taxonomía se vincule correctamente.

Nevos
fuente
5

La clave es que debe asegurarse de haber marcado la casilla de verificación "agregación" en la opción avanzada de la vista.

Chunty
fuente
Esto funcionaría mucho mejor como una edición de la respuesta de otra persona (o podría escribir una respuesta más completa).
michaelmcandrew
4

Agregue un argumento (renombrado 'filtro contextual' en las últimas Vistas) para los términos de taxonomía y elija 'Mostrar un resumen'. Luego, elija mostrar 'Número de registros'.

tim.plunkett
fuente
Tengo vistas 7.x-3.0-alpha1. ¿Dónde está el 'filtro contextual'?
ya.teck
Luego se etiqueta "Argumentos". Sin embargo, probablemente debería actualizar a la última versión.
tim.plunkett
3.0-alpha1 es la última versión vista para drupal 7. ¿Quiere decir actualizar a la versión de desarrollo?
ya.teck
2
El alpha1 quedó obsoleto el 6 de enero. Debería haber un alpha2 este fin de semana, pero sí, use el desarrollador.
tim.plunkett
Vistas 3.0-rc1. Intenté como publicaste anteriormente, pero solo obtengo, por ejemplo: Categoría (1), Gatos (1). En todas partes hay 1 términos de taxonomía cercana, aunque tengo muchos nodos dentro de los términos. Que pasa
Alexander Kim