Afficher plusieurs vues sur une même page. Drupal 7

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

J'aimerais afficher plusieurs vues sur une même page. Quelqu'un pourrait t-il m'aider à le faire ?. Je suis sur Drupal 7

Merci d'avance

Forum : 
Version de Drupal : 

Donc il faut que je désinstalle le module view que j'ai déjà installé afin d'installer le module viewfield ?
En plus je travaille sur Drupal 7; Je viens de vérifier et le module viewfield n'existe pas en version 7.
Que faire ?

Merci

Non il faut que tu gardes view , c'est indispensable il est requis pour viewfield, viewfield en gros c'est un complément à CCK (intégré direct à Drupal 7).
Je suis moi même sur Drupal 7 et il existe une version pour drupal 7 (version dev certes).

http://drupal.org/project/viewfield

Néanmoins ça marche !

Par rapport à ce qu'a dis Crayulayon,
Si tu veux que tes vues soient visibles sur toutes tes pages alors les blocks sont la solution, maintenant si tu veux que les vues soit directement integrer à tes contenues ils faut utiliser viewfield!

Ok. En fait je voudrais utiliser mes vues sur la page principale du site, de manière à ce que si on clique sur le lien plusieurs vues apparaisse sur la meme page(donc chaque vue aura un type de contenu). Est-ce possible ?
Autre question en passant : les version dev ne sont pas dangereuses ? car j'aimerais avoir les modules "media","Faq", et le module pour la newletter , et pour l'instant je n'ai que des versions dev en version 7 dont les liens successifs sont les suivantes :
Pour le module "Media" : http://drupal.org/project/media
Pour le module "Faq" : http://drupal.org/project/faq
Par contre je sais pas le module que je peux prendre pour mettre en place une newletter, même en version dev. Que me conseilles-tu ?
S'il te plait peux-tu me repondre à toutes mes questions ?
Pardon pour ces question, car je suis debutant sur Drupal 7

Merci d'avance

Ok. En fait je voudrais utiliser mes vues sur la page principale du site, de manière à ce que si on clique sur le lien plusieurs vues apparaisse sur la meme page(donc chaque vue aura un type de contenu). Est-ce possible ?
Autre question en passant : les version dev ne sont pas dangereuses ? car j'aimerais avoir les modules "media","Faq", et le module pour la newletter , et pour l'instant je n'ai que des versions dev en version 7 dont les liens successifs sont les suivantes :
Pour le module "Media" : http://drupal.org/project/media
Pour le module "Faq" : http://drupal.org/project/faq
Par contre je sais pas le module que je peux prendre pour mettre en place une newletter, même en version dev. Que me conseilles-tu ?
S'il te plait peux-tu me repondre à toutes mes questions ?
Pardon pour ces question, car je suis debutant sur Drupal 7

Merci d'avance

Je vais vous répondre pas à pas, en vous expliquant toutes les étapes puisque vous êtes un débutant sur Drupal...

1) « je voudrais utiliser mes vues sur la page principale du site, de manière à ce que si on clique sur le lien plusieurs vues apparaisse sur la meme page(donc chaque vue aura un type de contenu). Est-ce possible ? »

De quel lien parlez-vous ?

2) Pas de versions dev sur des sites en production. Par contre, sur des serveurs de test oui, et cela peut aider au développement via le système des issues derrière chaque module sur le site drupal.org

C'est donc un lien de view au format "Page".

En cliquant sur ce lien apparaîtra donc la view telle que vous l'avez formatée. vous pouvez éventuellement compléter cette view de type page avec des views attachées (qui apparaîtront en même temps, selon les arguments éventuels et les formats que vous souhaitez faire passer) au début ou à la fin de cet affichage.

http://drupal.org/project/eva

Vous pouvez également faire un montage avec des blocs de views sur cet affichage de Page view via un module comme context

http://drupal.org/project/context

Merci de passer ce sujet en résolu si c'est le cas.

vous pouvez éventuellement compléter cette view de type page avec des views attachées (qui apparaîtront en même temps, selon les arguments éventuels et les formats que vous souhaitez faire passer) ???
Excusez-moi, je ne comprends rien. S'il vous plait expliquez moi cela pas à pas.pour rappel je suis debutant...

Merci

Faites un effort pour passer du stade débutant pleurnichard au stade débutant qui n'en veut. Voici donc mon pas à pas :

1) Lisez comme tout le monde ici la documentation des modules,
2) Cherchez sur l'internet des vidéos décrivant leur utilisation,
3) testez-les pour en comprendre le fonctionnement

vous pourrez ainsi mieux concevoir votre projet, choisir entre ce qu'il est possible de faire, ce que vous êtes capable de faire, ce dont vous avez vraiment besoin.

ma question était juste de savoir comment on peut faire des vues attachées dans une vue ? Si vous m'expliquez cela pas à pas, alors je serai tres content et je pourrai faire le reste. Et en plus je vous serai reconnaissant. Car c'est tres urgent

Ma réponse ne varie pas : lisez la documentation, tant de views que de views attachment. Si vous en comprenez le mécanisme, vous gagnerez en efficacité dans votre projet.

De la doc à lire puisqu'apparemment, personne ne vous a expliqué pas à pas comment vous servir de Google :

http://drupaleasy.com/blogs/ultimike/2009/07/using-views-relationships-a...

http://drupal.org/project/modules?filters=bs_project_sandbox%3A0&text=at...

