Partager via


Balises Liquid Dataverse

Les balises Liquid Microsoft Dataverse sont utilisées pour charger et afficher les données Dataverse ou utiliser d’autres services de l’infrastructure de Power Pages. Ces balises sont des extensions du langage Liquid propres à Dataverse.

graphique

Ajoutez un graphique d’application pilotée par modèle Power Apps à une page web. La balise de graphique peut être ajoutée dans le champ Copie d’une page Web ou dans le champ Source d’un modèle Web. Pour obtenir la procédure pour ajouter une application pilotée par modèle Power Apps à une page Web, voir Ajouter un graphique à une page Web dans Power Pages.

{% chart id:"EE3C733D-5693-DE11-97D4-00155DA3B01E" viewid:"00000000-0000-0000-00AA-000010001006" %}

Paramètres

Deux paramètres doivent être fournis avec la balise de graphique : ID du graphique et ID de la vue.

ID du graphique

ID de visualisation du graphique. Vous pouvez obtenir l’ID en exportant le graphique.

viewid

ID de table lorsqu’elle est ouverte dans l’éditeur de vue.

powerbi

Ajoute des tableaux de bord et des états Power BI aux pages. La balise de graphique peut être ajoutée dans le champ Copie d’une page Web ou dans le champ Source d’un modèle Web. Pour obtenir la procédure pour ajouter un état ou un tableau de bord Power BI à une page Web dans un Power Pages, consultez Ajouter un état ou un tableau de bord Power BI à une page Web dans Power Pages.

Note

Pour que la balise fonctionne, vous devez activer l’intégration de Power BI depuis le hub Power Pages dans le centre d’administration Power Platform. Si l’intégration de Power BI n’est pas activée, le tableau de bord ou l’état n’est pas affiché.

Paramètres

La balise powerbi accepte les paramètres suivants :

path

Chemin d’accès à l’état ou au tableau de bord Power BI. Si l’état ou le tableau de bord Power BI est sécurisé, vous devez fournir le type d’authentification.

