Balises de gabarit
Les balises de gabarit contrôlent la sortie d'un gabarit de différentes manières et permettent la combinaison de plusieurs gabarits en une seule sortie.
fetchxml
Permet à l'utilisateur d'interroger des données depuis Microsoft Dataverse et d'afficher les résultats sur une page.
- {% fetchxml resultVariable %}
- <!-- Requête Fetchxml -->
- ...
- {% endfetchxml %}
Lorsque vous utilisez fetchxml pour interroger des données, veillez à ne pas utiliser de balises auto-fermantes. Par exemple, au lieu de <attribute name="title"/>, utilisez <attribute name="title"></attribute> avec la balise de fermeture explicite </attribute>.
Attribut Résultats
L'attribut Résultats de la variable fournie (comme «resultVariable» dans l'exemple précédent) contient les résultats de la requête FetchXML et quelques autres attributs :
| Attribut | Description |
|---|---|
| entities | Cet attribut contient le résultat de la requête fetchxml. Vous pouvez itérer le résultat et l'utiliser dans votre gabarit web :
|
| TableName | Obtient le nom logique de l'entité. |
| ExtensionData | Obtient la structure contenant des données supplémentaires. |
| MinActiveRowVersion | Obtient la valeur de version de ligne active la plus basse. |
| MoreRecords | Obtient s'il existe d'autres enregistrements disponibles. |
| PagingCookie | Obtient les informations de pagination actuelles. |
| TotalRecordCount | Obtient le nombre total d'enregistrements dans la collection. ReturnTotalRecordCount était true lorsque la requête a été exécutée. |
| TotalRecordCountLimitExceeded | Obtient si les résultats de la requête dépassent le nombre total d'enregistrements. |
Attribut XML
L'attribut XML de la variable fournie (par exemple, «resultVariable» dans l'exemple précédent) contient la requête résultante permettant d'obtenir des données de Microsoft Dataverse. Cet attribut est utile à des fins de débogage pour comprendre comment les autorisations de table sont appliquées à cette balise fetchxml.
Autres éléments et attributs pris en charge
La balise Liquid Fetchxml prend en charge les attributs et éléments enfants suivants.
| Élément/Élément enfant | Attributs | Élément enfant |
|---|---|---|
| fetch | mapping version count page paging-cookie utc-offset aggregate distinct min-active-row-version output-format returntotalrecordcount no-lock |
order entity |
| order | attribute alias descending |
|
| entity | name all-attributes no-attrs attribute |
order filter link-entity |
| filter | type hint isquickfindfields |
condition filter |
| link-entity | name from to alias link-type visible intersect all-attributes no-attrs attribute |
order filter link-entity |
| condition | column entityname attribute operator aggregate alias uiname uitype uihidden value |
value |
include
Inclut le contenu d'un gabarit dans un autre, par son nom. Dans Power Pages, la source de cet autre gabarit est généralement un gabarit web. Cet opérateur permet de réutiliser des fragments de gabarit communs à plusieurs endroits.
Lorsqu'un gabarit est inclus dans un autre, le gabarit inclus a accès à toutes les variables définies dans le gabarit parent.
- {% include 'My Template' %}
Il est également possible de transmettre un nombre illimité de paramètres nommés à la balise d'inclusion. Ces paramètres sont définis comme des variables dans le gabarit inclus.
- {% include 'My Template' a:x, b:y %}
block
Utilisé avec extends pour assurer l'héritage des gabarits.
extends
Utilisé avec la balise block, il assure l'héritage des gabarits. Cet opérateur permet à plusieurs gabarits d'utiliser une mise en page partagée, tout en remplaçant certaines zones de la mise en page parent.
Dans Power Pages, le nom du gabarit parent associé à la balise fait généralement référence au nom d'un gabarit web.
Lorsque extends est utilisé, il doit être le premier contenu du gabarit et ne peut être suivi que d'une ou plusieurs balises block.
Si un bloc défini dans le gabarit parent n'est pas remplacé, son contenu dans le gabarit parent (le cas échéant) est affiché.
comment
Permet de laisser du code non rendu dans un gabarit Liquid. Le contenu du bloc n'est pas rendu et le code Liquid qu'il contient n'est pas exécuté.
Code :
- Bonjour{% comment %}, {{ user.fullname }}{% endcomment %}. Mon nom est Charles.
Sortie :
Bonjour. Mon nom est Charles.raw
Cette fonctionnalité vous permet d'afficher du code Liquid sur une page sans l'analyser ni l'exécuter.
Sortie :
- Bonjour, {{ user.fullname }}. Mon nom est Charles.
substitution
Lorsque vous activez la mise en cache de l'entête et du pied de page et souhaitez éviter la mise en cache de certaines sections, vous pouvez utiliser cette balise. Cette balise fournit le bloc de contenu de l'en-tête ou du pied de page, où la sortie du bloc de contenu encapsulé n'est pas mise en cache. Cet opérateur est utile lorsque l'utilisateur utilise un objet fréquemment mis à jour, comme une requête, une page, une langue ou une date. Par exemple, consultez les scénarios de mise à jour du code source du gabarit web d'entête et de pied de page lorsque la mise en cache de l'en-tête et du pied de page est activée.
Conseil
L'URL utilisée dans request.url peut être n'importe quelle valeur demandée et est mise en cache pour les requêtes suivantes. Pour garantir une valeur correcte 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.
codecomponent
Utiliser la balise de gabarit Liquid des composants de code.