web-dev-qa-db-fra.com

Vues 3 et HTML5 - comment remplacer la sortie pour le balisage?

J'ai une vue que j'ai créée qui sélectionne les articles de blog en fonction d'un terme de taxonomie spécifique, créant une sorte de vue "Articles en vedette" que j'ai incorporée sur la première page de mon site. Le problème que je rencontre est d'essayer de sortir la vue de sorte que chaque publication soit balisée sémantiquement en utilisant une partie du nouveau HTML. J'ai essayé le "Réécrire la sortie de ce champ" intégré, mais il ignore les balises que j'utilise (c'est-à-dire l'article, l'en-tête, le pied de page) et encapsule tout dans les divs même lorsque je désélectionne les balises d'espace réservé.

Dois-je créer une vue prioritaire - view_name.tpl.php pour réécrire la sortie de chaque publication telle qu'elle apparaît dans la vue, ou dois-je utiliser des crochets de prétraitement dans le template.php pour affecter la sortie?

Je dois dire que j'ai une expérience de base en écriture PHP et pré-traitement des hooks, mais je peux disposer de toutes les ressources dont j'ai besoin pour me déplacer vers le bas du lien si je pointe dans la bonne direction.

7
PendragonDev

Vous remarquerez que dans votre vue, sous le bloc "Paramètres de style", il existe un lien pour Thème: Informations. Il exposera tous les fichiers de thème appelés pour votre vue. Vous pouvez utiliser des fichiers de thème génériques à très détaillés qui ne seront utilisés que pour l'affichage de vos vues.

Le premier nom de fichier dans la sortie d'affichage est views-view.tpl.php. Cela s'appliquera à toutes les vues et affichages. Le suivant dans la liste est vues-vue - [nom de la vue] .tpl.php. Elle ne s'appliquera qu'à votre vue. Il continue de descendre jusqu'à ce qu'il devienne aussi précis que possible. views-view - [nom de la vue] - default.tpl.php est le dernier de la liste et ne s'applique qu'à l'affichage par défaut de la vue. Cliquez sur le lien Afficher la sortie: pour afficher le code du modèle utilisé par les vues. Copiez simplement et créez un nouveau fichier de modèle avec l'un des suggestions dans la liste. Il est généralement préférable d'être aussi précis que possible. Le fichier de modèle peut aller n'importe où dans votre thème et les vues le récupèrent tant que vous réanalysez les fichiers de modèle dans les informations de thème et enregistrez la vue. Il existe des modèles de vue, des modèles de ligne, des modèles de champ et des modèles spécifiques au champ.

Une fois que vous aurez appris à manipuler les fichiers de modèles de vue, cela ouvrira vraiment vos possibilités de conception.

10
Jepedo

Les clôtures ressemblent à un excellent module (pour Drupal 7) pour contrôler le balisage de sortie des vues:

Page du projet:

http://drupal.org/project/fences

Depuis la page du projet:

"Fences est un outil facile à utiliser pour spécifier un élément HTML pour chaque champ. Ce choix d'élément se propagera partout où le champ est utilisé, comme les teasers, les flux RSS et les vues. Vous n'avez pas à continuer de reconfigurer le même élément HTML à chaque fois que vous affichez le champ. "

J'aime particulièrement ce bit (idéal pour déboguer la sortie):

"Le meilleur de tous, Fences fournit un balisage plus léger que Drupal 7 core! Et peut se débarrasser des classes superflues aussi ! "

C'est aussi Nice - réduire la répétition du travail:

"Ce type d'outil est nécessaire pour créer une sortie sémantique HTML5 à partir de Drupal. Sans un tel outil, vous devez créer des modèles de champs personnalisés dans votre thème pour chaque champ. :("

Ils ont également considéré les alternatives populaires:

Des projets similaires incluent Champs sémantiques , Wrappers de champ et un outil à l'intérieur du Suppléments Display Suite . Mais nous pensons que cette approche est Morefasterbetter ™.

Nous remercions Drupal user rhache d'avoir mentionné le Clôtures Drupal module dans leur commentaire sur cette question Le module Semantic Views est-il obsolète par Views 3?

2
therobyouknow

Vous pouvez essayer vues sémantiques module.

Comme il est dit à ce sujet issue , il est utile pour la sortie html5.

0
john