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.


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'),
);

¿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

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.


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.


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


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.