Pregunta

Hola :) He publicado esta misma pregunta en un sitio orientado a Drupal, pero no consiguió ninguna respuesta en absoluto. Me quejé a mí mismo y deseaba que el sitio era más como StackOverflow, así que pensé, ¿por qué no intentar pedir aquí:)

Me estoy jugando con una vista que muestra los nodos que pertenecen a un término de taxonomía. El vocabulario también tiene un nodequeue taxonomía con subcolas para todos los términos.

Hasta ahora la vista tiene un argumento, ID término de taxonomía, y se ordena por fecha. Pero lo que si quería mostrar todos los nodos de un término en particular, con todos los nodos nodequeue en la parte superior, y todos los nodos no nodequeue (pero aún bajo este término taxonomía particular) a continuación, ordenados por fecha?

Para aclarar, decir que este es mi vocabulario, lo llamaremos 'materia viva'

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

Los siguientes nodos se encuentran bajo los dinosaurios:

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

Desde tiranosaurios y velocirraptores dinosaurios son impresionantes adicionales, que están también añaden a la materia viva nodequeue, dinosaurios subcola:

El subcola:

  1. Velociraptor
  2. Tyrannosaurus rex

La vista final debe mostrar en este orden:

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)

He creado una relación con un nodequeue, pero no me dejaron escoger un subcola, sólo podía limitar a la nodequeue 'materia viva'. Mi primer argumento es vista Identificación plazo, así que pensé que si he añadido "nodequeue: subcola referencia". Como el segundo argumento, me gustaría conseguir el comportamiento esperado, pero esto sólo muestra los dinosaurios que figuran en el nodequeue

Cualquier ayuda o sugerencias sobre este problema sería muy apreciada. Gracias!

¿Fue útil?

Solución

En realidad no he tratado mucho con subcolas nodequeues', así que no estoy completamente seguro de ello. Pero desde mi experiencia con nodequeues, parece que cuando se utilizan puntos de vista, que se limitan a las cosas básicas que apoyan y no pueden realmente hacer el tipo de personalización que busca. Creo que la mejor opción, sería la creación de sus propios puntos de vista tipo manipulador, donde se puede solucionar el problema como este. Probablemente será bastante complicado de hacer un controlador de este tipo, ya que tienes que averiguar ambos puntos de vista y nodequeues con el fin de hacer que funcione. Que realmente debería pensar un poco si valdría la pena antes de aventurarse por ese camino, a menos que haya hecho este tipo de cosas con vistas antes.

Otros consejos

Más hacks: Read Una solución alternativa para el comportamiento de su tratando de lograr podía renunciar a utilizar nodequeues en absoluto. No estoy seguro de todo el impulso para el uso de los nodequeues ni la importancia de las fechas, pero, frente a problemas similares antes, he sido capaz de hacer frente utilizando el siguiente:

  1. pegajoso
  2. fechas de modificación

Si pegajosa sus dinosaurios super-cool, y modificar las fechas publicadas de los elementos para que coincidan con su pedido, podría producir lo que usted está buscando en una sola vista. Es sorta hokey, y se basa en realidad no preocuparse por la publicación de las fechas (algo que siempre depende de la situación), ni tener una razón más apremiante para utilizar un nodequeue. Dicho esto, si usted no necesita la nodequeue o las fechas, que es una solución viable.

La solución de 2-vista por Jeremy debe ser viable, también, y yo diría que es otra forma común para manejar la situación dada.

advertencia solución Hacky!

Tenga su vista principal en su página con los artículos nodequeue.

Cree otro punto de vista que se expone como un bloque para los artículos nodequeue. Poner este bloque en la región de contenido principal y limitarlo a mostrar sólo en las direcciones URL que son las mismas que la primera vista.

Puede que tenga que hacer un poco de tocar el violín con las variables de URL, pero creo que va a funcionar.

¿Por qué no concatena los puntos de vista detrás de cada nodequeue? (Cada uno nodequeue genera una vista) Se puede añadir una cabecera (ver 'Configuración básica' en vista de la página de edición) a la segunda nodequeue que contiene código PHP que invoca views_embed_view ( 'primera nodequeue') (sólo tiene que cambiar el formato de entrada de la cabecera de 'php'). O más bien, crear una vista personalizada que incluye cada uno nodequeue invocando views_embed_view (). Esto colocaría efectivamente uno nodequeue encima de otro, y si son del mismo tipo de formato / contenido que ni siquiera es necesario perder el tiempo con los campos: se puede usar estilo de fila == Nodo. En cuanto a sus argumentos, que se pueden pasar a views_embed_view, como tercer parámetro (los documentos no dicen que AFAICR, pero he encontrado un post en los foros ( http://drupal.org/node/99721 ) que indican args se pueden enviar como '$ current_view-> args' a la vista de ser incorporado).

HTH

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top