Dans Drupal 7, j'ai créé une vue qui répertorie plusieurs champs. Les champs sont regroupés par un autre champ (le terme ID du champ). Le balisage ressemble à ceci:
<h3>[Term 1]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
<h3>[Term 2]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
<h3>[Term 3]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
Cependant, j'ai besoin de la marque pour ressembler à ceci:
<div id="term_1">
<h3>[Term 1]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
</div>
<div id="term_2">
<h3>[Term 2]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
</div>
<div id="term_3">
<h3>[Term 3]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
</div>
Je sais que vous pouvez utiliser views-view-unformatted.tpl.php (Style Output) pour écraser la vue, puis insérer une DIV pour envelopper le groupe.
Cependant, j'ai besoin que mon wrapper DIV soit comme ça <div id="term_ID_{number of ID}">
. Le numéro d'identification correspond au terme utilisé pour regrouper les champs. Par défaut, si vous utilisez le fichier views-view-unformatted.tpl.php, vous ne pouvez pas y insérer de jetons pour les identificateurs de terme.
Toute aide serait appréciée.
tpl
fichier, voyez la réponse ici drupal.stackexchange.com/questions/11468/… tldr; Dans votre vue, sur la page d'édition, sous Avancé, cliquez sur le thème suivant: informationsEssayez Format: liste HTML. Cela va envelopper le tout dans une liste d'articles. Pour moi, c'est parfait (une liste d'éléments de taxonomie). J'espère que cela t'aides.
la source
Avez-vous essayé la fonctionnalité de résultats de réécriture ? Cliquez sur le champ que vous souhaitez modifier et faites défiler jusqu'à voir les résultats de la réécriture . Cochez la case Réécrire la sortie de ce champ , puis personnalisez le code HTML si nécessaire. Pour les jetons, vous pouvez utiliser les modèles de remplacement indiqués dans la zone située sous la zone de saisie de texte.
En ce qui concerne les modèles de remplacement , notez l'avertissement que Vues affiche:
Si cela ne suffit pas, essayez d'ajouter un nouveau champ, Global: Texte personnalisé . Cela vous permettra d'ajouter du HTML arbitraire et les modèles de remplacement sont également disponibles ici. Vous pouvez utiliser deux champs de texte globaux: Personnalisés distincts pour ajouter les
<div>
balises de début et de fin.la source
Global: Custom text
effets de la ligne dans le groupe mais pas de l'extérieur du groupe,Ces jours-ci, j'ai rencontré le même problème. Et ce dont j'avais besoin à côté du wrapper de groupe était une classe css comme premier / dernier par groupe.
J'ai donc ajouté dans views-view-unformatted.tpl.php le code php suivant:
Voici la partie html avec le wrapper et les classes:
La sortie sera:
Pourrait être utile - profiter
la source
Donc, je suppose que la plus grosse énigme est de savoir comment générer la classe en utilisant la valeur de $ title dans les balises h3. Je voudrais essayer le module de translittération et l'extrait suivant:
Cela a fonctionné pour moi lorsque je devais créer des ancres nommées dans une vue.
la source
Très utile - J'avais besoin d'ajouter quelques classes alpha / oméga pour une mise en page basée sur une grille et quelques impaires pour pouvoir effacer les deux pour chaque ligne. J'ai édité la ligne de:
pour ça:
Ce qui donne la sortie requise.
la source
Vous n'avez pas besoin du module de translittération. Le noyau Drupal a la fonction drupal_html_class pour cela.
la source
J'avais un problème similaire aujourd'hui, mais j'avais besoin d'une classe spécifique sur le wrapper html. Dans mon cas, la vue est regroupée par termes de taxonomie et nous avons besoin d'un style spécifique pour chaque terme, donc d'une classe spécifique par terme. Voici comment nous avons changé le modèle de vue non formaté:
Dans la vue, le champ d'affichage du terme de taxonomie est défini sur: "Afficher l'identifiant de l'entité". Nous obtenons donc l'identifiant dans le nom de la classe, puis chargeons le titre en fonction du même identifiant.
la source
Pour ceux qui ne veulent pas plonger dans le code et qui ont des problèmes avec les modèles, il existe un moyen facile de le faire en supprimant les classes div par défaut en utilisant Fences et en ajoutant votre propre div au préfixe et au suffixe du champ en utilisant Simple formateur de champs . Si vous avez plusieurs champs, ajoutez simplement le div contenant dans le préfixe du premier champ et le dans le suffixe du dernier champ.
Ainsi, la structure native avec les zones de préfixe et de suffixe non séparées ressemblera à quelque chose comme:
Si vous deviez ajouter la classe "foo", il deviendrait
la source
La réponse de chrisjlee ci-dessus l'explique bien, sauf pour savoir comment nommer le fichier modèle. Si vous souhaitez modifier une seule vue, le nouveau fichier doit inclure le nom d'ordinateur de la vue. Vous pouvez le trouver dans l'URL de la page d'édition de la vue. C'est très bien expliqué dans ce commentaire sur un problème similaire: https://www.drupal.org/node/1383696#comment-6729128
J'avais besoin d'une classe autour des lignes en utilisant la valeur de $ title pour pouvoir les rendre en 2 colonnes. Voici le code:
la source
Je suis tombé sur un problème similaire. Je voulais que mes rangées groupées soient affichées dans un accordéon bootstrap. Je ne pouvais pas le faire fonctionner avec le module Views Bootstrap .
Le commentaire n ° 4 a résolu mon problème.
Voici à quoi
views-view-unformatted-[my_view_name]-[my_display_name].tpl.php
ressemble mon lookbien sûr, pour que l'accordéon fonctionne, vous devez également éditer les vues - [My_view_name] - [my_display_name] .tpl.php afin d'avoir
J'ai laissé le code par défaut du module entre les commentaires HTML.
J'espère que ça aide.
la source