Question

Bonjour :) J'ai posté cette même question sur un site axé sur Drupal, mais n'a pas obtenu des réponses du tout. Je plaignais à moi-même et a souhaité que le site était plus comme StackOverflow, donc je pensais, pourquoi ne pas essayer de demander ici:)

Je suis jouer avec une vue qui affiche des noeuds appartenant à un terme de taxonomie. Le vocabulaire a aussi une nodequeue de taxonomie avec pour sous-files tous les termes.

Jusqu'à présent, la vue a un argument, ID taxonomie terme, et est trié par date. Mais si je voulais afficher tous les nœuds d'un terme particulier, avec tous les nœuds nodequeue sur le dessus, et tous les nœuds non-nodequeue (mais toujours sous ce terme de taxonomie particulière) ci-dessous, classés par date?

Pour clarifier, dire que c'est mon vocabulaire, nous l'appellerons « substance vivante »

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

Les nœuds suivants se trouvent sous Dinosaures:

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

Depuis tyrannosaures et velociraptors sont des dinosaures impressionnants supplémentaires, ils sont aussi ajoutés à la substance vivante de nodequeue, les dinosaures sous-file:

Le sous-file:

  1. Velociraptor
  2. Tyrannosaurus

Le point de vue final devrait les afficher dans cet ordre:

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)

J'ai créé une relation avec un nodequeue, mais il ne me laisser choisir un sous-file, je ne pouvais limiter au nodequeue « stuff vivant ». Mon premier argument de vue est ID terme, donc je pensais que si j'ajouté « nodequeue: référence sous-file ». Comme second argument, j'obtenir le comportement attendu, mais cela montre que les dinosaures répertoriés dans la nodequeue

Toute aide ou suggestion sur ce problème seraient très appréciés. Merci!

Était-ce utile?

La solution

Je ne l'ai pas vraiment essayé beaucoup avec les sous-queues de nodequeues, donc je ne suis pas tout à fait certain. Mais de mon expérience avec nodequeues, il semble que lors de l'utilisation des vues, vous êtes limité aux choses de base qu'ils soutiennent et ne peuvent pas vraiment faire le type de personnalisation que vous recherchez. Je pense que votre meilleur pari, serait de créer vos propres vues sorte gestionnaire, vous pouvez trier comme ça. Il sera probablement très difficile de faire un tel gestionnaire, puisque vous devez comprendre les vues et nodequeues afin de le faire fonctionner. Vous devriez vraiment y réfléchir si elle en vaudrait la peine avant de se lancer dans cette voie, à moins que vous avez fait ce genre de choses avec des vues avant.

Autres conseils

Plus hacks:
Un travail autour du comportement que vous essayez d'accomplir pourrait être de renoncer à l'utilisation nodequeues du tout. Je ne suis pas sûr que l'impulsion entière pour l'utilisation des nodequeues, ni l'importance des dates, mais face à des problèmes similaires avant, je suis en mesure de s'y attaquer en utilisant les éléments suivants:

  1. Post-it
  2. dates modifiées

Si vous collant vos dinosaures super-cool, et de modifier les dates publiées des éléments afin qu'ils correspondent à votre commande, vous pourriez produire ce que vous cherchez dans une seule vue. Il est sorta hokey, et il repose sur les soins pas vraiment sur les dates d'édition (quelque chose qui dépend toujours de la situation), ni avoir une raison plus pressante pour l'utilisation d'un nodequeue. Cela dit, si vous n'avez pas besoin nodequeue ou les dates, il est une solution viable.

La solution 2 vue par Jeremy devrait être réalisable, aussi, et je dirais que c'est une autre façon commune pour gérer le scénario donné.

avertissement de solution Hacky!

Demandez à votre vue principale sur votre page avec les articles nodequeue.

Créer un autre point de vue qui est exposée comme un bloc pour les éléments non nodequeue. Mettez ce bloc dans la zone de contenu principal et limiter à montrer que sur les URL qui sont les mêmes que la première vue.

Vous pourriez avoir à faire un peu de jongler avec les variables d'URL, mais je pense que cela va fonctionner.

Pourquoi ne pas concaténer les vues derrière chaque nodequeue? (Chaque nodequeue génère une vue) Vous pouvez ajouter un en-tête (voir « Réglages de base » en vue page d'édition) à la deuxième nodequeue qui contient le code php qui invoque views_embed_view ( « première nodequeue ») (vous avez juste besoin de changer le format d'entrée de l'en-tête de « php »). Ou plutôt, créer une vue personnalisée qui inclut chaque nodequeue en invoquant views_embed_view (). Cela aurait pour effet de placer un nodequeue au-dessus d'une autre, et si elles sont du même type format / contenu que vous ne même pas besoin de retoucher avec des champs: vous pouvez utiliser le style Row == nœud. En ce qui concerne vos arguments, ils peuvent être transmis à views_embed_view, comme le troisième paramètre (les docs ne disent pas que AFAICR, mais je l'ai trouvé un poste dans les forums ( http://drupal.org/node/99721 ) qui ont indiqué args peuvent être envoyés sous forme de '$ current_view-> args' à la vue étant intégrée).

HTH

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top