Partilhar via


Etiquetas do Dataverse Liquid

As etiquetas Microsoft Dataverse Liquid são utilizadas para carregar e apresentar dados do Dataverse ou utilizar outros serviços de arquitetura do Power Pages. Estas etiquetas são extensões específicas do Dataverse para a linguagem Liquid.

gráfico

Adiciona um gráfico de aplicação condicionada por modelo do Power Apps a uma página Web. A etiqueta de gráfico pode ser adicionada no campo Copiar numa página Web ou no campo Origem num modelo Web. Para conhecer os passos para adicionar um gráfico de aplicação condicionada por modelo do Power Apps a uma página Web, consulte Adicionar um gráfico a uma página Web no Power Pages.

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

Parâmetros

Devem ser fornecidos dois parâmetros com a etiqueta chart: chart id e viewid.

chart id

ID de Visualização do gráfico. Pode obter o id ao exportar o gráfico.

viewid

ID da tabela quando aberta no editor de vistas.

powerbi

Adiciona os dashboards do Power BI e os relatórios nas páginas. A etiqueta pode ser adicionada no campo Copiar numa página Web ou no campo Origem num modelo web. Para ver os passos para adicionar um relatório ou dashboard do Power BI à página Web no Power Pages, consulte Adicionar um relatório ou dashboard do Power BI a uma página Web no Power Pages.

Nota

Para que a etiqueta funcione, tem de ativar a integração do Power BI a partir do hub do Power Pages no centro de administração do Power Platform. Se a integração do Power BI não estiver ativada, o dashboard ou relatório não será apresentado.

Parâmetros

A etiqueta powerbi aceita os seguintes parâmetros:

path

Caminho do dashboard ou relatório do Power BI. Se o relatório ou o dashboard do Power BI for seguro, tem de fornecer o tipo de autenticação.

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

authentication_type

Tipo de autenticação necessária para o relatório ou dashboard do Power BI. Os valores válidos para este parâmetro são:

  • Anónima: permite-lhe incorporar a publicação para a Web relatórios do Power BI. O tipo de autenticação predefinido é Anónima. Quando utilizar o tipo de autenticação como Anónimo, tem de obter o URL do relatório do Power BI conforme descrito em: Publicar na Web a partir do Power BI

  • AAD: permite-lhe partilhar relatórios ou dashboards seguros do Power BI para os utilizadores autenticados do Power BI Microsoft Entra ID.

  • powerbiembedded: permite-lhe partilhar relatórios ou dashboards do Power BI seguros para utilizadores externos que não tenham licenças do Power BI ou configuração de autenticação do Microsoft Entra. Para obter informações sobre a configuração do serviço Power BI Embedded, consulte Ativar o serviço Power BI Embedded.

Ao adicionar o relatório ou dashboard do Power BI seguro, certifique-se de que é partilhado com os serviços Power Pages Microsoft Entra ou Power BI Embedded.

Nota

Os valores do parâmetro authentication_type são sensíveis a maiúsculas e minúsculas.

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

Também pode filtrar o relatório em um ou mais valores. A sintaxe para filtrar o relatório é:

URL?filter=Table/Field eq 'value'

Por exemplo, digamos que pretende filtrar o relatório para ver os dados de um contacto denominado Bert Hair. Tem de anexar ao URL aos seguintes dados:

?filter=Executives/Executive eq 'Bert Hair'

O código completo é:

{% 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'" %}

Obter mais informações sobre a filtragem de um relatório: Filtrar um relatório utilizando parâmetros de cadeia de consulta no URL

Nota

Relatório anónimo não suporta a filtragem.

Também pode criar um caminho dinâmico utilizando a variável 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 %}

Mais informações sobre a variável Liquid: Etiquetas variáveis

tileid

Apresenta o mosaico especificado do dashboard. Tem de fornecer o ID do mosaico.

