O Drupal 7 visualiza o filtro contextual (taxonomia: exibição de resumo), exibindo um nome de termo legível em vez de id de termo

9

Na minha opinião, estou usando um filtro contextual - com uma " saída resumida " padrão - para filtrar meus resultados por termo de taxonomia .

O problema é que o resultado do resumo é agrupado por uma lista de IDs de termos de taxonomia (incluindo uma contagem de nós) e não por nomes de IDs de termos legíveis por humanos.

  • 1 (21)
  • 2 (16)
  • etc.

É possível alterar (ou ligar) a saída da exibição do resumo, não listando seus IDs de termo, mas o nome do ID de termo?

  • Nome do termo A (21)
  • Nome do termo B (16)

(Não me incomoda se o URL de solicitação real permanecer o mesmo.)

Meu objetivo é criar um formato de saída mais legível do meu resumo de termos de taxonomia, que um usuário final possa entender.

Stefan Looij
fonte

Respostas:

7
  1. Defina sua visualização como campos e exponha o campo que contém o termo de taxonomia associado.

  2. Defina seu filtro contextual para filtrar um termo de taxonomia e selecione para incluir um validador.

  3. Defina o validador como termo de taxonomia e marque a caixa do seu vocabulário.

  4. Selecione a opção para o tipo de valor do filtro como 'Nome do termo convertido em ID do termo.

  5. Salve o filtro e vá para a caixa de visualização. Se você digitar o nome do texto do seu termo, deverá ver o conteúdo desejado.

Se você estiver passando as informações do URl, pode ser necessário marcar a caixa de seleção 'Transformar traços na URL em espaços nos valores dos filtros de nomes de termos', pois o nome da máquina usa traços

Ashlar
fonte
Algo que esqueci foi que, ao selecionar um filtro contextual, ele deve ser para o Termo de Taxonomia (nome) e usar um relacionamento com o campo nos nós que você está exibindo para o próprio termo, em vez de Conteúdo: my_term_field_name
CR47
Esta resposta informa como fazer o filtro contextual funcionar com o nome legível pelo homem do termo taxonomia, mas não responde à pergunta. A questão é como exibir o nome legível humano do termo de taxonomia nos resultados filtrados.
BrokenBinary
5

Copie o arquivo "views_view-summary.tpl.php" na sua pasta "modules / contrib / views / theme". (Você pode visualizá-lo ou bloqueá-lo especificando adicionando um sufixo de nome de arquivo.)

Nota: Se você usar isso como uma exibição de exibição de administrador, copie esse arquivo na pasta de temas de administração, não na pasta de temas padrão!

Você não precisa de alterações nas configurações de exibição. Basta ajustar sua substituição de tpl para as seguintes linhas, e seus IDs de termo são convertidos em nomes de termo legíveis:

<div class="item-list">
  <ul class="views-summary">
    <?php foreach ($rows as $id => $row): ?>
    <li>
      <a href="<?php print $row->url; ?>"<?php print !empty($row_classes[$id]) ? ' class="'. $row_classes[$id] .'"' : ''; ?>>
        <?php
        /* begin replacement */
        $term_object = taxonomy_term_load($row->link);
        print  $term_object->name; 
        /* end replacement*/
        ?>
      </a>
      <?php if (!empty($options['count'])): ?>
      &nbsp;(<?php print $row->count?>)
      <?php endif; ?>
    </li>
    <?php endforeach; ?>
  </ul>
</div>
Stefan Looij
fonte
1

Há um artigo no Drupal easy: Usando anexos de vídeo para fornecer um resumo consistente nas Visualizações 2 .

uwe
fonte
Com seu exemplo ou, por exemplo, com base em um título de nó como um filtro contextual, ele está funcionando corretamente. Mas, na minha pergunta, o filtro contextual é baseado no seu termo de taxonomia. Nesse caso, o resumo exibirá apenas os IDs dos termos e você não poderá mostrar os nomes dos termos mais legíveis.
Stefan Looij 4/11