Com a ajuda de outra pergunta: Mostrar os nós mais recentes para cada termo de taxonomia no Views Pude criar a visualização necessária, exceto pelo fato de exibir todas as postagens para cada termo (agrupadas por termo)? Como limite cada termo para exibir apenas três das postagens mais recentes.
por exemplo
Termo 1
- Post 1
- Post 2
- Post 3
Termo 2
- Post 1
- Post 2
- Post 3
Termo 3
- Post 1
- Post 2
- Post 3
fonte
Após uma investigação mais aprofundada, parece que o Resumo da Espiada pode ser exatamente o que você deseja. As capturas de tela na documentação são para o Drupal 6 e são ligeiramente diferentes no Drupal 7, então anexei algumas capturas de tela atualizadas.
Você terá que editar o pager para cada grupo que você deseja limitar, o que é lamentável.Quando você edita o pager para um grupo, ele altera as configurações de todos os grupos. Se você deseja exibir um número de nós por grupo diferente do número total de grupos, substitua-o nas configurações de 'Formato' em 'Filtros contextuais' (na primeira captura de tela em roxo).Ele tem a desvantagem de criar essencialmente [n] visualizações para [n] agrupamentos, o que pode ser um problema de desempenho dependendo de quantos agrupamentos você possui, mas limita a consulta apenas ao número definido para exibição. Isso pode melhorar seu desempenho, dependendo do seu caso de uso. Como sempre, armazene em cache de forma responsável.
fonte
Uma maneira de limitar isso no código seria adicionar algo como o seguinte a um módulo personalizado:
Isto é para uma visão dos termos de taxonomia conectados aos nós por meio de um relacionamento. Se você tiver apenas uma visão dos nós, sua milhagem poderá variar.
Embora impeça a exibição de mais de 3 por termo, isso não impedirá que a consulta retorne todos os resultados para cada termo, portanto, não melhora o desempenho do SQL. Se você tiver um número muito grande de resultados para cada termo, faça exibições de painéis de exibição separadas e coloque-as em uma região usando algo como o CTools Page Manager, para que você não esteja executando grandes consultas.
Como sempre, você vai querer armazenar essas coisas em cache na produção.
fonte
Hook_views_pre_build()
ouhook_build_pre_execute()
pode ser usado para algo assim que reduz o impacto no desempenho, mas não estou tão familiarizado com isso. Ou você pode gostar da minha resposta a esta pergunta anteriormente .