2010-09-29 5 views
1

Ce que je suis en train de réaliser est très simple, mais un peu difficile à expliquer:Drupal View - Ne pas rendre certains champs pour certains nœuds

  1. Je veux créer une vue de retourner le dernier 5 nœuds basés sur une condition
  2. les champs que je veux montrer sont « Titre, résumé & thumb »
  3. Je veux montrer le pouce que pour le premier nœud, je ne veux pas le pouce à afficher pour le reste

Bien sûr, cacher le pouce via CSS est stupide. Quel est le meilleur moyen d'y parvenir?

Répondre

2

Vous devez utiliser les pièces jointes Views. Google autour de comprendre ce qu'est un affichage de pièce jointe. Vous n'avez pas besoin d'installer de modules spéciaux pour le module de vues pour obtenir l'affichage de la pièce jointe.

Un affichage de pièce jointe est un type d'affichage dans Vues (comme Page, Bloc), sauf qu'il est attaché à une vue préexistante. Ainsi, la première vue vous créez un affichage de page qui montre le titre, l'abrégé et le pouce (et montre seulement 1 article). Laissez l'affichage de la pièce jointe être joint après l'affichage de la page. Il doit avoir un décalage de 1 (de sorte qu'il saute le premier élément) et il doit pas avoir le pouce sous les champs (remplacer les paramètres des champs). Il devrait montrer 4 articles. Décalage est un paramètre sous Basic settings de vues.

Cela permettra d'atteindre votre objectif. Cela dit, cacher les trois dernières images en utilisant CSS n'est pas une mauvaise idée non plus. Utilisez le module injecteur css.

+0

Merci! Cela a fonctionné, mais mon cas est un peu plus compliqué: J'ai plusieurs blocs d'affichage sous la même vue. Chaque bloc affiche 5 éléments d'une taxonomie différente. Ce à quoi je suis confronté c'est que quand j'ai créé l'attachement, il affiche le même nœud tout le temps! Même si j'ai défini l'héritage des arguments. Cela fonctionne quand l'argument est fourni par URL.Mais dans mon cas, les arguments sont intégrés dans le bloc d'affichage et ne sont pas transmis par l'URL –

0

En supposant 6.x Drupal ...

Avez-vous regardé dans la construction de deux écrans:

  1. Un affichage de la page, sans le champ miniature, limitée à ce nombre d'éléments, offset = 1
  2. Affichage d'une pièce jointe avec le champ de vignettes, limité à 1 élément, décalage = 0
  3. Réglages de l'accessoire: Position: Avant; Joindre à: Page

Désolé, nous n'avons pas le temps d'écrire des directions détaillées pour le moment. Je reviendrai plus tard pour voir si cette idée vous permet de démarrer ...

+0

Doh! Voilà ce que je reçois pour ne pas frapper "Post" avant de me balader pour lire le web ... – mikeker

+0

Hehe, c'est bon :) C'est ce que NoParrots a déjà suggéré qui fonctionne bien, mais j'ai besoin d'une solution pour hériter de tous les arguments d'URL –

0

Vous pouvez modifier le modèle de vue pour atteindre cet objectif. C'est un peu un art sombre, mais c'est probablement le moyen le plus rapide sans faire de pièces jointes. Vous allez probablement éditer views-view-fields.tpl.php. Vous pouvez obtenir plus d'informations à ce sujet en cliquant sur le lien Thème: Informations dans votre vue. Le modèle de vue apparaîtra vide au premier abord (même après avoir copié le code), mais vous pouvez faire beaucoup en bouclant $view->results.

Questions connexes