Pergunta

Olá :) eu postei esta mesma pergunta em um drupal-orientada para o site, mas não recebi nenhuma resposta de todo.Eu reclamei para mim e desejou que o site era mais parecido com o StackOverflow, então eu pensei, por que não tentar perguntar-lo aqui :)

Eu estou a brincar com um modo de exibição que exibe os nós pertencentes a uma taxonomia prazo.O vocabulário também tem uma taxonomia nodequeue com as subfilas para todos os termos.

Até agora, o vista tem um argumento, taxonomia prazo de ID, e é classificado por data de publicação.Mas que se eu quisesse exibir todos os nós de um determinado prazo, com todos os nodequeue nós no topo, e todos os não-nodequeue nós (mas ainda sob este particular taxonomia prazo) abaixo, ordenadas por data?

Para esclarecer, dizer que este é o meu vocabulário, vamos chamá-lo de 'vida material'

Plant
--Fruit
--Vegetable
Animal
--Fish
--Dinosaurs

Os nós a seguir são encontradas em Dinossauros:

Tyrannosaurus Rex (added 2009-01-01)
Megalosaurus (added 2009-01-02)
Velociraptor (added 2009-01-03)
Brachiosaurus (added 2009-01-04)

Desde tyrannosauruses e velociraptors são extra incrível dinossauros, eles também são adicionados ao nodequeue vida material, subfila dinossauros:

O subfila:

  1. Velociraptor
  2. Tiranossauro rex

O final de vista deve apresentá-los nesta ordem:

Velociraptor (it's first in the NQ)
Tyrannosaurus Rex (2nd in NQ)
Brachiosaurus (of the remaining dinosaurs, this is the newest)
Megalosaurus (oldest non-queue dinosaur)

Eu criei uma relação com uma nodequeue, mas ele não iria deixar-me escolher uma subfila, eu só podia limite para a 'vida material' nodequeue.Meu primeiro argumento ver é termo IDENTIFICAÇÃO, então eu pensei que se eu adicionasse "Nodequeue:subfila de referência" como o segundo argumento, gostaria de obter o comportamento esperado, mas isso só mostra que os dinossauros listados na nodequeue.

Qualquer ajuda ou sugestões sobre este problema seria muito apreciada.Obrigado!

Foi útil?

Solução

Eu realmente não tentei muito com os subqueas dos Nodequeues, então não tenho certeza disso. Mas, pela minha experiência com os Nodequeues, parece que, ao usar as visualizações, você está limitado às coisas básicas que eles suportam e não podem realmente fazer o tipo de personalização que está procurando. Eu acho que sua melhor aposta seria criar seu próprio manipulador de classificação de visualizações, onde você pode classificá -la assim. Provavelmente será bastante complicado fazer um manipulador, já que você precisa descobrir as duas visualizações e os nodeques para fazê -lo funcionar. Você realmente deve pensar um pouco se valeria a pena antes de se aventurar no caminho, a menos que você tenha feito esse tipo de coisa com vistas antes.

Outras dicas

Mais hacks:
Um trabalho de trabalho para o comportamento que você está tentando realizar pode ser renunciar ao uso de nodeues. Não tenho certeza de todo o ímpeto para usar os nodeques nem a importância das datas, mas diante de problemas semelhantes antes, consegui resolvê -lo usando o seguinte:

  1. Pegajoso
  2. Datas modificadas

Se você pega seus dinossauros de superol e modificar as datas publicadas dos elementos para que eles correspondam ao seu pedido, você pode produzir o que está procurando em uma única visão. É meio que o Hokey e se baseia em não se importar com as datas de publicação (algo que sempre depende da situação) nem ter uma razão mais premente para usar um nodeue. Dito isto, se você não precisar do Nodequeue ou das datas, é uma solução viável.

A solução de 2 visualização de Jeremy também deve ser viável, e eu diria que essa é outra maneira comum de lidar com o cenário fornecido.

Hacky solução de aviso!

Tem o seu principal modo de exibição da sua página do nodequeue itens.

Criar uma outra visão do que é exposto como um bloco para o não nodequeue itens.Coloque este bloco de conteúdo principal região e limitar a apenas mostrar em URLs que são o mesmo que a primeira vista.

Você pode ter que fazer algumas mexer com as variáveis de url, mas eu acho que vai funcionar.

Por que você não concatena as visões por trás de cada nodequee? (Cada nodequee gera uma visualização) Você pode adicionar um cabeçalho (consulte 'Configurações básicas' na página de edição de exibição) ao segundo nodequeue que contém código PHP que invoca Views_Embed_View ('Primeiro Nodequeue') (você só precisa alterar o formato de entrada do cabeçalho para 'php'). Ou melhor, crie uma visualização personalizada que inclua cada nodeue, invocando Views_EMBED_VIEW (). Isso efetivamente colocaria um nodeue em cima de outro e, se eles são do mesmo formato/tipo de conteúdo, você nem precisa mexer com os campos: você pode usar o estilo de linha == nó. Quanto aos seus argumentos, eles podem ser transmitidos para o Views_EMBED_VIEW, como o terceiro parâmetro (os documentos não dizem isso, mas encontrei um post nos fóruns (http://drupal.org/node/99721) que os args indicados podem ser enviados como '$ current_view-> args' para a visualização que está sendo incorporada).

Hth

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top