Comment thématiser rapidement une vue?


85

J'ai défini une vue avec les modules CCK et View 2. Je souhaite définir rapidement un modèle spécifique à cette vue. Existe-t-il un tutoriel ou des informations à ce sujet? Quels fichiers dois-je modifier?


Voici mes conclusions: (Modifié)

En fait, il existe deux manières de thématiser une vue: la voie " champ " et la voie " nœud ". Dans "Modifier la vue", vous pouvez choisir " Row style: Node" ou " Row style: Fields".

  • avec la méthode " Node ", vous pouvez créer un node-contentname.tpl.php qui sera appelé pour chaque nœud de la vue. Vous aurez accès à vos valeurs de champ cck avec $ field_name [0] ['value']. (edit2) Vous pouvez utiliser node-view-viewname.tpl.php qui ne sera appelé que pour chaque nœud affiché depuis cette vue.
  • avec la méthode " Champ ", vous ajoutez un champ de vue - viewname - field-name-value.tpl.php pour chaque champ que vous souhaitez thématiser individuellement.

Grâce aux réponses précédentes, j'ai utilisé les outils suivants:


1
c'est vues-vues-champs - nom-vue - nom-champ-valeur.tpl.php pas vues-champ-vue - nom-vue - nom-champ-valeur.tpl.php il vous manque un "s" sur le premier champ
Alex Borsody

Dans quel dossier ajoutez-vous cela?
Talon

Si vous aviez fait une recherche sur la page de documentation des vues, vous auriez trouvé toutes ces informations!
Bhavin Joshi

Réponses:


52

En fait, il existe deux manières de thématiser une vue: la voie " champ " et la voie " nœud ". Dans "Modifier la vue", vous pouvez choisir " Row style: Node" ou " Row style: Fields".

  • avec la méthode " Node ", vous pouvez créer un node-contentname.tpl.php qui sera appelé pour chaque nœud de la vue. Vous aurez accès à vos valeurs de champ cck avec $ field_name [0] ['value']
  • avec la méthode " Champ ", vous ajoutez un champ de vue - viewname - field-name-value.tpl.php pour chaque champ que vous souhaitez thématiser individuellement.

Grâce aux réponses précédentes, j'ai utilisé les outils suivants:


Veuillez noter que dans la première manière, la manière «nœud», le modèle que vous créez sera probablement (dépend des paramètres du thème) utilisé pour le nœud lui-même (affiché même en dehors du nœud).
Strae

Veuillez noter que les liens dans cette réponse sont maintenant 404.
Dewayne

22

Un moyen rapide de trouver les fichiers modèles que vous pouvez créer et modifier pour une vue dans Views 2.0 consiste à:

  1. Modifier la vue
  2. Sélectionnez le style (par exemple, page, bloc, par défaut)
  3. Dans le bloc "Paramètres de base", cliquez sur "Thème: Informations" pour voir tous les différents modèles que vous pouvez modifier.

16

La fonction "Développeur de thèmes" du module Devel est pratique pour voir quels fichiers modèles Drupal recherche quand il passe à un thème. Voir la capture d'écran sur cette page pour un exemple.



7

Un conseil:

Vous aurez probablement un certain nombre de vues qui nécessitent un formatage similaire. La création de modèles pour chacune de ces vues et leur copie crée un cauchemar de branchement de code - si on vous demande de changer l'apparence et la convivialité du site (impliquant de changer l'affichage de chacune de ces vues formatées de cette manière particulière) doivent revenir en arrière et modifier chacun de ces éléments séparément.

Au lieu d'utiliser l'interface des vues pour sélectionner de nouveaux modèles de vues, j'insère parfois simplement du code qui se ramifie dans un seul fichier de vues. Par exemple, pour un site dans views-view-fields.tpl.phpj'ai:

if($view->name == 'articleList' || $view->name == 'frontList' 
|| $view->name == 'archiveList') {
/* field formatting code */
} else {
/* the default code running here */
}

Cela modifie ensuite les champs comme je le souhaite uniquement pour cette famille de Views = articleList, frontList et archiveList - et pour les autres vues utilisant ce modèle, exécute le code que l'on trouve normalement dans ce modèle. Si le client demande: "Hé, pourriez-vous faire en sorte que ces pages affichant les archives et cette liste sur la page d'accueil ressemblent davantage à (...)", il s'agit simplement d'ouvrir et d'éditer ce fichier, au lieu de trois différents fichiers. La maintenance devient beaucoup plus rapide et conviviale.


6

pour moi block-views-myViewName-myBlockId.tpl.php fonctionne


4

Mon option de raccourci.

  1. Accédez au fichier theme.inc dans YOUR_MODULE_DIR/ views / theme / dossier.

  2. Dans la _views_theme_functionsfonction, imprimez la variable $ themes ou mettez un point d'arrêt sur la dernière ligne de la fonction pour voir le contenu de la variable.

Convertissez simplement views_viewen vues-vues et __ en - et ajoutez votre extension de modèle pour obtenir le nom de fichier souhaité.

Par exemple, si un élément du tableau $ themes est views_view__test_view__block (où test_viewest le nom de votre vue), alors le nom du fichier de modèle serait views-view - test_view - block.tpl.php .


2

À mon avis, le moyen le plus simple de décider du fichier modèle à utiliser pour la thématisation des vues est: 1) Cliquez sur admin / build / views / edit / ViewName -> Basic Settings -> Theme

Cliquez dessus pour lister tous les fichiers modèles possibles. Les fichiers en surbrillance (noms de fichiers en gras) indiquent quel fichier de modèle est utilisé pour faire du thème quelle partie de la vue. Après avoir incorporé les modifications requises dans le fichier de modèle de vue correspondant RESCAN .. vous devriez maintenant pouvoir voir le fichier de modèle modifié en surbrillance.


1

Si vous voulez faire du développement Drupal rapide avec beaucoup de glisser-déposer, le module Display Suite def. est quelque chose que vous devriez utiliser: http://drupal.org/project/ds


0

Selon moi, il y a deux façons de le faire:

Manière programmatique:

  1. Accédez à la vue d'édition.
  2. Sélectionnez le style de page / bloc.
  3. Allez dans «Paramètres de base» et cliquez sur «Thème: Informations» pour voir tous les différents modèles que vous pouvez modifier.
  4. Ajoutez le html que vous souhaitez thématiser et imprimez les variables de la vue là où vous en avez besoin

Mise à jour de la configuration: Utilisation de la suite DisplayLa suite Display nous offre une option pour placer vos étiquettes en ligne ou au-dessus et même les ajouter pour les masquer. Des classes personnalisées à chacun des éléments de la vue peuvent également être ajoutées. Les options avancées incluent:

  • Exportables
  • Ajoutez vos propres champs personnalisés dans le backend ou dans votre code
  • Ajouter des mises en page personnalisées dans votre thème (D7 uniquement)
  • Modifiez les étiquettes, ajoutez des styles ou remplacez les paramètres de champ (champs sémantiques).
  • Intégration complète avec les vues et les panneaux
  • Étendez la puissance de vos mises en page en installant Field Group
  • Performances optimales grâce à l'intégration de Object Cache (D6) ou Entity Cache (D7)
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.