{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection01" %}

authentication_type

Type d’authentification requis pour l’état ou le tableau de bord Power BI. Les valeurs valides pour ce paramètre sont :

  • Anonyme : Vous permet d’intégrer des états Power BI à publier sur le web. Le type d’authentification par défaut est anonyme. Lorsque vous utilisez le type d’authentification Anonyme, vous devez obtenir l’URL de l’état Power BI, comme décrit dans : Publier sur le web à partir de Power BI

  • AAD : vous permet de partager des rapports ou tableaux de bord Power BI sécurisés avec des utilisateurs authentifiés Power BI Microsoft Entra ID.

  • powerbiembedded : Vous permet de partager des états ou des tableaux de bord Power BI sécurisés avec des utilisateurs externes qui ne disposent pas de la licence Power BI ou de la configuration d’authentification Microsoft Entra. Pour plus d’informations sur l’installation de service Power BI Embedded, voir Activer le service Power BI Embedded.

En ajoutant l’état ou le tableau de bord sécurisé Power BI, veillez à ce qu’il soit partagé avec les services Microsoft Entra ou Power BI Embedded de Power Pages.

Note

Les valeurs du paramètre authentication_type ne sont pas sensibles à la casse.

{% powerbi authentication_type:"AAD" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection01" %}

Vous pouvez également filtrer le rapport sur une ou plusieurs valeurs. La syntaxe pour filtrer un rapport est :

URL?filter=Table/Champ eq ’valeur

Par exemple, disons que vous souhaitez filtrer le rapport pour afficher les données d’un contact nommé Bert Hair. Vous devez ajouter l’URL avec les données suivantes :

?filter=Executives/Executive eq ’Bert Hair’

Le code complet est :

{% powerbi authentication_type:"AAD" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection01?filter=Executives/Executive eq 'Bert Hair'" %}

Des informations supplémentaires sur le filtrage d’un rapport : Filtrer un rapport à l’aide des paramètres de chaîne de requête dans l’URL

Note

Les rapports anonymes ne prennent pas en charge le filtrage.

Vous pouvez aussi créer un chemin d’accès dynamique à l’aide de la variable Liquid capture  :

{% capture pbi_path %}https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection01?filter=Executives/Executive eq '{{user.id}}'{% endcapture %}
{% powerbi authentication_type:"AAD" path:pbi_path %}

Des informations supplémentaires sur la variable Liquid : Balises de variables

tileid

Affiche la vignette spécifique du tableau de bord. Vous devez fournir l’ID de la vignette.

{% powerbi authentication_type:"AAD" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/dashboards/00000000-0000-0000-0000-000000000001" tileid:"00000000-0000-0000-0000-000000000002" %}

rôles.

Rôles attribués à l’état Power BI. Ce paramètre fonctionne uniquement lorsque le paramètre authentication_type est défini sur powerbiembedded.

Si vous avez défini des rôles dans Power BI et que vous les avez attribués aux états, vous devez spécifier les rôles suffisants dans la balise Liquid powerbi. Les rôles vous permettent de filtrer les données à afficher dans un état. Vous pouvez spécifier plusieurs rôles séparés par une virgule. Pour plus d’informations sur la définition de rôles dans Power BI, voir Sécurité au niveau de la ligne avec Power BI.

{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000000/ReportSection2" roles:"Region_East,Region_West" %}

Si vous avez attribué un rôle Power BI à un état, et que vous n’avez pas spécifié le paramètre rôles dans la balise Liquid ou que vous n’avez pas spécifié de rôle dans le paramètre, une erreur s’affiche.

Astuce

Si vous souhaitez utiliser les rôles web définis dans votre portail comme rôles Power BI, vous pouvez définir une variable et lui attribuer des rôles web. Vous pouvez ensuite les utiliser la variable définie dans la balise Liquid.

Disons que vous ont défini deux rôles web comme Region_East et Region_West sur votre site. Vous pouvez les joindre en utilisant le code : {% assign webroles = user.roles | join: ", " %}

Dans l’extraction de code ci-dessus, webroles est une variable et les rôles web Region_East et Region_West sont enregistrés dans cet effet.

Utilisez la variable webroles comme suit dans la balise Liquid :

{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000000/ReportSection2" roles:webroles%}

editable

Affiche un objet CMS précis de Power Pages comme modifiable sur le site, pour les utilisateurs possédant une autorisation de modification pour cet objet. Les objets modifiables comprennent les éléments page, snippets et weblinks.

{% editable page 'adx_copy' type: 'html', title: 'Page Copy', escape: false, liquid: true %}

{% editable snippets Header type: 'html' %}

<!--

An editable web link set required a specific DOM structure, with

certain classes on the containing element, as demonstrated here.

-->

{% assign primary_nav = weblinks[Primary Navigation] %}

{% if primary_nav %}

<div {% if primary_nav.editable %}class=xrm-entity xrm-editable-adx_weblinkset{% endif %}>

<ul>

<!-- Render weblinks... -->

</ul>

{% editable primary_nav %}

</div>

{% endif %}

Paramètres

Le premier paramètre défini sur Modifiable est l’objet modifiable, tel qu’un ensemble de liens web, des extraits ou la page actuelle. Le deuxième paramètre optionnel permet de spécifier un nom ou une clé d’attribut dans l’objet devant être affiché et modifié. Cette valeur peut être le nom d’un attribut de table ou un nom d’extrait de code, par exemple.

Après ces paramètres initiaux, la balise prend en charge de nombreux paramètres nommés optionnels.

class

Spécifie une valeur d’attribut class pour l’élément racine affiché par cette balise.

default

Une valeur par défaut affichée dans le cas où l’élément modifiable n’a pas de valeur.

escape

Une valeur booléenne indiquant si une valeur affichée par cette balise est codée en HTML. Cette valeur est False par défaut.

liquid

Une valeur booléenne indiquant si un code de modèle Liquid trouvé dans la valeur de texte affichée par cette balise doit être traité. Cette valeur est définie sur True par défaut.

tag

Le nom des balises HTML du conteneur affichées par cette balise. Cette balise affiche les éléments div par défaut. Il est recommandé que vous choisissiez entre div ou span comme valeur pour ce paramètre.

title

Spécifie une étiquette pour cet élément modifiable dans l’interface de modification de contenu. Si aucune n’est fournie, une étiquette conviviale est générée automatiquement.

type

Une valeur de chaîne indiquant le type d’interface de modification devant être présentée pour des valeurs de texte modifiables. Les valeurs valides de ce paramètre sont html ou texte. html est la valeur par défaut.

entitylist

Charge une liste donnée par nom ou ID. Il est alors possible d’accéder aux propriétés de la liste en utilisant un objet entitylist disponible dans le bloc de balises. Pour afficher les enregistrements de résultat de la liste, utilisez la balise entityview dans le bloc.

Si la liste est correctement chargée, le contenu du bloc est affiché. Si la liste est introuvable, le contenu du bloc n’est pas affiché.

{% entitylist name:My List %}

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

Par défaut, l’objet entitylist reçoit le nom de variable entitylist. Un nom de variable différent peut être fourni en option.

{% entitylist my_list = name:My List %}

Loaded list {{ my_list.adx_name }}.

{% endentitylist %}

Paramètres

Fournit seulement un id, name ou key pour sélectionner la liste à charger.

id

Charge une liste par l’ID GUID. L’id doit être une chaîne pouvant être analysée comme un GUID.

{% entitylist id:936DA01F-9ABD-4d9d-80C7-02AF85C822A8 %}

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

Généralement, les chaînes GUID littérales ne sont pas utilisées. À la place, l’ID est spécifié en utilisant une propriété GUID d’une autre variable.

{% entitylist id:page.adx_entitylist.id %}

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

name

Charge une liste par nom.

{% entitylist name:My List %}

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

key

Charge une liste par ID ou par nom. Si la valeur de clé fournie peut être analysée comme GUID, la liste est chargée par ID. Sinon, elle est chargée par nom.

<!-- key_variable can hold an ID or name -->

{% entitylist key:key_variable %}

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

language_code

Un code langue entier Dataverse pour sélectionner les étiquettes localisées de la liste devant être chargées. Si aucun language_code n’est fourni, la langue par défaut de la connexion Dataverse de l’application du site est utilisée.

{% entitylist name:"My List", language_code:1033 %}

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

affichage des entités

Charge un affichage Dataverse donné, par nom ou ID. Il est alors possible d’accéder aux propriétés de la vue ߝ des métadonnées de la colonne de la vue, aux enregistrements de résultat paginés, etc., en utilisant un objet entityview disponible dans le bloc de balises.

Si la vue est correctement chargée, le contenu du bloc est affiché. Si la vue est introuvable, le contenu du bloc n’est pas affiché.

{% entityview logical_name:'contact', name:"Active Contacts" %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

Par défaut, l’objet entityview reçoit le nom de variable entityview. Un nom de variable différent peut être fourni en option.

{% entityview my_view = logical_name:'contact', name:"Active Contacts" %}

Loaded entity view with {{ my_view.total_records }} total records.

{% endentityview %}

Si entityview est imbriqué dans un bloc entitylist, il hérite sa configuration par défaut (taille de la page de résultats, options de filtre, etc.) de la liste. Si aucun paramètre d’ID ou de nom de vue n’est fourni à entityview, la vue par défaut est chargée à partir de l’élément entitylist associé.

{% entitylist id:page.adx_entitylist.id %}

{% entityview %}

Loaded default view of the list associated with the current page, with {{ entityview.total_records }} total records.

{% endentityview %}

{% endentitylist %}

Paramètres

Fournissez soit id, soit logicalname avec un nom pour sélectionner la vue Dataverse à charger. Si aucun paramètre n’est fourni et que la balise entityview est imbriquée dans une balise entitylist, la vue par défaut de l’élément entitylist associé est chargée.

id

id doit être une chaîne pouvant être analysée comme un GUID.

{% entityview id:936DA01F-9ABD-4d9d-80C7-02AF85C822A8 %}

Loaded entity view {{ entityview.name }}.

{% endentityview %}

Généralement, les chaînes GUID littérales ne sont pas utilisées. À la place, l’ID est spécifié en utilisant une propriété GUID d’une autre variable.

{% entityview id:request.params.view %}

Loaded entity view {{ entityview.name }} using view query string request parameter.

{% endentityview %}

logical_name

Le nom logique de l’entité Dataverse de l’affichage devant être chargé. Doit être utilisé en association avec name.

{% entityview logical_name:'contact', name:"Active Contacts" %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

name

Le nom Dataverse de l’affichage devant être chargé. Doit être utilisé en association avec logical_name.

{% entityview logical_name:'contact', name:"Active Contacts" %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

filter

Spécifie si les résultats de l’affichage doivent être filtrés par utilisateur ou par compte. Doit posséder une valeur de chaîne d’ « utilisateur » ou de « compte ».

{% entityview id:request.params.view, filter:'user' %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

Un cas d’utilisation commun consiste à régler ce paramètre en se basant sur une demande.

{% entityview id:request.params.view, filter:request.params.filter %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

metafilter

Spécifie l’expression du filtrage de métadonnées de la liste par lequel filtrer les résultats d’affichage. Ce paramètre est valide uniquement lorsque entityview est utilisé en association avec la liste d’entités. Dans la plupart des cas, ce paramètre est réglé sur une demande.

{% entitylist id:page.adx_entitylist.id %}

{% entityview id:request.params.view, metafilter:request.params.mf %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

{% endentitylist %}

order

Spécifie une expression de tri pour ordonner les résultats d’affichage. Une expression de tri peut contenir un ou plusieurs noms logiques d’attribut d’entité, suivi par un sens de tri croissant (ASC) ou décroissant (DESC).

{% entityview id:request.params.view, order:'name ASC, createdon DESC' %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

Un cas d’utilisation commun consiste à régler ce paramètre en se basant sur une demande.

{% entityview id:request.params.view, order:request.params.order %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

page

Spécifie l’affichage de la page de résultats à charger. Si ce paramètre n’est pas spécifié, la première page de résultats est chargée.

Ce paramètre doit être transmis comme valeur entière ou une chaîne pouvant être analysée comme un entier. Si une valeur est fournie pour ce paramètre, mais que la valeur est nulle ou ne peut pas être autrement analysée comme un entier, la première page de résultats est chargée.

{% entityview id:request.params.view, page:2 %}

Loaded page {{ entityview.page }} of entity view with {{ entityview.total_records }} total records.

{% endentityview %}

Un cas d’utilisation commun consiste à régler ce paramètre en se basant sur une demande.

{% entityview id:request.params.view, page:request.params.page %}

Loaded page {{ entityview.page }} of entity view with {{ entityview.total_records }} total records.

{% endentityview %}

page_size

Spécifie le nombre de résultats à charger pour la page de résultats en cours. Si aucune valeur n’est fournie pour ce paramètre et qu’entityview est utilisé dans un bloc entitylist, la taille de la page de la liste est utilisée. S'il ne se trouve pas dans un bloc entitylist, une valeur par défaut de 10 est utilisée.

Ce paramètre doit être transmis comme valeur entière ou une chaîne pouvant être analysée comme un entier. Si une valeur est fournie pour ce paramètre, mais que la valeur est nulle ou ne peut pas être autrement analysée comme un entier, la taille de page par défaut est utilisée.

{% entityview id:request.params.view, page_size:20 %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

Un cas d’utilisation commun consiste à régler ce paramètre en se basant sur une demande.

{% entityview id:request.params.view, page_size:request.params.pagesize %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

search

Spécifie une expression de recherche par laquelle filtrer les résultats affichés. De simples expressions de recherche de mot-clé filtrent si les attributs commencent par le mot-clé. Des caractères génériques * peuvent également être inclus dans l’expression.

{% entityview id:request.params.view, search:'John\*' %}

Loaded entity view with {{ entityview.total_records }} total matching records.

{% endentityview %}

Un cas d’utilisation commun consiste à régler ce paramètre suivant une demande, de manière à ce que le filtre de recherche puisse être basé sur une entrée utilisateur.

{% entityview id:request.params.view, search:request.params.search %}

Loaded entity view with {{ entityview.total_records }} total matching records.

{% endentityview %}

language_code

Un code langue entier Dataverse pour sélectionner les étiquettes localisées de la liste d’entités (étiquettes d’en-tête de colonne, etc.) à charger. Si aucun language_code n’est fourni, la langue par défaut de la connexion Dataverse de l’application du site Web est utilisée.

Si entityview est utilisé dans un bloc entitylist, entityview hérite sa configuration de code de langue d’entitylist.

{% entityview logical_name:'contact', name:"Active Contacts", language_code:1033 %}

Loaded entity view {{ entityview.name }}.

{% endentitylist %}

searchindex

Exécute une requête dans l’index de recherche du site web. Il est alors possible d’accéder aux résultats correspondants en utilisant un searchindex qui est disponible dans le bloc de balises.

{% searchindex query: 'support', page: params.page, page_size: 10 %}

{% if searchindex.results.size > 0 %}

<p>Found about {{ searchindex.approximate_total_hits }} matches:</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>Your query returned no results.</p>

{% endif %}

{% endsearchindex %}

<style>

    .highlight {background-color: #FFFCAC;}

</style>

Par défaut, l’objet index de recherche reçoit le nom de variable searchindex. Un nom de variable différent peut être fourni en option.

{% searchindex liquid_search = query: 'support', page: params.page, page_size: 10 %}

{% if liquid_search.results.size > 0 %}

...

{% endif %}

{% endsearchindex %}

Paramètres

La searchindex balise accepte les paramètres suivants.

query

La requête utilisée pour la correspondance des résultats. Ce paramètre est destiné à accepter la partie spécifiée par l’utilisateur de la requête d’index (le cas échéant).

{% searchindex query: 'support' %}

...

{% endsearchindex %}

Un cas d’utilisation commun consiste à régler ce paramètre en se basant sur une demande.

{% searchindex query: request.params.query %}

...

{% endsearchindex %}

Ce paramètre supporte la syntaxe de l’analyseur de requête Lucene.

filter

Une autre requête utilisée pour la correspondance des résultats. Ce paramètre est destiné à accepter un filtre spécifié par le développeur pour les résultats, si souhaité.

{% searchindex query: request.params.query, filter: '+statecode:0' %}

...

{% endsearchindex %}

Ce paramètre supporte la syntaxe de l’analyseur de requête Lucene.

Note

La différence entre filter et query tient dans le fait que les deux accepteront la syntaxe de l’analyseur de requête Lucene, query est destiné à être plus indulgent concernant l’analyse de cette syntaxe ߝ dans la mesure où l’on considère que la plupart des utilisateurs finaux ne connaitront pas cette syntaxe. Donc, dans le cas où l’analyse query selon cette syntaxe échouerait, la requête entière sera placée dans une séquence d’échappement et soumise comme texte de requête. filter, de son côté, sera analysé strictement et retournera un message d’erreur en cas de syntaxe invalide.

logical_names

Les noms logiques d’entité Dataverse issus des résultats correspondants seront restreints, comme une chaîne délimitée par des virgules. S’ils ne sont pas fournis, toutes les entités correspondantes sont retournées.

{% searchindex query: request.params.query, logical_names: 'kbarticle,incident' %}

...
>
{% endsearchindex %}

page

La page de résultat de recherche devant être retournée. Si elle n’est pas fournie, la première page (1) est retournée.

{% searchindex query: request.params.query, page: 2 %}

...

{% endsearchindex %}

Un cas d’utilisation commun consiste à régler ce paramètre en se basant sur une demande.

{% searchindex query: request.params.query, page: request.params.page %}

...

{% endsearchindex %}

page_size

La taille de la page de résultats devant être retournée. Si elle n’est pas fournie, une taille par défaut de 10 est utilisée.

{% searchindex query: request.params.query, page_size: 20 %}

...

{% endsearchindex %}

formulaire d’entité

Affiche complètement un formulaire, par nom ou ID.

Note

La balise entityform est utilisable uniquement dans un contenu affiché à l’intérieur d’un modèle de page basé sur un modèle Web. Toute tentative d’utilisation de la balise à l’intérieur d’un modèle de page basé sur une réécriture n’affichera rien. Il se peut que vous ne puissiez afficher qu’une seule balise entityform ou webform par page. balises entityform ou webform en cas de non affichage de la première balise.

{% entityform name: 'My Basic Form' %}

Paramètres

name

Le nom du formulaire de base que vous souhaitez charger.

{% entityform name:My Basic Form %}

webform

Affiche complètement un formulaire à plusieurs étapes configuré , par nom ou ID. La balise webform est utilisable uniquement dans un contenu affiché à l’intérieur d’un modèle de page basé sur un modèle Web. Toute tentative d’utilisation de la balise à l’intérieur d’un modèle de page basé sur une réécriture n’affichera rien. Vous ne pouvez afficher qu’une seule balise entityform ou webform par page. balises entityform ou webform en cas de non affichage de la première balise.

{% webform name: 'My Multistep Form' %}

Paramètres

name

Le nom du formulaire à plusieurs étapes que vous souhaitez charger.

{% webform name:My Multistep Form %}

codecomponent

Vous permet d’intégrer des composants de code à l’aide d’une balise Liquid. Par exemple, ajouter un contrôle personnalisé d’affichage de carte à une page Web.

Paramètres

name

ID ou nom du composant de code.

propriété

Les valeurs des propriétés attendues par le composant de code doivent être transmises sous forme de paire clé/valeur séparées par ":" (signe deux-points), où key est le nom de la propriété et la valeur est la valeur de la chaîne JSON.

{% codecomponent name:abc\_SampleNamespace.MapControl controlValue:'Space Needle' controlApiKey:<API Key Value> %}

Note

Les propriétés requises peuvent être différentes selon le composant que vous choisissez.

Voir Utiliser les composants de code de l’indicateur de modèle Liquid.

Voir aussi