{% 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" %}

funções

Funções atribuídas ao relatório do Power BI. Este parâmetro só funciona quando o parâmetro authentication_type está definido como powerbiembedded.

Se tiver definido funções no Power BI e as atribuiu a relatórios, tem de especificar as funções adequadas na tag powerbi do Liquid. As funções permitem-lhe filtrar os dados a apresentar num relatório. Pode especificar várias funções separadas por vírgula. Para mais informações sobre como definir funções no Power BI, consulte Segurança a nível da linha (RLS) com o 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" %}

Se tiver atribuído uma função a um relatório do Power BI e não especificar o parâmetro roles na tag do Liquid ou não especificou uma função no parâmetro, é apresentado um erro.

Gorjeta

Se pretender utilizar as funções da Web definidas no seu site como as funções do Power BI, pode definir uma variável e atribuir-lhe funções da Web. Em seguida, pode utilizar a variável definida na tag do Liquid.

Imagine que definiu duas funções Web como Region_East e Region_West no seu site. Pode uni-los através do código: {% assign webroles = user.roles | join: ", " %}

No fragmento de código anterior, webroles é uma variável e as funções Web Region_East e Region_West serão armazenadas nela.

Utilize a variável webroles da seguinte forma na tag do 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

Compõe um determinado objeto CMS do Power Pages como editável no site, para os utilizadores com permissão de edição de conteúdos para esse objeto. Os objetos editáveis incluem página, fragmentos e ligações Web.

{% 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 %}

Parâmetros

O primeiro parâmetro fornecido como editável é o objeto editável, tal como um conjunto de ligações Web, fragmentos ou a página atual. O segundo parâmetro opcional consiste em especificar uma chave ou nome de atributo nesse objeto que deve ser composto e editado. Este valor pode ser o nome de um atributo de tabela ou um nome de fragmento, por exemplo.

Após estes parâmetros iniciais, a etiqueta suporta muitos parâmetros nomeados opcionais.

class

Especifica um valor de atributo class para o elemento raiz composto por esta etiqueta.

predefinido

Um valor predefinido composto no caso de o item editável não ter valor.

escape

Um valor Booleano que indica se um valor composto por esta etiqueta tem codificação HTML. Por predefinição, este valor é false.

liquid

Um valor Booleano que indica se qualquer código de modelo Liquid encontrado no valor de texto composto por esta etiqueta deve ser processado. Por predefinição, este valor é true.

etiqueta

O nome das etiquetas HTML de contentor compostas por esta etiqueta. Esta etiqueta compõe os elementos div por predefinição. É recomendável que escolha entre div ou span como um valor para este parâmetro.

title

Especifica uma etiqueta para este item editável na interface de edição de conteúdo. Se não for fornecida nenhuma, é gerada uma etiqueta amigável automaticamente.

tipo

Um valor de cadeia que indica o tipo de interface de edição a apresentar, para valores de texto editáveis. Os valores válidos para este parâmetro são html ou text. A predefinição é html.

entitylist

Carrega uma determinada lista, por nome ou ID. As propriedades da lista podem ser acedidas utilizando um objeto entitylist disponível no bloco de etiquetas. Para compor os registos de resultados reais da lista, utilize a etiqueta entityview no bloco.

Se a lista for carregada com êxito, é composto o conteúdo do bloco. Se a lista não for encontrada, o conteúdo do bloco não é composto.

{% entitylist name:My List %}

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

Por predefinição, o objeto entitylist recebe o nome da variável entitylist. Opcionalmente, pode ser fornecido um nome de variável diferente.

{% entitylist my_list = name:My List %}

Loaded list {{ my_list.adx_name }}.

{% endentitylist %}

Parâmetros

Forneça apenas um, id, nome ou chave, para selecionar a Lista a carregar.

id

Carrega uma lista por ID de GUID. O ID tem de ser uma cadeia que possa ser analisada como um GUID.

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

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

Normalmente, as cadeias GUID literais não são utilizadas. Em vez disso, o id é especificado utilizando a propriedade GUID de outra variável.

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

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

nome

Carrega uma lista por nome.

{% entitylist name:My List %}

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

key

Carrega uma lista por ID ou nome. Se o valor de chave fornecido puder ser analisado como um GUID, a lista é carregada por ID. Caso contrário, é carregada por nome.

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

{% entitylist key:key_variable %}

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

language_code

Um código de idioma inteiro do Dataverse para selecionar as etiquetas localizadas na lista a carregar. Se não for fornecido nenhum language_code, será utilizado o idioma predefinido da ligação da aplicação do site do Dataverse.

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

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

entityview

Carrega uma determinada vista do Dataverse, por nome ou ID. As propriedades da vista ߝ metadados da coluna da vista, registos de resultados paginados, etc. podem ser acedidas utilizando um objeto entityview que está disponível no bloco de etiquetas.

Se a vista for carregada com êxito, é composto o conteúdo do bloco. Se a vista não for encontrada, o conteúdo do bloco não é composto.

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

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

{% endentityview %}

Por predefinição, o objeto entityview recebe o nome da variável entityview. Opcionalmente, pode ser fornecido um nome de variável diferente.

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

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

{% endentityview %}

Se entityview estiver aninhado num bloco entitylist, herda a respetiva configuração predefinida (tamanho da página de resultados, opções de filtro, etc.) da lista. Se não forem fornecidos parâmetros id ou nome da vista para entityview, carrega a vista predefinida da entitylist delimitadora.

{% 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 %}

Parâmetros

Forneça ou o ID ou o logical_name com um nome para selecionar a vista do Dataverse a carregar. Se nenhuma for fornecida e a etiqueta entityview estiver aninhada numa etiqueta entitylist, é carregada a vista predefinida da entitylist delimitadora.

id

id tem de ser uma cadeia que possa ser analisada como um GUID.

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

Loaded entity view {{ entityview.name }}.

{% endentityview %}

Normalmente, as cadeias GUID literais não são utilizadas. Em vez disso, o id é especificado utilizando a propriedade GUID de outra variável.

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

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

{% endentityview %}

logical_name

O nome lógico da entidade do Dataverse da vista a carregar. Tem de ser utilizado em combinação com name.

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

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

{% endentityview %}

name

O nome do Dataverse da vista a carregar. Tem de ser utilizado em combinação com logical_name.

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

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

{% endentityview %}

filter

Especifica se os resultados da vista são filtrados por utilizador ou conta. Tem de ter um valor de cadeia de utilizador ou conta.

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

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

{% endentityview %}

Um caso de utilização comum consiste em definir este parâmetro com base num request.

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

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

{% endentityview %}

metafilter

Especifica a expressão de filtro dos metadados da Lista pela qual os resultados da vista serão filtrados. Este parâmetro só é válido quando entityview for utilizado em combinação com entitylist. Na maioria dos casos, este parâmetro é definido com base num request.

{% 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

Especifica uma expressão de ordenação para ordenar os resultados da vista. Uma expressão de ordenação pode conter um ou mais nomes lógicos de atributo da entidade, seguidos por uma direção de ordenação ASC ou DESC.

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

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

{% endentityview %}

Um caso de utilização comum consiste em definir este parâmetro com base num request.

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

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

{% endentityview %}

page

Especifica a página de resultados da vista a carregar. Se este parâmetro não for especificado, é carregada a primeira página de resultados.

Tem de ser transmitido para este parâmetro um número inteiro ou uma cadeia que possa ser analisada como um número inteiro. Se for fornecido um valor para este parâmetro, mas o valor for nulo ou não for possível analisá-lo como um número inteiro, é carregada a primeira página de resultados.

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

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

{% endentityview %}

Um caso de utilização comum consiste em definir este parâmetro com base num request.

{% 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

Especifica o número de resultados a carregar para a página de resultados atual. Se nenhum valor for fornecido para este parâmetro e for utilizado entityview num bloco entitylist, é utilizado o tamanho da página da lista. Se não estiver num bloco entitylist, é utilizado um valor predefinido de 10.

Tem de ser transmitido para este parâmetro um número inteiro ou uma cadeia que possa ser analisada como um número inteiro. Se for fornecido um valor para este parâmetro, mas o valor for nulo ou não for possível analisá-lo como um número inteiro, é utilizado o tamanho de página predefinido.

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

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

{% endentityview %}

Um caso de utilização comum consiste em definir este parâmetro com base num request.

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

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

{% endentityview %}

search

Especifica uma expressão de pesquisa pelo qual filtrar os resultados da vista. As expressões de pesquisa de palavras-chave simples filtram se os atributos começarem pela palavra-chave. Também podem ser incluídos carateres universais * na expressão.

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

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

{% endentityview %}

Um caso de utilização comum consiste em definir este parâmetro com base num request, para o filtro de pesquisa poder ser definido com base na intervenção do utilizador.

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

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

{% endentityview %}

language_code

Um código de idioma inteiro do Dataverse para selecionar as etiquetas localizadas da vista da entidade (etiquetas do cabeçalho da coluna, etc.) a carregar. Se não for fornecido nenhum language_code, será utilizado o idioma predefinido da ligação da aplicação do site da web do Dataverse.

Se entityview for utilizado dentro de um bloco entitylist, entityview herda a configuração de código de idioma de entitylist.

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

Loaded entity view {{ entityview.name }}.

{% endentitylist %}

searchindex

Efetua uma consulta ao índice de pesquisa do site. Os resultados correspondentes podem ser acedidos utilizando um searchindex que está disponível no bloco de etiquetas.

{% 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>

Por predefinição, o objeto de índice de pesquisa recebe o nome da variável searchindex. Opcionalmente, pode ser fornecido um nome de variável diferente.

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

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

...

{% endif %}

{% endsearchindex %}

Parâmetros

A etiqueta searchindex aceita os seguintes parâmetros.

query

A consulta utilizada para correspondência de resultados. Este parâmetro destina-se a aceitar a parte especificada pelo utilizador da consulta do índice (se existir).

{% searchindex query: 'support' %}

...

{% endsearchindex %}

Um caso de utilização comum consiste em definir este parâmetro com base num request.

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

...

{% endsearchindex %}

Este parâmetro suporta a sintaxe do Analisador de Consulta de Lucene.

filtro

Outra consulta utilizada para correspondência de resultados. Este parâmetro destina-se a aceitar um filtro especificado pelo programador para os resultados, se pretender.

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

...

{% endsearchindex %}

Este parâmetro suporta a sintaxe do Analisador de Consulta de Lucene.

Nota

A diferença entre filter e query reside no facto de, apesar de ambas aceitarem a sintaxe do Analisador de Consulta de Lucene, query destina-se a ser mais perdulária em relação à forma como a sintaxe é analisada ߝ uma vez que é esperado que a maioria dos utilizadores não esteja a par desta sintaxe. Por isso, no caso de a análise de query de acordo com esta sintaxe falhar, toda a consulta utilizará códigos e será submetida como texto da consulta. Por outro lado, filter será analisado de forma estrita e devolverá um erro no caso de sintaxe inválida.

logical_names

Os nomes lógicos da entidade do Dataverse em relação aos quais os resultados correspondentes serão restritos, como uma cadeia de carateres delimitada por vírgulas. Se não forem fornecidos, são devolvidas todas as entidades correspondentes.

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

...
>
{% endsearchindex %}

página

A página de resultados de pesquisa a devolver. Se não forem fornecidos, é devolvida a primeira página (1).

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

...

{% endsearchindex %}

Um caso de utilização comum consiste em definir este parâmetro com base num request.

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

...

{% endsearchindex %}

page_size

O tamanho da página de resultados a devolver. Se não for fornecido, é utilizado o valor predefinido 10.

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

...

{% endsearchindex %}

entityform

Compõe integralmente um formulário, por nome ou ID.

Nota

A etiqueta entityform só estará disponível para utilização no conteúdo composto dentro de um modelo de página baseado no modelo Web. A tentativa de utilização da etiqueta dentro de um Modelo de Página baseado na Reescrita não irá compor nada. Só é possível compor uma única etiqueta tag entityform ou webform por página. As etiquetas tags entityform ou webform depois da primeira não serão compostas.

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

Parâmetros

name

O nome do Formulário Básico que pretende carregar.

{% entityform name:My Basic Form %}

webform

Compõe integralmente um formulário com vários passos, por nome ou ID. A etiqueta webform só estará disponível para utilização no conteúdo composto dentro de um modelo de página baseado no modelo Web. A tentativa de utilização da etiqueta dentro de um Modelo de Página baseado na Reescrita não irá compor nada. Só pode compor uma única etiqueta entityform ou webform por página. As etiquetas tags entityform ou webform depois da primeira não serão compostas.

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

Parâmetros

name

O nome do Formulário de Vários Passos que pretende carregar.

{% webform name:My Multistep Form %}

codecomponent

Permite incorporar componentes de código de incorporação usando uma etiqueta Liquid. Por exemplo, adicionar um controlo personalizado do ecrã do mapa a uma página web.

Parâmetros

nome

O ID ou o nome do componente de código.

propriedade

Os valores das propriedades que o componente de código espera precisam de ser passados como um par chave/valor separado por ":" (sinal de dois pontos), onde a chave é o nome da propriedade e o valor é o valor da cadeia JSON.

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

Nota

As propriedades necessárias podem ser diferentes dependendo do componente que escolher.

Consulte Utilizar a etiqueta de modelo Liquid dos componentes de código.

Consulte também