Maison > développement back-end > tutoriel php > Drupal 7: Relations, filtres contextuels et réécriture de champ dans les vues 3

Drupal 7: Relations, filtres contextuels et réécriture de champ dans les vues 3

Joseph Gordon-Levitt
Libérer: 2025-02-21 12:02:09
original
603 Les gens l'ont consulté

Drupal 7 Vues: maîtriser les relations, les filtres contextuels et la réécriture de champ

Cet article plonge dans les techniques avancées de Drupal 7 View, en se concentrant sur les relations, les filtres contextuels et la réécriture de champ. S'appuyant sur une compréhension de base de la création de vues, nous améliorerons les fonctionnalités pour créer des écrans plus dynamiques et personnalisés.

Concepts clés:

  • Relations: Rejoignez des tables pour récupérer les données des entités liées. Par exemple, lier des articles à leurs auteurs.
  • Filtres contextuels: Filtrez dynamiquement les vues en fonction du contexte comme des URL ou de l'utilisateur connecté.
  • Réécriture de champ: Valeurs de champ concaténées pour créer des sorties de champ complexes et personnalisées, idéale pour le thème.

Améliorons une vue d'article simple affichant uniquement des titres avec trois améliorations:

  1. Afficher le nom d'utilisateur de l'auteur de l'article.
  2. Afficher uniquement les articles rédigés par l'utilisateur connecté.
  3. Afficher le nom d'utilisateur de l'auteur entre parenthèses après le titre.

1. Établir des relations:

La table de nœud ne contient que l'ID utilisateur de l'auteur (uid). Pour afficher le nom d'utilisateur, nous avons besoin d'une relation au tableau user. Ajoutez une nouvelle relation de type "Contenu: auteur," lui donnant un nom descriptif comme "Content Auteur". Laissez d'autres paramètres à leurs valeurs par défaut.

Maintenant, ajoutez un champ "utilisateur: nom". Le paramètre "relation" sélectionnera automatiquement "l'auteur de contenu", indiquant que les données du champ sont extraites via la relation établie. La sauvegarde ajoute le nom d'utilisateur de l'auteur à l'aperçu de la vue. Les relations peuvent être enchaînées pour rejoindre plusieurs tables.

Drupal 7: Relationships, Contextual Filters and Field Rewriting in Views 3

2. Implémentation de filtres contextuels:

Les filtres contextuels fonctionnent de manière similaire aux filtres réguliers mais tirent leurs valeurs à partir du contexte, et non de l'entrée manuelle. Ajoutez un filtre contextuel de type "Contenu: auteur UID". Sous "Lorsque la valeur du filtre n'est pas dans l'URL," Sélectionnez "Fournir la valeur par défaut" et choisissez "ID utilisateur à partir de l'utilisateur" comme type. Cela filtre dynamiquement la vue pour afficher uniquement les articles par l'utilisateur actuellement connecté.

Drupal 7: Relationships, Contextual Filters and Field Rewriting in Views 3

3. Réécriture des champs pour la sortie améliorée:

Pour combiner le titre et le nom d'utilisateur de l'auteur, réorganisez les champs afin que le titre soit le dernier. En effet, la réécriture de champs utilise des jetons à partir des champs précédents. Modifiez le champ de nom d'utilisateur de l'auteur, décochez "Créer une étiquette" et vérifiez "Exclure de l'affichage."

Ensuite, modifiez le champ de titre et vérifiez "Réécrivez la sortie de ce champ". Utilisez les modèles de remplacement (par exemple, [title], [name]) dans la zone de texte de réécriture. Pour atteindre la sortie souhaitée, utilisez:

<code>[title] ([name])</code>
Copier après la connexion

Cependant, cela pourrait casser la liaison si le "lien ce champ au contenu d'origine" est vérifié. Pour maintenir la liaison propre, ajoutez un champ "Content: Path" (exclure de l'affichage), placez-le avant le titre et réécrivez le champ de titre comme:

<code><a href="https://www.php.cn/link/fc0fef626c330003179e5377ee02750f">[title]</a> ([name])</code>
Copier après la connexion

Cela garantit correctement le titre, tandis que le nom d'utilisateur (entre parenthèses) est lié au profil utilisateur.

Drupal 7: Relationships, Contextual Filters and Field Rewriting in Views 3

Conclusion:

Ce tutoriel a couvert les relations, les filtres contextuels et la réécriture de champ dans les vues Drupal 7. La maîtrise de ces techniques vous permet de créer des vues très dynamiques et personnalisées, améliorant considérablement la fonctionnalité de votre site. La complexité des vues est atténuée par la compréhension de ces concepts de base.

Questions fréquemment posées (FAQ):

La section FAQ fournie reste largement inchangée, car elle aborde avec précision les questions courantes concernant les vues Drupal 7 et les filtres contextuels. Les informations sont cohérentes et utiles aux utilisateurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal