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.