Et même des vidéos, avec des images

http://www.youtube.com/watch?v=z39_CTW2OvU

http://www.mefeedia.com/watch/29232737

http://vimeo.com/11594140

Merci pour ta réponse

1) "node_type.tpl.php" est dans quel répertoire ?

2)Donc, ça veut dire que si je crée 3 vues assocées à 3 bolcs nommés: bloc1, bloc2, bloc3, alors j'aurai 3 fois :
print render(block_get_blocks_by_region(‘bloc1’)) ;
print render(block_get_blocks_by_region(‘bloc2’)) ;
print render(block_get_blocks_by_region(‘bloc3’)) ;

?

Merci de me repondre

Bonjour,

L'utilisation de "print render..." citée plus haut est plutôt une mauvaise pratique.

Sinon, deux solutions à priori :

  • la solution évoquée par Marina d'utiliser une vue avec des vues attachées
  • une autre solution, qui est de créer une page vide ( https://drupal.org/project/empty_page ), et d'y ajouter des blocs créés par Views

Il est essentiel que vous compreniez bien de quelle manière fonctionne Views, vous ne pourrez être qu'émerveillé par toutes les possibilités offertes :)

Bonjour Ralt,

en quoi utiliser
print render(block_get_blocks_by_region('nom_region')
est une mauvaise pratique?
Il est donc préférable d'avoir recours à un module externe (empty_page) plutôt que d'utiliser une fonction native du module block?

Je suis d'accord Views est extrêmement puissant, mais le manque criant de documentation empêche de bien saisir toutes les possibilités.

Pour ma part, il m'a été plus simple de trouver la fonction
print render(block_get_blocks_by_region('nom_region')
via le module plutôt que de trouver la documentation officielle de Views 3 pour Drupal 7...

liliwol,

C'est une mauvaise pratique dans le sens suivant :

Moins de code dans le thème = Plus facile à lire (que ce soit pour un codeur ou un thèmeur).

Concernant l'aide de Views, comme le précise la page de documentation, tout est dans le module, à l'aide de "Advanced Help". Une fois le module Advanced Help installé, tu peux accéder à toute l'aide de Views (très complète) à partir de http://tonsite.com/admin/advanced_help/views

Exemple : http://uppix.net/c/7/e/d4f12ad6cb8bd139c2a3320fb66bd.jpg

D'accord pour Advanced Help, j'étais resté sur la non disponibilité de la doc pour Views 3... Je vais l'installer de ce pas.

Cependant, pour le moins de code dans le thème c'est un point de vue... Je ne suis pas forcément d'accord, ça me parait plus simple de lire le code que de naviguer dans les méandres de Views.

Concernant le "pas de code dans le thème", c'est surtout très utile quand on bosse avec des graphistes, ce que je fais quotidiennement.

Ils ne crisent pas trop en voyant des "<?php print $truc; ?>", mais il ne faut pas en mettre plus. Ooooooooh non.

Ralt, les graphistes avec qui tu bosses regardent dans les fichiers templates?

En ce qui me concerne, ils me fournissent du html que je génère à ma sauce via les tpl.php. Ils ne voient que le rendu du template, donc jamais ils ne voient un seul bout de code php!

Donc il n'y a que moi qui aie accès aux print render qui rendent malades ;-)

liliwol,

Quand tu n'es pas là, les graphistes ne peuvent donc rien changer? :)

C'était juste un petit troll, mais j'espère que tu comprends maintenant le point de vue général propulsé par Drupal d'utiliser le moins de code possible dans les thèmes.

Merci pour vos réponses. Je vais essayer la solution proposée par Ralt. Et je ferai le retour en cas de difficulté...
Mais, j'ai une autre question qui n'a rien à voir(si vous pouvez m'aider s'il vous plait) :

En fait ça concerne le module select(or other). Et, je souhaite par exemple avoir 3 options (Debutant, Intermediaire, Expérimenté).
Et que si on clique sur «Intermediaire» le champ texte apparait (c’est bon pour ça, car ça marche).
Mais comment faire à ce que si on clique aussi si l’option «Expérimenté» le champ texte apparait également. Donc au final, je souhaite que le champ texte apparaisse lorsqu’on choisit l’option «Intermédiaire» ou l’option «Expérimenté».

Merci d'avance

tchoul,

Le module que vous avez choisi ne permet pas de faire ça. Son but est de fournir un bouton "Autre" (lorsqu'il y a plusieurs choix à faire), et d'y apposer un message. Il n'est pas prévu pour ajouter plusieurs "Autre" choix.

Concernant ceci, je pense qu'il serait plus approprié ce faire un autre sujet pour ton problème :)

Bonjour,

  • Créer 3 vues (page contenu) : "vue1" "vue2" " vue3"
  • faire de chacune un bloc (add "bloc" ...)
  • Retrouvez vos "bloc(s) vue(s)" dans "structure/blocs" et positionner les blocs en "région" : "contenu" .
  • Positionnez dans cette "région" "contenu" les blocs suivant l'ordre que vous voulez
  • Pour chacun des blocs précisez les préférences d'affichage "Afficher le bloc sur certaines pages seulement "
    en indiquant les noms des vues où vous voulez voir s'afficher le bloc (ex : "vue1", "vue2", "vue3", ... (nomdelavue)
    et si vous les voulez aussi en front page (accueil) alors ajoutez aussi : < front >
    (si vous n'avez pas changer informations de page d'accueil "configuration/informations").