Eu tenho um vocabulário anexado a um tipo de conteúdo. Somente um termo pode ser selecionado para categorizar um nó criado com esse tipo de conteúdo. O vocabulário é chamado de Veículos e tem termos 'carros, caminhões, barcos'. O tipo de conteúdo também é chamado de Veículos.
Eu uso o path auto para que ele mostre [vocabulário: nome] / [termo: nome] para que, quando renderizado, mostre site.com/vehicles/trucks, por exemplo, que mostrará todos os caminhões ... coisas típicas do Drupal. Está bem...
Agora, eu tenho uma Visualização que é uma página com o caminho 'veículos'. Está configurado para exibir todos os itens do tipo de conteúdo 'veículos'. Essa visualização da página também é configurada para usar um argumento 'ID do termo de taxonomia'.
Observe que, quando o termo taxonomia está presente, o alias do URL gerado para o caminho da taxonomia é exatamente o mesmo que a página Views com um argumento fornecido:
Caminho da taxonomia com alias de URL = veículos / caminhões. Visualiza a página com argumento = veículos / caminhões.
Isso é de propósito. Meu objetivo era mostrar todos os resultados desse tipo de conteúdo quando um argumento não estivesse presente e, quando estivesse presente, o mais importante seria filtrar os resultados com base nesse termo de taxonomia E manter os mesmos campos e estrutura que sem o argumento (o mesmo que site.com/vehicles).
O problema é que isso não está funcionando conforme o esperado. site.com/vehicles mostra corretamente minha visualização e filtros relacionados. site.com/vehicles/trucks mostra apenas a lista de taxonomia regular e não formatada fornecida pela Drupal.
Isso ocorre porque o argumento de ID do termo de taxonomia não está configurado corretamente?
Esse é um problema de peso em que ganchos de taxonomia são disparados após o Views? Em caso afirmativo, como posso reorganizar os pesos aqui para que sejam acionados corretamente e me apresentem os resultados necessários?
Sei o que você sugere - que o Views vem com taxonomia / termo /% para substituir as exibições padrão de drupal.
No entanto, isso não vai funcionar no meu caso. Eu tenho vários tipos de conteúdo, cada um com seu próprio vocabulário e cada um com seu campo de visão e um conjunto distinto de campos (casas e carros, por exemplo, têm conjuntos de campos muito diferentes). A taxonomia / termo /% funcionaria se todos os tipos de conteúdo tivessem os mesmos campos, então eu poderia apenas imitar aqueles nessa substituição, mas como esse não é o caso, como posso obter corretamente meu caminho com argumentos para mostrar os resultados com base em esse termo de vocabulário e manter minha estrutura de campo?
Desculpe se isso foi confuso. Um link para o site para referência http://www.buyagainbaby.com . Atualmente, o site usa taxonomia / termo /% como substituição, mas, novamente, isso precisa mudar para que cada exibição seja responsável por como renderiza seu conjunto de resultados com base na taxonomia.
fonte
Acredito que há vários fatores a serem considerados na sua configuração:
Todo caminho deve ser exclusivo para acessar uma página, um termo, uma exibição ou um painel de página. Se você tem duas partes de conteúdo com o mesmo endereço, perde o controle da exibição. Drupal fornece precedência do termo de taxonomia sobre Views, para que não seja chamado. A definição Exibir usando taxonomia / termo / # interceptará o termo de taxonomia, mas, como você indicou, não exibe um URL significativo.
As visualizações não respondem a aliases. Isso ocorre porque a primeira coisa que o Drupal faz com qualquer solicitação é converter o alias em um padrão de formato de nó / nid para todo o conteúdo do Drupal. Portanto, no seu caso, veículos / caminhões são convertidos no nó / # atribuído à visualização. A exibição não pode ter contexto diretamente de um alias.
Para conseguir o que deseja, faça uma de várias coisas.
Crie um menu com os retornos de chamada definidos para o caminho da sua exibição. Isso gerará o URL correto e permitirá que a View responda.
Use painéis com o Page Manager (no Ctools Suite) ativado. Se você definir um Painel da página definido para o URL apropriado, poderá colocar sua Visualização no painel do painel ou passar o contexto da página do painel diretamente para um painel de conteúdo do Views. Um painel de conteúdo não possui um caminho. Em vez disso, utiliza os contextos como o caminho, definido diretamente pelo painel da página, para criar seu conteúdo. Esta série de vídeos em nodeone.se faz um excelente trabalho para demonstrar como usar painéis e gerenciador de páginas de maneira eficaz.
Outra maneira de obter o conteúdo das visualizações na tela é usar o módulo quicktabs . Eu não acho que se encaixa na sua situação específica, mas também pode acessar diretamente as visualizações, selecionando as guias que você define para uma página.
fonte
O Views tem uma visão interna que emula e substitui termos de taxonomia. Basta ativar a substituição de listagens de taxonomia por visualizações.
fonte
Na verdade, fiz uma coisa semelhante há alguns dias atrás. Minha solução não é elegante, mas funciona. O que fiz foi substituir a exibição do termo Taxonomia usando Painéis, não Exibições. Em seguida, adicionei todas as minhas visões diferentes para cada termo à área de conteúdo de painéis. Como no meu caso, cada visualização possui um filtro que a limita aos resultados de um vocabulário específico, quando você visita a página de termos de taxonomia, mostra apenas a visualização desse vocabulário específico.
Entre em contato se precisar de mais informações sobre como eu implementei isso.
fonte
Uma ótima solução foi proposta pelo WebbyKat , para definir o caminho da página em
/taxonomy/term/%
vez de/categories/%
Funciona, mas reescreve todos os seus termos em uma Visualização.
fonte