2010-07-30 5 views
2

J'ai deux vues dans une page Drupal avec la structure suivante:vues Drupal: comment mettre un div wrapper pour deux vues?

<div> 
    <div>Some content</div> 
    <div> View 1 </div> 
    <div> View 2 </div> 
</div> 

Maintenant, je veux un div wrapper couvrant les deux points de vue:

<div> 
    <div>Some content</div> 
    <div class="wrapper"> 
     <div> View 1 </div> 
     <div> View 2 </div> 
    </div> 
</div> 

Quelle est la meilleure et la plus simple de le faire ?

+0

Comment injecter les vues sur la page? –

Répondre

1

Une méthode plus simple serait d'utiliser la fonction views_embed_view pour obtenir la sortie des deux vues, que vous enveloppez ensuite dans un div.

Où mettre ce code et comment le faire dépend de la façon dont vous faites les choses maintenant. Vous pouvez créer un bloc pour cela et gagner la flexibilité des blocs.

0

Vous voudrez créer un fichier .tpl personnalisé pour cela. Ce serait quelque chose comme, mais pas exactement:

views-view-viewname.tpl.php 

Pour trouver le nom du fichier, modifiez les vues puis regardez sous Paramètres de base> Thème.

+0

Merci. Donc je devrais ouvrir le div dans un view.tpl et le fermer dans l'autre? – Niyaz

+0

@Niyaz: Hmm - ça marcherait, mais ça a l'air douteux, car ça limite la flexibilité (il faut toujours sortir les deux vues dans le bon ordre, sinon il faudrait ajuster les templates). Comment injectez-vous les vues sur la page? (En fonction de cela, il pourrait y avoir une solution 'plus propre') –

+0

Je les ajoute à la page en tant que blocs – Niyaz

0

Vous pouvez également utiliser les pièces jointes Vues (Google autour pour savoir comment les faire). Donc, faites de la vue 1 une vue normale et attachez la vue 2 pour qu'elle apparaisse après Vue 1. Vous obtiendrez un div wrapper autour des deux vues.

+0

Les gars cela fonctionne réellement! S'il vous plaît essayez-le !! –

+0

C'est en fait la meilleure réponse imo –

+0

@infensus Si c'est le cas s'il vous plaît upvote! –