Les objets
Les objets Liquid utilisés dans l'environnement Microsoft, notamment dans Power Pages, comportent différents attributs qui permettent d'introduire du contenu dynamique directement dans une page web. Ces objets servent de passerelles vers des données contextuelles, facilitant la personnalisation et l'affichage automatique d'informations pertinentes. Par exemple, l'objet nommé page possède un attribut spécifique appelé title, lequel permet d'afficher dynamiquement le titre de la page actuellement consultée par l'utilisateur.
Pour pouvoir accéder à un attribut particulier à partir d'un objet Liquid, il est nécessaire d'utiliser une notation avec un point (.) entre le nom de l'objet et celui de l'attribut souhaité. Cette méthode permet de parcourir la structure hiérarchique des objets et d'en extraire des données spécifiques avec précision. Ainsi, en écrivant page.title, on demande à récupérer la valeur de l'attribut title de l'objet page.
Lorsque vous souhaitez afficher cette valeur dans un modèle de page Liquid, vous devez entourer l'expression de délimiteurs doubles, c'est-à-dire les doubles accolades {{ et }}. Cette syntaxe indique au moteur de rendu Liquid qu'il doit évaluer et afficher le contenu correspondant à l'expression incluse. Par exemple, pour faire apparaître le titre de la page à l'écran, vous devez écrire {{ page.title }} dans votre modèle.
Important : Pour éviter les problèmes potentiels de script intersite (XSS), utilisez toujours un filtre d'échappement pour encoder les données HTML lorsque vous utilisez des objets Liquid pour lire des données non fiables fournies par l'utilisateur.
| {{ page.title }} |
Les attributs d'un objet sont également accessibles via un nom de chaîne suivi de []. Ce format est utile lorsque l'attribut requis est déterminé dynamiquement ou que le nom contient des caractères, des espaces, des caractères spéciaux,..., étant invalides avec un point (.) dans la syntaxe :
|
{{ page[title] }} {% assign attribute_name = Nom avec espaces %} {{ object[attribute_name] }} |
Les objets suivants peuvent être utilisés et accessibles n'importe où, dans n'importe quel modèle :
| Objet | Description |
|---|---|
| entities | Permet de charger n'importe quelle table Microsoft Dataverse par identifiant. Plus d'informations : entités |
| now | Un objet date/heure faisant référence à l'heure UTC actuelle au moment où le modèle est rendu. Remarque : L'application Web du portail met cette valeur en cache et ne l'actualise pas à chaque fois. |
| page | Fait référence à la page de demande du portail en cours. L'objet page donne accès à des éléments tels que le fil d'Ariane de la page en cours, son titre ou son URL, ainsi qu'à tout autre attribut ou entité associée de l'enregistrement Dataverse sous-jacent. |
| params | Un raccourci pratique pour request.params. |
| request | Contient des informations sur la requête HTTP en cours. |
| settings | Permet de charger n'importe quel paramètre de site par son nom. |
| sitemap | Permet d'accéder au plan du site du portail. |
| sitemarkers | Permet de charger n'importe quel marqueur de site par nom. |
| snippets | Permet de charger n'importe quel extrait de contenu par son nom. |
| user | Désigne l'utilisateur actuel du portail et lui permet d'accéder à tous les attributs de l'enregistrement de contact Dataverse sous-jacent. Si aucun utilisateur n'est connecté, cette variable est nulle. |
| weblinks | Permet de charger n'importe quel ensemble de liens web par nom ou identifiant. |
| website | Désigne l'enregistrement du site web du portail, permettant d'accéder à tous les attributs de l'enregistrement du site web Dataverse (adx_website) du portail. |
ads
Permet de récupérer et d'afficher une annonce.
L'objet «ads» vous permet de sélectionner une annonce ou un emplacement spécifique :
|
<div> {% assign ad = ads[Ad Name] %} <h4>{{ ad.title }}</h4> <a href={{ ad.redirect_url }}> <img src={{ ad.image.url }} alt={{ ad.image.alternate_text }} /> </a> </div> |
Attributs des annonces
| Attribut | Description |
|---|---|
| placements | Renvoie l'objet de déplacements. |
| [ad name ou id] | Vous pouvez accéder à n'importe quelle annonce par ses propriétés Name ou Id :
|
Attributs des emplacements d'annonces
| Attribut | Description |
|---|---|
| [ad placement name ou id] | Vous pouvez accéder à n'importe quel déplacement par ses propriétés Name ou Id :
|
Attributs d'emplacement d'annonce
Un emplacement d'annonce est un objet tableau possédant les mêmes attributs généraux, ainsi que les attributs suivants :
| Attribut | Description |
|---|---|
| Ads | Renvoie la collection d'objets publicitaires associés à l'emplacement. Des balises d'itération et des filtres de tableau peuvent être utilisés avec cette collection. |
| Name | Renvoie le champ Nom pour le placement de l'annonce. |
| placement_url | L'URL qui peut être utilisée pour récupérer l'emplacement de l'annonce entièrement rendu par un modèle. |
| random_url | L'URL qui peut être utilisée pour récupérer une annonce aléatoire à partir du placement entièrement rendu par un modèle. |
Attributs de l'annonce
Une annonce est un objet de tableau, avec tous les mêmes attributs en plus des suivants :
| Attribut | Description |
|---|---|
| ad_url | L'URL qui peut être utilisée pour récupérer l'annonce entièrement rendue par un modèle. |
| Copy | Renvoie le champ Copie de l'annonce. |
| image | Renvoie l'objet image (le cas échéant) pour l'annonce. |
| Name | Renvoie le champ Name de l'annonce. |
| open_in_new_window | Renvoie vrai si l'URL spécifiée par redirect_url doit s'ouvrir dans une nouvelle fenêtre. |
| redirect_url | L'URL vers laquelle l'utilisateur est dirigé en sélectionnant l'annonce. |
Attributs de l'image publicitaire
| Attribut | Description |
|---|---|
| alternate_text | Renvoie le texte qui est censé apparaître dans l'attribut alt de la balise. |
| height | Renvoie la hauteur en pixels de l'image |
| url | Renvoie l'URL source de l'image. |
| width | Renvoie la largeur en pixels de l'image |
blogs
Permet la récupération et l'affichage des blogs et des articles de blog.
L'objet blogs vous permet de sélectionner un blog ou des articles de blog spécifiques.
- {% assign posts = blogs.posts | paginate: 0,4 %}
-
- <div class=content-panel panel panel-default>
-
- <div class=panel-heading>
-
- {% assign sitemarker = sitemarkers["Blog Home"] %}
-
- {% assign snippet = snippets[Home Blog Activity Heading] %}
-
- <a class=pull-right href={{sitemarker.url}}> Tous Blogs </a>
-
- <h4>
-
- <a class=feed-icon fa fa-rss-square href={{ blogs.feedpath }} />
-
- {{ snippet.adx_value }}
-
- </h4>
-
- </div>
-
- <ul class=list-group>
-
- {% for post in posts.all %}
-
- <li class=list-group-item >
-
- <a class=user-avatar href={{ post.author_url }}>
-
- <img src={{ post.user_image_url }} />
-
- </a>
-
- <h4 class=list-group-item-heading>
-
- <a href={{ post.app_relative_path }}>{{ post.title }}</a>
-
- </h4>
-
- <div class=content-metadata>
-
- <abbr class=timeago>{{ post.publish_date }}</abbr>
-
- -
-
- <a href={{ post.author_url }}> {{ post.author_name }} </a>
-
- -
-
- <a href={{ post.application_path }}#comments>
-
- <span class=fa fa-comment aria-hidden=true></span> {{ post.comment_count }}
-
- </a>
-
- </div>
-
- </li>
-
- {% endfor %}
-
- </ul>
-
- </div>
Objet blogs
L'objet blogs vous permet d'accéder à n'importe quel blog du portail, ou à tous ses articles.
Le tableau suivant décrit les attributs associés à l'objet blogs.
| Attribut | Description |
|---|---|
| posts | Renvoie un objet blogposts contenant tous les articles de blog du portail. |
| [blog name ou id] | Vous pouvez accéder à n'importe quel blog par ses propriétés Name ou ID :
|
Objet blog
L'objet blog vous permet de travailler avec un seul blog et d'accéder à ses articles.
Le tableau suivant décrit les différents attributs associés à l'objet blog.
| Attribut | Description |
|---|---|
| posts | Renvoie un objet blogposts contenant tous les articles de blog du blog. |
| Name | Le nom du blog. |
| title | Le titre du blog. |
| url | L'URL du blog. |
Objet articles de blog
L'objet blogposts vous permet d'accéder à une collection d'objets d'articles de blog. Vous pouvez classer les articles et les paginer, en plus d'utiliser des filtres liquides :
- {% assign blogposts = blogs.posts | order\;_by "adx\_name", "desc" | paginate: 0,4 | all %}
Autres options possibles :
- blogs.posts.all (pour obtenir tous les articles du blog)
- blogs.posts | from\_index: 0 | take: 2
Le tableau suivant explique les différents attributs associés à l'objet blogposts :
| Attribut | Description |
|---|---|
| All | Renvoie tous les objets blogpost de la collection |
Objet «blogpost»
Fait référence à un seul article de blog.
Le tableau suivant décrit les différents attributs associés à l'objet «blogpost» :
| Attribut | Description |
|---|---|
| url | L'URL de la publication. |
| content | Renvoie le champ Contenu de la publication. |
| author | Renvoie les auteurs de la publication (étant simplement un objet de table de contact). |
| title | Le titre du message. |
| comment_count | Renvoie la valeur entière du nombre de commentaires pour une publication donnée. |
| publish_date | La date à laquelle le message a été publié. |
entities
Attention : Pour éviter les risques de script intersite (XSS), utilisez toujours un filtre d'échappement pour encoder les données de chaîne en HTML lorsque vous utilisez un objet Liquid pour lire des données utilisateur non fiables.
Remarque : Certaines conventions de nommage de Dataverse ont changé. Par exemple, les entités Dataverse sont désormais appelées tables. Ces changements de nom ne s'appliquent pas aux objets Liquid. Les objets entities de Liquid continue d'être appelés entités.
Permet de charger n'importe quelle table Dataverse par identifiant. Si la table existe, un objet table est renvoyé. Si aucune table avec l'identifiant donné n'est trouvée, la valeur null est renvoyée :
- {% assign account = entities.account['936DA01F-9ABD-4d9d-80C7-02AF85C822A8'] %}
-
- {% if account %}
-
- {{ account.name | escape }} ({{ account.statecode.label | escape }})
-
- {% endif %}
-
- {% assign entity_logical_name = 'contact' %}
-
- {% assign contact = entities[entity_logical_name][request.params.contactid] %}
-
- {% if contact %}
-
- {{ contact.fullname | escape }} ({{ contact.parentcustomerid.name | escape }})
-
- {% endif %}
Entity
Un objet Entity donne accès aux attributs d'un enregistrement de table Dataverse.
| Attribut | Description |
|---|---|
| Id | L'identifiant GUID de la table, sous forme de chaîne. Par exemple : 936DA01F-9ABD-4d9d-80C7-02AF85C822A8 |
| logical_name | Le nom logique Dataverse de la table. |
| Notes | Charge toutes les notes (annotations) associées à la table, classées de la plus ancienne à la plus récente (createdon). Les notes sont renvoyées sous forme d'objets note. |
| permissions | Charge les résultats de l'assertion d'autorisation de table pour la table. Les résultats sont renvoyés sous forme d'objet d'autorisation. |
| url | Renvoie le chemin d'accès URL du système de gestion de contenu Power Pages pour la table. Si la table ne possède pas d'URL valide sur le site web actuel, renvoie la valeur null. Généralement, cette option ne renvoie une valeur que pour certains types de tables intégrés au CMS du portail, sauf si vous avez personnalisé le fournisseur d'URL dans votre application. |
| [attribute ou relationship name] | Vous pouvez accéder à n'importe quel attribut de la table Dataverse par nom logique. {{ entity.createdon }}{% assign attribute_name = 'name' %}{{ entity[attribute_name] }} Les valeurs de la plupart des attributs de table correspondent directement aux types Liquid : deux champs d'option correspondent aux valeurs booléennes, les champs de texte aux chaînes, les champs numériques/devises aux nombres, et les champs de date/heure aux objets de date. Cependant, certains types d'attributs sont renvoyés sous forme d'objets :
|
Référence de table associée
Les valeurs d'attribut de recherche sont renvoyées sous forme d'objets de référence de table associés, avec les attributs suivants :
| Attribut | Description |
|---|---|
| Id | L'identifiant GUID de la table référencée, sous forme de chaîne. Par exemple : 936DA01F-9ABD-4d9d-80C7-02AF85C822A8 |
| logical_name | Le nom logique Dataverse de la table référencée. |
| Name | L'attribut de nom principal de la table référencée. |
Remarque : Une note est un objet de table qui donne accès aux attributs et aux relations d'un enregistrement d'annotation. Outre tous les attributs d'un objet de table, une note possède les attributs supplémentaires suivants :
| Attribut | Description |
|---|---|
| documentbody | Charge l'attribut documentbody de l'enregistrement d'annotation de note, sous forme de chaîne codée en Base64. Comme le contenu de cet attribut peut être volumineux, il n'est pas chargé avec les autres attributs de note ; il est chargé uniquement à la demande. Remarque : L'utilisation de l'attribut documentbody peut avoir un impact négatif sur les performances de rendu du modèle et doit être effectuée avec prudence. Utilisez plutôt l'attribut url pour fournir un lien vers la note jointe, si possible. |
| url | Renvoie le chemin d'accès URL du gestionnaire intégré de pièces jointes d'annotations du portail. Si l'utilisateur dispose des autorisations et que la note contient un fichier joint, une requête vers cette URL télécharge le fichier joint. |
Valeur de l'ensemble d'options
Les valeurs des attributs de l'ensemble d'options/de la liste de sélection sont renvoyées sous forme d'objets de référence de table associés, avec les attributs suivants :
| Attribut | Description |
|---|---|
| Label | Étiqueté localisé de la valeur de l'attribut du groupe d'options/liste de sélection. Par exemple, «Active» |
| Value | Valeur entière de l'attribut du jeu d'options/liste de sélection. Par exemple : 0. |
Autorisations de table
L'objet Autorisations de table permet d'accéder aux résultats agrégés des assertions d'autorisations pour une table.
| Attribut | Description |
|---|---|
| can_append | Renvoie «true» si l'utilisateur actuel est autorisé à ajouter des enregistrements aux relations de cet enregistrement. Sinon, renvoie «false». |
| can_append_to | Renvoie «true» si l'utilisateur actuel est autorisé à ajouter cet enregistrement à une relation d'une autre table. Renvoie «false» dans le cas contraire. |
| can_create | Renvoie «true» si l'utilisateur actuel est autorisé à créer de nouveaux enregistrements de ce type de table. Sinon, renvoie «false». |
| can_delete | Renvoie «true» si l'utilisateur actuel est autorisé à supprimer cet enregistrement. Sinon, renvoie «false». |
| can_read | Renvoie «true» si l'utilisateur actuel est autorisé à lire cet enregistrement. Sinon, renvoie «false». |
| can_write | Renvoie «true» si l'utilisateur actuel est autorisé à mettre à jour cet enregistrement. Sinon, renvoie «false». |
| rules_exist | Renvoie «true» si les résultats d'autorisation représentés par cet objet sont le résultat de règles d'autorisation explicitement définies. Renvoie «false» s'il s'agit des résultats par défaut en l'absence d'autorisations explicitement définies. |
Relation réflexive
Les tentatives de chargement de relations réflexives (c'est-à-dire autoréférentielles) sur des entités sont renvoyées sous forme d'objets dotés des attributs suivants.
| Attribut | Description |
|---|---|
| is_reflexive | Renvoie vrai. Permet de tester si un objet renvoyé par une relation est un objet de relation réflexive. |
| referenced | Renvoie un tableau d'entités référencées pour la relation donnée. |
| referencing | Renvoie une table de référence pour la relation donnée. Renvoie null si aucune table de référence n'existe. Si la relation est de type plusieurs-à-plusieurs (N:N), renvoie un tableau d'entités de référence. |
entitylist
L'objet entitylist est utilisé dans les balises de table Dataverse. Il donne accès à tous les attributs d'une liste donnée.
Attributs
| Attribut | Description |
|---|---|
| create_enabled | Renvoie «true» si la création de nouveaux enregistrements est configurée pour la liste. Renvoie «false» dans le cas contraire. |
| create_url | Renvoie le chemin d'URL configuré pour un lien/bouton de création pour la liste. |
| detail_enabled | Renvoie «true» si une vue détaillée des enregistrements individuels est configurée pour la liste. Renvoie «false» dans le cas contraire. |
| detail_id_parameter | Renvoie le nom du paramètre de la chaîne de requête à utiliser pour l'ID d'enregistrement lors de la construction de l'URL d'une vue détaillée d'enregistrement. Consultez la section Filtres d'URL pour plus d'informations sur l'utilisation des filtres Liquid pour la construction d'URL. Par exemple : id |
| detail_label | Renvoie l'étiquette localisée configurée pour les liens/boutons de la vue détaillée de la liste. |
| detail_url | Renvoie le chemin d'URL configuré pour les liens/boutons d'une vue détaillée de la liste. |
| empty_list_text | Renvoie le texte localisé configuré à afficher lorsque la vue de liste ne renvoie aucun résultat. |
| enable_entity_permissions | Renvoie «true» si le filtrage des autorisations de table est activé pour cette liste. Renvoie «false» dans le cas contraire. |
| entity_logical_name | Renvoie le nom logique de la table Dataverse pour les enregistrements à afficher dans cette liste. Par exemple, «contact». |
| filter_account_attribute_name | Renvoie le nom logique de l'attribut pour la recherche de compte, utilisé pour filtrer les enregistrements de résultats selon le compte parent de l'utilisateur actuel du portail. Par exemple : accountid |
| filter_apply_label | Renvoie l'étiquette localisée configurée à utiliser pour le lien/bouton appliquant un filtre d'attribut avancé aux résultats de la liste. |
| filter_definition | Renvoie la définition du filtre d'attribut JSON pour la liste. |
| filter_enabled | Renvoie «true» si le filtrage d'attributs avancé est activé pour la liste. Renvoie «false» dans le cas contraire. |
| filter_portal_user_attribute_name | Renvoie le nom logique de l'attribut de recherche de contact utilisé pour filtrer les enregistrements de résultats selon le contact de l'utilisateur actuel du portail. Par exemple, contactid. |
| filter_website_attribute_name | Renvoie le nom logique de l'attribut pour la recherche sur adx_website, utilisé pour filtrer les enregistrements de résultats selon le site web du portail actuel. Par exemple, adx_websiteid. |
| language_code | Renvoie le code de langue entier Dataverse étant utilisé pour sélectionner toutes les étiquettes localisées pour cette liste. |
| page_size | Renvoie la taille de la page de résultats configurée pour la liste. |
| primary_key_name | Renvoie le nom logique de l'attribut de clé primaire pour les enregistrements à afficher par cette liste. |
| search_enabled | Renvoie «true» si la recherche est activée pour cette liste. Renvoie «false» dans le cas contraire. |
| search_placeholder | Renvoie le texte localisé configuré pour l'espace réservé au champ de recherche de liste. |
| search_tooltip | Renvoie le texte localisé configuré pour l'info-bulle de recherche de liste. |
| views | Renvoie les vues disponibles pour la liste, sous forme d'objets de vue de liste. |
| [nom logique de l'attribut] | Vous pouvez accéder à n'importe quel attribut de l'enregistrement Dataverse (adx_entitylist) par son nom logique, de la même manière qu'un objet de table. Par exemple : {{ entitylist.adx_name }} |
Attributs de la vue de liste
| Attribut | Description |
|---|---|
| columns | Renvoie les colonnes de la vue sous forme d'objets de colonne de vue de liste. |
| entity_logical_name | Renvoie le nom logique de la table Dataverse pour les enregistrements inclus dans la vue. Par exemple, «contact». |
| Id | Renvoie l'ID GUID de la vue. |
| language_code | Renvoie le code de langue entier Dataverse utilisé pour sélectionner toutes les étiquettes localisées (en-têtes de colonne,...) pour la vue. |
| Name | Renvoie le nom d'affichage Dataverse de la vue. |
| primary_key_logical_name | Renvoie le nom logique de la clef primaire de la table Dataverse pour les enregistrements inclus dans la vue. Par exemple, contactid |
| sort_expression | Renvoie l'expression de tri par défaut pour la vue. Par exemple, nom ASC, createdon DESC |
Attributs de colonne de la vue de liste
| Attribut | Description |
|---|---|
| attribute_type | Renvoie le nom du type d'attribut Dataverse de la colonne, sous forme de chaîne. Par exemple : Lookup, Picklist, String, Boolean, DateTime. |
| logical_name | Renvoie le nom logique de l'attribut Dataverse de la colonne. Par exemple, createdon. |
| Name | Renvoie le nom d'affichage Dataverse localisé de la colonne. Par exemple : Created On. |
| sort_ascending | Renvoie une chaîne d'expression de tri pour trier la colonne par ordre croissant. Par exemple, createdon ASC |
| sort_descending | Renvoie une chaîne d'expression de tri pour trier la colonne par ordre décroissant. Par exemple, createdon DESC |
| sort_disabled | Renvoie vrai si le tri est désactivé pour la colonne. Renvoie faux dans le cas contraire. |
| sort_enabled | Renvoie «true» si le tri est activé pour la colonne. Renvoie «false» dans le cas contraire. |
| width | Renvoie la largeur configurée pour la colonne, en pixels. |
entityview
L'objet entityview est utilisé dans la balise entityview et fournit un accès aux métadonnées de la vue, en plus des enregistrements de résultats de la vue.
Attributs
| Attribut | Description |
|---|---|
| columns | Renvoie les colonnes de la vue, sous forme d'objets de colonne de vue de table. |
| entity_permission_denied | Renvoie «true» si l'accès aux résultats a été refusé en raison de permissions de table insuffisantes pour l'utilisateur actuel. Renvoie «false» si l'accès en lecture aux résultats a été accordé. |
| entity_logical_name | Nom logique de la table Dataverse des enregistrements de résultats de la vue. Par exemple, «contact» |
| first_page | Numéro de page de la première page de résultats. La valeur est 1, sauf si aucun résultat n'a été renvoyé ; dans ce cas, la valeur est nulle. |
| Id | L'ID GUID de la vue Dataverse définissant cette vue d'entité. |
| language_code | Le code de langue entier Dataverse utilisé pour charger les étiquettes localisées pour la vue actuelle. |
| last_page | Numéro de page de la dernière page de résultats. Si aucun résultat n'est renvoyé, cette valeur est nulle. |
| name | Le nom de la vue Dataverse définissant cette vue d'entité, par exemple, Contacts actifs. |
| next_page | Numéro de page de la page suivante des résultats. S'il n'y a pas de page suivante, cette valeur est nulle. |
| Page | Le numéro de page de la page actuelle des résultats de la vue. |
| pages | Renvoie un tableau de numéros de page contenant toutes les pages de résultats pour la vue actuelle. |
| page_size | Le nombre de résultats renvoyés par page pour la vue actuelle. |
| previous_page | Numéro de page de la page suivante des résultats. S'il n'y a pas de page précédente, cette valeur est nulle. |
| primary_key_logical_name | Nom logique Dataverse de l'attribut de clef primaire de la table de résultats pour cette vue. Par exemple, contactid. |
| records | La page actuelle des enregistrements de résultats pour la vue, sous forme d'objets de table. |
| sort_expression | Expression de tri par défaut pour la vue. Par exemple : nameASC, createdon DESC. |
| total_pages | Le nombre total de pages de résultats pour la vue. |
| total_records | Le nombre total de résultats pour la vue (sur toutes les pages). |
events
Permet de récupérer et d'afficher les événements. L'objet «events» permet de sélectionner un événement spécifique ou tous les événements.
Objet events
L'objet événements vous permet d'accéder à tout événement spécifique du portail, ou à tous les événements du portail (quel qu'il soit).
L'objet événements possède les attributs suivants :
| Attribut | Description |
|---|---|
| occurrences | Renvoie un objet eventoccurancess contenant toutes les occurrences d'événements dans le portail |
| [nom ou identifiant de l'événement] | Vous pouvez accéder à n'importe quel événement par ses propriétés Nom ou ID :
|
Objet event
L'objet événement vous permet de travailler sur un événement unique et d'accéder à ses plannings et occurrences.
L'objet événement possède les attributs suivants :
| Attribut | Description |
|---|---|
| occurrences | Renvoie un objet eventoccurrences contenant toutes les occurrences de l'événement. |
| name | Le nom de l'événement. |
| url | L'URL de l'événement. |
Objet eventoccurences
L'objet eventoccurrences vous permet d'accéder à une collection d'objets d'occurrences d'événements. Vous pouvez ordonner les occurrences d'événements, spécifier une plage de dates pour la récupération et effectuer une pagination à l'aide de filtres liquides :
- {% assign occurances = event.occurrences.from[today].to[advance_date] %}
L'option suivante est également possible :
- {% assign occurances = event.occurrences.min[today].max[advance_date] %}
Les attributs suivants sont associés à l'objet eventoccurrences.
| Attribut | Description |
|---|---|
| All | Renvoie tous les objets eventoccurance de la collection. |
Objet eventoccurence
Représente une occurrence d'événement unique. Les attributs associés sont les suivants :
| Attribut | Description |
|---|---|
| url | L'URL de l'occurrence. |
| is_all_day_event | Est-ce un événement durant toute la journée ? |
| start_time | L'heure de début de l'événement. |
| end_time | L'heure de fin de l'événement. |
forloop
Contient des propriétés utiles dans une boucle for.
Remarque : La boucle for ne peut être utilisée que dans une balise for.
Code
Sortie
C'est la première page enfant !Ceci est la page enfant numéro 2.
Ceci est la page enfant numéro 3.
Attributs
| Attribut | Description |
|---|---|
| first | Renvoie vrai s'il s'agit de la première itération de la boucle. Renvoie faux s'il ne s'agit pas de la première itération. |
| index | La position actuelle de l'élément dans la collection, où le premier élément a une position de 1. |
| index0 | La position actuelle de l'élément dans la collection, où le premier élément a une position de 0. |
| Last | Renvoie vrai s'il s'agit de la dernière itération de la boucle. Renvoie faux s'il ne s'agit pas de la dernière itération. |
| length | Renvoie le nombre d'itérations de la boucle, le nombre d'éléments de la collection sur lesquels l'itération est effectuée. |
| rindex | Nombre d'éléments restants dans la boucle (longueur - index) où 1 est l'index du dernier élément. |
| rindex0 | Nombre d'éléments restants dans la boucle (longueur - index) où 0 est l'index du dernier élément. |
forums
Permet la récupération et l'affichage des forums et des fils de discussion. L'utilisation de Liquid pour afficher les données des forums s'étend aux publications. Cependant, pour créer une publication ou une discussion, vous devez utiliser un modèle de page ASP.NET à formulaires multi-étapes intégrant cette fonctionnalité (comme les modèles de page par défaut pour les fils de discussion et les messages de forum).
L'objet forums vous permet de sélectionner un forum ou des fils de discussion :
- <div class=content-panel panel panel-default>
-
- <div class=panel-heading>
-
- <h4>
-
- <span class=fa fa-comments aria-hidden=true></span>
-
- {{ snippets[Home Forum Activity Heading] | default: Forum Activity | h }}
-
- </h4>
-
- </div>
-
- {% for forum in website.forums %}
-
- <ul class=list-group>
-
- <li class=list-group-item>
-
- <div class=row>
-
- <div class=col-sm-6>
-
- <h4 class=list-group-item-heading><a href="{{ forum.url | h }}"> {{ forum.name | h }}</a></h4>
-
- <div class=list-group-item-text content-metadata>{{ forum.adx_description | h }}</div>
-
- </div>
-
- <div class=col-sm-3 content-metadata>{{ forum.thread_count }} threads</div>
-
- <div class=col-sm-3 content-metadata>{{ forum.post_count }} posts</div>
-
- </div>
-
- </li>
-
- </ul>
-
- {% endfor %}
-
- </div>
Objet forums
L'objet forums vous permet d'accéder à n'importe quel forum du portail, ou à tous ses fils de discussion (quel que soit le forum).
L'objet forum vous permet de travailler avec un seul forum et d'accéder à ses fils de discussion.
L'objet forumthreads vous permet d'accéder à un ensemble d'objets forumthread. Vous pouvez classer les fils de discussion et les paginer à l'aide de filtres fluides.
- {% assign threads = forum.threads | order_by adx_name, desc | paginate: 0,4 | all %}
Un seul fil de discussion
L'objet forumposts vous permet d'accéder à une collection d'objets forumpost.
Attributs
| Attribut | Description |
|---|---|
| threads | Renvoie un objet forumthreads contenant tous les objets forumthread du portail. |
| All | Renvoie tous les objets du forum du portail. Notez que website.forums est également équivalent. |
| thread_count | Renvoie la valeur entière du nombre de processus légers présents sur l'ensemble du site Web. |
| post_count | Renvoie la valeur entière du nombre total de publications dans le portail. |
| [nom ou identifiant du forum] | Vous pouvez accéder à n'importe quel forum par ses propriétés Name ou ID :
|
Objet forum
| Attribut | Description |
|---|---|
| threads | Renvoie un objet forumthreads contenant tous les fils de discussion du forum. |
| Name | Le nom du forum. |
| thread_count | Renvoie la valeur entière du nombre de processus légers présents dans le forum. |
| post_count | Renvoie la valeur entière du nombre de messages présents dans l'ensemble du forum. |
Attributs
| Attribut | Description |
|---|---|
| All | Renvoie tous les objets forumthread de la collection. |
Objet forumthread
| Attribut | Description |
|---|---|
| posts | Renvoie un objet forumposts contenant tous les messages du forum pour le fil de discussion. |
| author | Renvoie l'auteur du processus léger (étant simplement un objet de table de contact). |
| latest_post | Renvoie le dernier message du fil. |
| first_post | Renvoie le premier message du fil. |
| post_count | Renvoie la valeur entière du nombre de messages présents dans le fil de discussion. |
| is_answered | Le fil est-il répondu ou non ? |
| is_sticky | Le fil est-il un fil collant ? |
Objet forumposts
Attributs
| Attribut | Description |
|---|---|
| All | Renvoie tous les objets forumthread de la collection. |
Un seul message sur un forum
Attributs
| Attribut | Description |
|---|---|
| author | Renvoie l'auteur de la publication (étant simplement un objet de table de contact). |
| content | Le contenu du post d'article. |
| is_answer | Ce message est-il une réponse au fil de discussion ? |
knowledge
Fournit un accès aux enregistrements des articles et des tables de catégories de Dataverse Knowledge pour afficher les articles et les catégories dans un portail.
Attributs
| Attribut | Description |
|---|---|
| articles | Renvoie un objet articles contenant des objets article pour les enregistrements de table knowledgearticle disponibles dans le portail. |
| categories | Renvoie un objet de catégories contenant des objets de catégorie pour les enregistrements de table de catégories disponibles dans le portail. |
Objet Articles
L'objet Articles vous permet d'accéder à une collection d'objets Articles. Vous pouvez classer les articles et les paginer à l'aide de filtres liquides :
- {% assign count = count | default: 3 %}
- {% assign languagecode = website.selected_language.code %}
- {% assign popular_articles = knowledge.articles | popular: count,languagecode %}
- {% if popular_articles %}
- <div class=list-group>
- {% for article in popular_articles %}
- <div class=list-group-item clearfix>
- <a class=title href={{ article.url | escape }}>{{ article.title | escape }}</a>
- <p class=description>{{ article.description | escape }}</p>
- </div>
- {% endfor %}
- </div>
- {% endif %}
Attributs
| Attribut | Description |
|---|---|
| popular | Renvoie une collection d'objets articles contenant le plus de vues. {% assign popular_articles = knowledge.articles.popular %} |
| recent | Renvoie une collection d'objets d'article contenant la date de dernière modification. {% assign recent_articles = knowledge.articles.recent %} |
| top | Renvoie une collection d'objets d'article contenant la note la plus élevée. {% assign top_articles = knowledge.articles.top %} |
Filtres
Les filtres suivants acceptent des paramètres facultatifs pour la taille de page et la langue. Le premier paramètre correspond au nombre d'enregistrements à récupérer. La taille de page par défaut est de 5. Le second paramètre correspond au code de la langue pour récupérer les articles dans une langue donnée. Les filtres peuvent être combinés avec d'autres filtres Liquid.
- {% assign page_size = 5 %}
- {% assign language_code = website.selected_language.code %}
- {% assign recent_articles = knowledge.articles | recent: page_size, language_code %}
| Attribut | Description |
|---|---|
| popular | Renvoie une collection d'objets articles contenant le plus de vues. {% assign popular_articles = knowledge.articles \| popular: 10, en-US %} |
| recent | Renvoie une collection d'objets d'article contenant la date de dernière modification. {% assign recent_articles = knowledge.articles \| recent: 5 %} |
| top | Renvoie une collection d'objets d'article contenant la note la plus élevée. {% assign top_articles = knowledge.articles \| top: 3, en-US %} |
Objet categories
L'objet categories vous permet d'accéder à une collection d'objets de catégories. Vous pouvez ordonner les catégories et les paginer à l'aide de filtres liquides :
- {% assign category_url = sitemarkers['Category'].url %}
- {% assign count = count | default: 0 %}
- {% assign categories = knowledge.categories | top_level: count %}
- {% if categories %}
- <div class=list-group unstyled>
- {% for category in categories %}
- <a href={{ category_url | add_query: 'id', category.categorynumber }} class=list-group-item>
- {{ category.title }}
- </a>
- {% endfor %}
- </div>
- {% endif %}
Attributs
| Attribut | Description |
|---|---|
| recent | Renvoie une collection d'objets de catégorie contenant la dernière date de modification. |
| top_level | Renvoie une collection d'objets de catégorie qui n'ont pas de catégorie parent. |
Filters
Les filtres suivants acceptent un paramètre optionnel indiquant la taille de la page. La taille par défaut est de 5. Les filtres peuvent être combinés avec d'autres filtres Liquid.
- {% assign page_size = 5 %}
- {% assign recent_categories = knowledge.categories | recent: page_size %}
| Attribut | Description |
|---|---|
| recent | Renvoie une collection d'objets de catégorie contenant la date de dernière modification. Vous pouvez fournir les paramètres suivants : {% assign recent_categories = knowledge.categories \| recent: 10 %} |
| top_level | Renvoie une collection d'objets de catégorie sans catégorie parent. {% assign root_categories = knowledge.categories \| top_level %} |
Objet article
L'objet article vous permet d'utiliser un seul article de connaissance pour afficher ses détails sur le portail.
Attributs
Article est un objet entité possédant tous les mêmes attributs, auxquels s'ajoutent les attributs suivants :
| Attribut | Description |
|---|---|
| article_public_number | Le numéro public de l'article. |
| comment_count | La valeur entière du nombre de commentaires pour un article donné. |
| content | Le contenu de l'article. |
| current_user_can_comment | Renvoie une valeur booléenne indiquant si l'utilisateur actuel peut ajouter des commentaires sur l'article. |
| is_rating_enabled | Renvoie une valeur booléenne indiquant si l'évaluation d'un article est activée. |
| keywords | Les mots-clefs de l'article. |
| name | Un alias alternatif pour le titre de l'article. |
| rating | La valeur de notation décimale sur l'article. |
| title | Le titre de l'article. |
| view_count | La valeur entière du nombre de fois où l'article a été consulté. |
Objet categorie
L'objet Catégorie vous permet de travailler avec une seule catégorie pour afficher ses détails dans le portail.
Attributs
Catégorie est un objet entité possédant tous les mêmes attributs, auxquels s'ajoutent les attributs suivants :
| Attribut | Description |
|---|---|
| categorynumber | Le numéro de catégorie de la catégorie. |
| name | Un alias alternatif pour le titre de la catégorie. |
| title | Le titre de la catégorie. |
language
Fournit le nom de la langue actuelle et le code de langue si la prise en charge multilingue est activée.
Attributs
| Attribut | Description |
|---|---|
| url | L'URL de la demande actuelle préfixée par le code de langue actuel. |
| url_substitution | L'URL de la demande actuelle préfixée par le code de langue actuel contournant le cache de sortie de la page. |
| name | Titre de la langue actuelle. |
| code | Le code de langage de la langage. |
Par exemple, le modèle Web Liste déroulante des langues utilise par défaut cet objet liquide pour répertorier les langues disponibles lorsque plusieurs langues sont disponibles.
log
Les créateurs peuvent intégrer des instructions de journalisation à leur code Liquid. Lorsque le site Power Pages est en cours d'exécution, les journaux ajoutés par un créateur dans le code Liquid sont affichés dans l'extension de l'outil de développement Power Pages. Ces journaux, intégrés par le créateur, sont affichés dans l'extension de l'outil de développement lorsque le paramètre de diagnostic est activé.
La syntaxe suivante peut être utilisée dans le code Liquid pour consigner des messages personnalisés :
- {% log message:'Custom message' level:'Warning' %}
Attributs Log
| Attribut | Description |
|---|---|
| log | Nom de l'objet Liquid |
| message | Une chaîne représentant tous les messages personnalisés à enregistrer |
| level | Enregistrez le message comme information, avertissement ou erreur |
Exemple :
- {% log message: 'Connectez-vous depuis la page d'accueil' %}
-
- {% fetchxml query %}
- <fetch version="1.0" mapping="logical" >
- <entity name="contact">
- <attribute name="fullname"/>
- <attribute name="emailaddress1"/>
- </entity>
- </fetch>
- {% endfetchxml %}
-
- {% assign contacts = query.results.entities %}
-
- {% for contact in contacts %}
- <div> Contact name: {{contact.fullname}} </div><br/>
- {% capture msgg %}
- Le courriel de contact est {{contact.emailaddress1}} pour nom {{contact.fullname}}
- {% endcapture %}
- {% message de journal : msgg %}
- {% endfor %}
page
Fait référence à la page de requête actuelle du portail. Cet objet combine les attributs du plan du site et les entités de requête actuelles (généralement une page web).
L'objet page donne accès à des éléments tels que le fil d'Ariane de la page actuelle, son titre ou son URL, ainsi qu'à tout autre attribut ou entité associé de l'enregistrement Dataverse sous-jacent.
- <ul class=breadcrumb>
-
- {% for crumb in page.breadcrumbs %}
-
- <li><a href={{ crumb.url | escape }}>{{ crumb.title | escape }}</a></li>
-
- {% endfor %}
-
- <li class=active>{{ page.title | escape }}</li>
-
- </ul>
-
- <div class=page-header>
-
- <h1>{{ page.title | escape }}</h1>
-
- </div>
-
- <div class=page-copy>
-
- {{ page.adx_copy }}
-
- </div>
-
- <div class=list-group>
-
- {% for child in page.children %}
-
- <a class=list-group-item href={{ child.url | escape }}>
-
- {{ child.title | escape }}
-
- </a>
-
- {% endfor %}
-
- </div>
-
- <!-- Page {{ page.id }} a été modifié pour la dernière fois le {{ page.modifiedon }}. -->
Attributs de page
| Attribut | Description |
|---|---|
| breadcrumbs | Renvoie les objets de noeud de plan de site de fil d'Ariane pour la page, en commençant par le noud racine du plan de site et en terminant au parent. |
| children | Renvoie les objets de noud de plan de site enfant de la page. |
| parent | Renvoie le noeud parent du plan de site de la page. Si la page est la page d'accueil, parent est nul. |
| title | Le titre de la page. |
| url | L'URL de la page. |
| [nom de l'attribut ou de la relation] | Vous pouvez accéder à n'importe quel attribut de l'enregistrement Dataverse sous-jacent de la page par son nom logique :
Les valeurs de la plupart des attributs de table correspondent directement aux types Liquid : deux champs d'option correspondent aux booléens, les champs de texte aux chaînes, les champs numériques/devises aux nombres, et les champs date/heure aux objets date. Cependant, certains types d'attributs sont renvoyés sous forme d'objets :
|
polls
Permet de récupérer et d'afficher un sondage.
L'objet «polls» vous permet de sélectionner un sondage spécifique ou son emplacement :
- <div>
-
- {% assign poll = polls[Poll Name] %}
-
- <h4>{{ poll.question }}</h4>
-
- {% for option in poll.options %}
-
- <div>
-
- <input type=radio name={{ poll.name }} id={{ option.id }} />
-
- <label for={{ option.id }}>{{ option.answer }}</label>
-
- </div>
-
- {% endfor %}
-
- <button type=button>{{ poll.submit_button_label }}</button>
-
- </div>
Attributs des sondages
| Attribut | Description |
|---|---|
| placements | Renvoie l'objet pollplacements. |
| [nom ou identifiant du sondage] | Vous pouvez accéder à n'importe quel sondage par ses propriétés Name ou ID :
|
Attributs des emplacements de sondage
| Attribut | Description |
|---|---|
| [Nom ou identifiant du sondage] | Vous pouvez accéder à n'importe quel sondage grâce à son nom ou son identifiant :
|
Attributs de placement du sondage
| Attribut | Description |
|---|---|
| Name | Renvoie le champ Nom pour le placement du sondage. |
| placement_url | L'URL qui peut être utilisée pour récupérer l'emplacement du sondage entièrement rendu par un modèle. |
| polls | Renvoie la collection d'objets de sondage associés à l'emplacement. Les balises d'itération et les filtres de tableau peuvent être utilisés avec cette collection. |
| random_url | L'URL pouvant être utilisée pour récupérer un sondage aléatoire à partir du placement entièrement rendu par un modèle. |
| submit_url | L'URL à laquelle un sondage terminé est soumis. |
Attributs du sondage
| Attribut | Description |
|---|---|
| has_user_voted | Renvoie vrai si l'utilisateur actuel (connecté ou anonyme) a déjà voté dans ce sondage. |
| Name | Renvoie le champ Name du sondage. |
| options | Renvoie la collection d'objets d'option de sondage associés au sondage. Des balises et entités d'itération peuvent être utilisées avec cette collection. |
| poll_url | L'URL pouvant être utilisée pour récupérer le sondage entièrement rendu par un modèle. |
| question | Renvoie le champ Question pour le sondage. |
| submit_button_label | Renvoie une chaîne qui peut être utilisée pour remplacer l'étiquette du bouton d'envoi du sondage. |
| submit_url | L'URL à laquelle un sondage terminé est soumis. |
| user_selected_option | Renvoie l'objet polloption sélectionné par l'utilisateur (s'il a déjà voté). |
| votes | Renvoie le nombre de votes comptabilisés pour le sondage. |
Attributs des options de sondage
| Attribut | Description |
|---|---|
| answer | Renvoie le champ Réponse pour le sondage. |
| percentage | Renvoie le pourcentage de votes dans le sondage pour l'option sous forme de nombre décimal compris entre 0 et 100. |
| votes | Renvoie le nombre de votes comptabilisés pour l'option. |
request
Contient des informations sur la requête HTTP en cours.
Remarque
- Vous pouvez créer des URL dynamiquement dans Liquid grâce aux filtres d'URL.
- L'URL utilisée dans request.url peut correspondre à n'importe quelle valeur demandée et est mise en cache pour les requêtes suivantes. Pour garantir l'exactitude de la valeur dans request.url, pensez à utiliser une balise de substitution, une URL partielle telle que ~{WebFile path} ou à enregistrer l'URL du portail dans les paramètres du site.
- La version 9.3.8.x ou ultérieure de Power Pages applique par défaut un filtre d'échappement Liquid aux objets Liquid utilisateur et requête. Pour désactiver cette configuration par défaut et autoriser ces objets Liquid sans filtre d'échappement Liquid, consultez les paramètres du site portail - Site/EnableDefaultHtmlEncoding.
Attributs
| Attribut | Description |
|---|---|
| params | Valeurs de paramètres nommées pour la demande actuelle. params est une combinaison de paramètres de chaîne de requête URL, de paramètres de publication de formulaire et de cookies. |
| Path | Le chemin de l'URL de la requête actuelle. /profile/ |
| path_and_query | Le chemin et la requête de l'URL de la demande actuelle. /profile/?foo=1&bar=something |
| query | La partie requête de l'URL de la demande actuelle. ?foo=1&bar=something |
| url | L'URL complète de la demande en cours. https://www.example.com/profile/?foo=1&bar=something |
searchindex
L'objet searchindex est utilisé dans les balises de table Dataverse et permet d'accéder aux résultats d'une requête.
- {% searchindex query: 'support', page: params.page, page_size: 10 %}
-
- {% if searchindex.results.size > 0 %}
-
- <p>Trouvé à propos de {{ searchindex.approximate_total_hits }} correspondances :</p>
-
- <ul>
-
- {% for result in searchindex.results %}
-
- <li>
-
- <h3><a href={{ result.url | escape }}>{{ result.title | escape }}</a></h3>
-
- <p>{{ result.fragment }}</p>
-
- </li>
-
- {% endfor %}
-
- </ul>
-
- {% else %}
-
- <p>Votre requête n'a donné aucun résultat.</p>
-
- {% endif %}
-
- {% endsearchindex %}
Attributs
| Attribut | Description |
|---|---|
| approximate_total_hits | Renvoie un nombre approximatif de résultats correspondant à la requête d'index. En raison du fonctionnement de l'index de recherche (filtrage de sécurité et autres facteurs de conception), ce nombre n'est qu'une approximation et peut, dans certains cas, ne pas correspondre exactement au nombre total de résultats disponibles pour l'utilisateur actuel. |
| Page | Renvoie le numéro de page de la requête en cours. |
| page_size | Renvoie la taille de page maximale de la requête actuelle. Pour connaître le nombre réel de résultats renvoyés pour la page actuelle (car il peut être inférieur à la taille maximale spécifiée), utilisez results.size. |
| results | Renvoie la page de résultats de la requête, sous forme d'objets de résultats d'index de recherche. |
Résultats de l'index de recherche
| Attribut | Description |
|---|---|
| entity | Les entités sous-jacentes au résultat. |
| fragment | Un court fragment de texte pertinent pour le résultat, avec les termes correspondant à la requête spécifiée mis en évidence à l'aide de la balise HTML <em>. Certains types de requêtes, comme les requêtes floues (~) et les requêtes génériques (*), ne prennent pas en charge les fragments mis en évidence. Dans ces cas, cette propriété est nulle. |
| Id | ID de la table Dataverse de l'enregistrement sous-jacent du résultat, sous forme de chaîne. Par exemple : 936DA01F-9ABD-4d9d-80C7-02AF85C822A8 |
| logical_name | Nom logique de la table Dataverse de l'enregistrement sous-jacent du résultat. Par exemple : adx_webpage |
| number | Le numéro du résultat, sur toutes les pages de résultats, à partir de 1. Par exemple, pour le premier résultat de la deuxième page de résultats, avec une taille de page de 10, cette valeur est 11. |
| score | Score Lucene du résultat, sous forme de valeur à virgule flottante. Les résultats sont renvoyés selon cette valeur. |
| title | Le titre du résultat. |
| url | L'URL du résultat. Il s'agit généralement, mais pas nécessairement, du chemin absolu de l'application en cours, plutôt que de l'URL complète. Par exemple : /articles/article1/ |
settings
Permet de charger n'importe quel paramètre de site par son nom. Si aucun paramètre portant le nom donné n'est trouvé, la valeur null sera renvoyée.
Remarque : Les paramètres sont renvoyés sous forme de chaînes, mais vous pouvez utiliser des filtres de type pour les convertir en d'autres types.
- {{ settings[My Setting] }}
-
- {% assign search_enabled = settings[Search/Enabled] | boolean %}
-
- {% if search_enabled %}
-
- La recherche est activée.
-
- {% endif %}
-
- {% assign pagesize = settings['page size'] | integer | default: 10 %}
-
- {% if pagesize > 10 %}
-
- La taille de la page est supérieure à 10.
-
- {% endif %}
Remarque : Afficher l'entête du site web et la barre de navigation principale.
sitemap
Permet d'accéder au plan du site du portail.
- <h1>{{ sitemap.root.title }}</h1>
-
- <ul class=breadcrumb>
-
- {% for crumb in sitemap.current.breadcrumbs %}
-
- <li><a href={{ crumb.title }}>{{ crumb.title }}</a></li>
-
- {% endfor %}
-
- <li class=active>{{ sitemap.current.title }}</li>
-
- </ul>
-
- {% for child in sitemap.current.children %}
-
- <a href={{ child.url }}>{{ child.title }}</a>
-
- {% endfor %}
-
- Il est également possible de charger un noeud de plan de site par chemin URL :
-
- {% assign node = sitemap[/content/page1/] %}
-
- {% if node %}
-
- {% for child in node.children %}
-
- <a href={{ child.url }}>{{ child.title }}</a>
-
- {% endfor %}
-
- {% endif %}
Attributs du plan du site
| Attribut | Description |
|---|---|
| Current | Renvoie l'objet noeud du plan du site pour la page actuelle. |
| Root | Renvoie l'objet noeud du plan du site pour la page racine (accueil) du site Web. |
Attributs du noeud du plan du site
| Attribut | Description |
|---|---|
| Breadcrumbs | Renvoie les objets de noeud de plan de site de fil d'Ariane pour le noeud, en commençant par le noud racine du plan de site et en terminant au parent. |
| Children | Renvoie les objets de noeud de plan de site enfant du noeud. |
| Description | Description/résumé du noeud. (Ce champ peut contenir du code HTML.) |
| Entity | Renvoie les entités sous-jacentes du noeud. Si le noud n'a pas de table sous-jacente, cette valeur est nulle. |
| is_sitemap_ancestor | Renvoie vrai si le noud du plan de site est un ancêtre du noud actuel, sinon faux. |
| is_sitemap_current | Renvoie vrai si le noeud du plan de site est le noeud actuel, sinon faux. |
| Parent | Renvoie le noeud parent du plan de site. Si le noud est le noud racine, parent est nul. |
| Title | Le titre du noeud. |
| url | L'URL du noeud. |
sitemarkers
Permet de charger n'importe quel marqueur de site par son nom. Si le marqueur de site existe, un objet Sitemarker est renvoyé. Si aucun marqueur de site portant le nom donné n'est trouvé, la valeur null est renvoyée.
Remarque : Affichage de l'entête et de la barre de navigation principale d'un site web.
Attributs Sitemarker
| Attribut | Description |
|---|---|
| url | L'URL de la cible du sitemarker. |
| [nom logique de l'attribut] | Vous pouvez accéder à n'importe quel attribut de l'enregistrement Dataverse cible du marqueur de site par son nom logique. Par exemple : {{ sitemarker.adx_name }} |
snippets
Permet de charger n'importe quel extrait de contenu par nom. Si aucun extrait portant le nom donné n'est trouvé, la valeur null est renvoyée.
- {{ snippets[Header] }}
-
- {% assign footer = snippets[Footer] %}
-
- {% if footer %}
-
- {{ footer }}
-
- {% else %}
-
- Aucun extrait de pied de page n'a été trouvé.
-
- {% endif %}
tablerowloop
Contient des propriétés utiles dans un bloc de boucle de balises d'itération.
Remarque : tablerowloop ne peut être utilisé qu'avec une balise de balises d'itération.
Attributs
| Attribut | Description |
|---|---|
| Col | Renvoie l'index de la ligne actuelle, en commençant à 1. |
| col0 | Renvoie l'index de la ligne actuelle, en commençant à 0. |
| col_first | Renvoie vrai si la colonne actuelle est la première colonne d'une ligne, renvoie faux si ce n'est pas le cas. |
| col_last | Renvoie vrai si la colonne actuelle est la dernière colonne d'une ligne, renvoie faux si ce n'est pas le cas. |
| First | Renvoie vrai s'il s'agit de la première itération de la boucle. Renvoie faux s'il ne s'agit pas de la première itération. |
| Index | La position actuelle de l'élément dans la collection, où le premier élément a une position de 1. |
| index0 | La position actuelle de l'élément dans la collection, où le premier élément a une position de 0. |
| Last | Renvoie vrai s'il s'agit de la dernière itération de la boucle. Renvoie faux s'il ne s'agit pas de la dernière itération. |
| Length | Renvoie le nombre d'itérations de la boucle, le nombre d'éléments de la collection sur lesquels l'itération est effectuée. |
| Rindex | Nombre d'éléments restants dans la boucle (longueur - index) où 1 est l'index du dernier élément. |
| rindex0 | Nombre d'éléments restants dans la boucle (longueur - index) où 0 est l'index du dernier élément. |
User
Désigne l'utilisateur actuel du portail et lui permet d'accéder à tous les attributs de l'enregistrement de contact Dataverse sous-jacent. Si aucun utilisateur n'est connecté, cette variable est nulle.
L'utilisateur est un objet entité.
- {% if user %}
-
- Bonjour, {{ user.fullname | escape }}!
-
- {% else %}
-
- Bonjour, utilisateur anonyme !
-
- {% endif %}
Remarque
La version 9.3.8.x ou ultérieure de Power Pages applique par défaut le filtre Liquid d'échappement aux objets Liquid utilisateur et requête. Pour désactiver cette configuration par défaut et autoriser ces objets Liquid sans filtre Liquid d'échappement, consultez les paramètres du site portail - Site/EnableDefaultHtmlEncoding.
Attributs
Outre tous les attributs d'un objet entité, l'utilisateur possède les attributs suivants :
| Attribut | Description |
|---|---|
| roles | Renvoie les rôles auxquels appartient l'utilisateur, sous forme de tableau. {% if user.roles contains 'Administrators' %} L'utilisateur est administrateur. {% endif %} Remarque : Vous pouvez également utiliser le filtre has_role pour tester les appartenances à des rôles individuels. |
| basic_badges_url | Renvoie l'URL du service permettant de récupérer les badges d'un utilisateur. Pour afficher les badges d'un utilisateur, vous devez inclure une balise avec les attributs « data-badge » et « data-uri ». Pour afficher les badges de l'utilisateur actuel :
Pour afficher les badges d'un utilisateur par identifiant (variable userid) :
|
weblinks
Permet de charger n'importe quel lien web par nom ou identifiant.
Si l'ensemble de liens web existe, un objet correspondant est renvoyé. Si aucun ensemble de liens web portant le nom ou l'identifiant donné n'est trouvé, la valeur null est renvoyée.
- <!-- Charger l'ensemble de liens web par identifiant -->
-
- {{ weblinks[page.adx_navigation.id].name }}
-
- <!-- Charger l'ensemble de liens Web par nom -->
-
- {% assign nav = weblinks[Primary Navigation] %}
-
- {% if nav %}
-
- <h1>{{ nav.title | escape }}</h1>
-
- <ul>
-
- {% for link in nav.weblinks %}
-
- <li>
-
- <a href={{ link.url | escape }} title={{ link.tooltip | escape }}>
-
- {% if link.image %}
-
- <img src={{ link.image.url | escape }} alt={{ link.image.alternate_text | escape }} />
-
- {% endif %}
-
- {{ link.name | escape }}
-
- </a>
-
- </li>
-
- {% endfor %}
-
- </ul>
-
- {% endif %}
Attributs d'un ensemble de liens web
Un ensemble de liens web est un objet entité possédant tous les mêmes attributs, ainsi que les attributs suivants :
| Attribut | Description |
|---|---|
| Copy | La copie HTML de l'ensemble de liens Web. |
| Name | Le nom de l'ensemble de liens Web. |
| Title | Le titre de l'ensemble de liens Web. |
| Weblinks | Le tableau d'objets de liens Web associés à l'ensemble de liens Web. |
| [nom logique de l'attribut] | Vous pouvez accéder à n'importe quel attribut de l'enregistrement Dataverse de l'ensemble de liens Web par son nom logique. Par exemple : {{ weblinkset.createdon }} |
Attributs des liens web
Remarque : Un lien web est un objet entité possédant tous les mêmes attributs, auxquels s'ajoutent les attributs suivants :
| Attribut | Description |
|---|---|
| Description | La description HTML du lien Web. |
| display_image_only | Attribut booléen indiquant si le lien Web doit être affiché sous forme d'image uniquement, sans texte de lien. |
| display_page_child_links | Attribut booléen indiquant si le lien Web doit afficher des liens vers les pages enfants du plan de site de la page liée, sous forme de sous-liens. |
| Image | Objet image du lien Web. Cet attribut est nul si aucune image n'est présente. |
| is_external | Attribut booléen indiquant si l'URL cible du lien Web renvoie vers un site externe (plutôt que vers une page de portail interne). |
| is_sitemap_ancestor | Renvoie vrai si l'URL du lien Web fait référence à un ancêtre du noud de plan de site actuel, sinon faux. |
| is_sitemap_current | Renvoie vrai si l'URL du lien Web fait référence au noeud du plan de site actuel, sinon faux. |
| Name | Le nom/titre du lien Web. |
| Nofollow | Attribut booléen indiquant si le lien Web doit être marqué comme rel=nofollow. |
| open_in_new_window | Attribut booléen indiquant si le lien Web doit être ouvert dans une nouvelle fenêtre/un nouvel onglet du navigateur lorsqu'il est sélectionné. |
| Tooltip | Texte d'info-bulle pour le lien Web. |
| url | L'URL du lien Web. |
| Weblinks | Le tableau des objets de lien Web enfants associés au lien Web. |
| [nom logique de l'attribut] | Vous pouvez accéder à n'importe quel attribut d'un enregistrement Dataverse par lien web par son nom logique. Par exemple :{{ weblink.createdon }} |
Attributs d'image de lien Web
| Attribut | Description |
|---|---|
| Height | Entier contenant la hauteur spécifiée de l'image. Si aucune valeur de hauteur n'est fournie, cet attribut est nul. |
| url | L'URL de l'image. |
| Width | Entier contenant la largeur spécifiée de l'image. Si aucune valeur de largeur n'est fournie, cet attribut est nul. |
website
Fait référence au site web du portail et permet d'accéder à tous les attributs de l'enregistrement Site web Dataverse (adx_website) du portail.
Remarque : Le site web est un objet entité, possédant tous les mêmes attributs :
- <!-- Charger l'ensemble de liens web par identifiant -->
-
- {{ weblinks[page.adx_navigation.id].name }}
-
- <!-- Charger l'ensemble de liens Web par nom -->
-
- {% assign nav = weblinks[Primary Navigation] %}
-
- {% if nav %}
-
- <h1>{{ nav.title | escape }}</h1>
-
- <ul>
-
- {% for link in nav.weblinks %}
-
- <li>
-
- <a href={{ link.url | escape }} title={{ link.tooltip | escape }}>
-
- {% if link.image %}
-
- <img src={{ link.image.url | escape }} alt={{ link.image.alternate_text | escape }} />
-
- {% endif %}
-
- {{ link.name | escape }}
-
- </a>
-
- </li>
-
- {% endfor %}
-
- </ul>
-
- {% endif %}
Sortie :
Community Portal (936DA01F-9ABD-4d9d-80C7-02AF85C822A8)Attributs
Le tableau suivant répertorie les attributs de cette balise qui peuvent être utilisés en remplacement des valeurs par défaut pour éviter la mise en cache.
| Par défaut | Substitut (évite la mise en cache) | Exemple |
|---|---|---|
| sign_in_url | sign_in_url_substitution | Défaut: website.sign_in_url: /en-US/SignIn?returnUrl=%2Fen-US%2F Substitution (évite la mise en cache) : website.sign_in_url_substitution: /en-US/SignIn?returnUrl=%2Fen-US%2Fsubstitute-page%2F (« substitute-page » dans cet exemple remplace l'URL mise en cache par défaut.) |
| sign_out_url | sign_out_url_substitution | Default: website.sign_out_url: /en-US/Account/Login/LogOff?returnUrl=%2Fen-US%2F Substitution (évite la mise en cache) : website.sign_out_url_substitution: /en-US/Account/Login/LogOff?returnUrl=%2Fen-US%2Fsubstitute-page%2F (« substitute-page » dans cet exemple remplace l'URL mise en cache par défaut.) |