Visualizações e contagem de nós para termos de taxonomia


31

Como posso exibir os valores de contagem de nós para termos de taxonomia no Views? com a classificação da lista de resultados em ordem decrescente da contagem de nós.


2
Há um vídeo no youtube muito bem explicado aquihttps: //www.youtube.com/watch? V = w22Utjm-chs
— wranvaud

Respostas:


41
  1. Criar uma visualização de taxonomia
  2. Adicionar grupo de nós no relacionamento
  3. Adicione os campos nome do termo e nid do nó para exibição
  4. Ativar agregação na seção "Outros" (usar agregação: Sim)
  5. Clique no ícone de configurações do campo nid, escolha o tipo de grupo "contagem".

Encontre a exportação de visualizações que funcionaram para mim.

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

O que fazer se você deseja obter a contagem de nós dos termos anexados ao nó real?
— Temaruk 8/09/11

23

Todas as respostas anteriores foram muito úteis.

Eu queria obter uma tabela para poder deixar o usuário classificar por termo ou por contagem.

Para fazer isso eu:

  1. Relacionamento> Termo de taxonomia: conteúdo com termo
  2. Usar agregação: Sim
  3. Campo> Conteúdo: Nid
  4. Tipo de agregação para Nid = Count DISTINCT

O que falta é como fazer com que os dois campos apareçam em linha. Para isso, você precisa ir para Formatar -> Mostrar -> Configurações e verificar tanto como itens em linha.
— Colan

12

Para obter uma contagem de nós de taxonomia corretamente para termos de taxonomia, faça o seguinte:

  1. Em arquivos: adicionar termo de taxonomia: Nome
  2. Em Relacionamentos, adicione um termo de taxonomia: conteúdo com termo
  3. Adicione um filtro contextual para o termo Taxonomia: Nome

    3a. Escolha 'Exibir um resumo'

    3b Escolha 'Exibir contagem de registros com link' . Defina também o caminho base se desejar que a página de taxonomia seja vinculada corretamente.


5

O segredo é que você marcou a caixa de seleção "agregação" na opção avançada da exibição.


Isso funcionaria muito melhor como uma edição da resposta de outra pessoa (ou você poderia escrever uma resposta mais completa).
— 22616 Michael

4

Adicione um argumento (renomeado 'filtro contextual' nas Visualizações mais recentes) para termos de taxonomia e escolha 'Exibir um resumo'. Em seguida, escolha exibir 'Número de registros'.


Eu tenho pontos de vista 7.x-3.0-alpha1. Onde está o 'filtro contextual'.
— ya.teck

Em seguida, é rotulado como "Argumentos". No entanto, você provavelmente deve apenas atualizar para a versão mais recente.
— tim.plunkett

3.0-alpha1 é a visualização da versão mais recente do drupal 7. Você quer dizer atualizar para a versão dev?
— ya.teck

2
O alpha1 ficou obsoleto em 6 de janeiro. Deve haver um alpha2 neste fim de semana, mas sim, use o desenvolvedor.
— tim.plunkett

Visualizações 3.0-rc1. Tentei como você postou acima, mas só consigo por exemplo: Categoria (1), Gatos (1). Em todos os lugares há 1 termos de taxonomia próximos, embora eu tenha muitos nós dentro dos termos. O que há de errado?
— Alexander Kim
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.