Marcas do Liquid do Dataverse
As marcas do Liquid do Microsoft Dataverse são usadas para carregar e exibir dados do Dataverse, ou usar os demais serviços de estrutura do Power Pages. Essas extensões são marcas Dataverse específicas ao idioma Liquid.
gráfico
Adicione um gráfico do aplicativo baseado em modelo do Power Apps a uma página da Web. A marca do gráfico pode ser adicionada ao campo Copiar em uma página da Web ou no campo Origem em um modelo da Web. Para obter as etapas para adicionar um gráfico do aplicativo baseado em modelo do Power Apps em uma página da Web, consulte Adicionar um gráfico em uma página da Web no Power Pages.
{% chart id:"EE3C733D-5693-DE11-97D4-00155DA3B01E" viewid:"00000000-0000-0000-00AA-000010001006" %}
Parâmetros
Existem dois parâmetros a serem fornecidos com a marca do gráfico: id do gráfico e viewid.
id do gráfico
ID de Visualização do gráfico. Você pode obter a id exportando o gráfico.
viewid
ID da tabela quando estiver aberta no editor de exibição.
powerbi
Adiciona os painéis e relatórios do Power BI dentro das páginas. A marca do gráfico pode ser adicionada ao campo Copiar em uma página da Web ou ao campo Origem em um Modelo da Web. Para obter as etapas de adição de um relatório ou painel do Power BI a uma página da Web no Power Pages, consulte Adicionar um relatório ou painel do Power BI a uma página da Web do Power Pages.
Observação
Para que a marca funcione, é necessário habilitar a integração do Power BI do hub do Power Pages no centro de administração do Power Platform. Se a integração do Power BI não estiver habilitada, o painel ou relatório não será exibido.
Parâmetros
A marca powerbi aceita os seguintes parâmetros:
caminho
Caminho do relatório ou painel do Power BI. Se o relatório ou painel do Power BI estiver seguro, você deverá 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ário para o relatório ou painel do Power BI. Os valores válidos desse parâmetro são:
Anonymous: permite que você insira relatórios do Power BI para publicação na Web. O tipo de autenticação anônima padrão é Anônimo. Ao usar o tipo de autenticação como Anônimo, você deve obter a URL do relatório do Power BI conforme descrito em: Publicar na Web do Power BI
AAD: permite que você compartilhe relatórios ou painéis do Power BI para usuários autenticados do Power BI Microsoft Entra ID.
powerbiembedded: permite que você compartilhe relatórios ou painéis protegidos do Power BI com usuários externos que não tenham licença do Power BI nem a configuração de autenticação do Microsoft Entra. Para obter informações sobre a configuração do serviço Power BI Embedded, consulte Habilitar o serviço Power BI Embedded.
Ao adicionar o relatório ou painel protegido do Power BI, verifique se ele foi compartilhado com os serviços do portal do Power Pages Microsoft Entra ou do Power BI Embedded.
Observação
Os valores do parâmetro authentication_type
não fazem diferenciação entre 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" %}
Você também pode filtrar o relatório em um ou vários valores. A sintaxe para filtrar o relatório é:
URL?filter=Table/Field eq 'value'
Por exemplo, suponha que deseja filtrar o relatório para ver dados de um contado chamado Bert Hair. Você deve acrescentar a URL com os 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'" %}
Mais informações sobre filtrar o relatório: Filtrar um relatório usando os parâmetros de cadeia de consulta na URL
Observação
Relatório anônimo não oferece suporte a filtragem.
Você também pode criar um caminho dinâmico usando a variável líquida capture
como abaixo:
{% 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 variável líquida Marcas de variável
tileid
Exibe o bloco específico do painel. Você deve fornecer a ID do bloco.
{% 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. Esse parâmetro funciona somente quando o parâmetro authentication_type é definido como powerbiembedded.
Se você tiver definido funções no Power BI e as atribuiu a relatórios, será preciso especificar as funções apropriadas na marca Líquida powerbi. As funções permitem filtrar os dados a serem exibidos em um relatório. Você pode especificar várias funções separadas por uma vírgula. Para obter mais informações sobre como definir funções no Power BI, consulte RLS (Segurança em nível de linha) 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 você tiver atribuído uma função a um relatório do Power BI e não especificou o parâmetro roles na marca Líquida ou não especificou uma função no parâmetro, um erro será exibido.
Dica
Se quiser usar as funções Web definidas no seu site como as funções do Power BI, você poderá definir uma variável e atribuir funções Web a ela. É possível usar a variável definida na marca Líquida.
Digamos que você definiu duas funções Web como Region_East e Region_West no site. É possível adicioná-las usando o código: {% assign webroles = user.roles | join: ", " %}
No snippet de código acima, webroles
é uma variável e as funções Web Region_East e Region_West serão armazenadas nela.
Use a variável webroles
como se segue na marca Líquida:
{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000000/ReportSection2" roles:webroles%}
editável
Renderiza um objeto CMS dos portais do Power Pages como editáveis no site, para usuários com permissão de edição de conteúdo para esse objeto. Objetos editáveis incluem página, trechos de código, e 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 %}
Parâmetros
O primeiro parâmetro fornecido para edição é o objeto editável, como um conjunto de links da Web, trechos ou a página atual. O segundo parâmetros opcional é especificar um nome ou uma chave de atributos nesse objeto que deve ser renderizado e editado. Esse valor pode ser o nome de uma tabela, atributo ou nome de trecho, por exemplo.
Depois desses parâmetros iniciais, a marca oferece suporte a vários parâmetros nomeados opcionais.
classe
Especifica um valor de atributo de classe do elemento raiz renderizado nesta marca.
padrão
Um valor padrão na ocorrência a ser renderizado em que o item editável não tem nenhum valor.
escapar
Um valor booliano que indica se um valor renderizado por essa marca é codificado por HTML. Esse valor é falso por padrão.
liquid
Um valor booliano que indica se algum código líquido de modelo localizado no valor de texto renderizado nesta marca deve ser processada. Esse valor é verdadeiro por padrão.
marca
O nome das marcas de HTML do contêiner renderizadas nesta marca. Essa marca renderiza elementos div por padrão. É recomendável que você escolha entre div ou span como um valor para esse parâmetro.
título
Especifique um rótulo para o item editável na interface do conteúdo de edição. Caso não seja fornecido um rótulo, ele é gerado automaticamente.
tipo
Um valor da cadeia de caracteres que indica o tipo da interface de edição pode ser editável para valores do texto. Os valores válidos para esse parâmetro são html ou texto. O padrão é html.
entitylist
Carregar uma determinada lista de tabelas, como nome ou a identificação. As propriedades da lista podem ser acessadas usando um objeto entitylist que fica disponível no bloco de marca. Para renderizar os registros do resultado real da lista, use a marca entityview no bloco.
Se a lista for carregada com êxito, o conteúdo do pacote é renderizado. Se a lista não for encontrada, o conteúdo do pacote não será renderizado.
{% entitylist name:My List %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
Por padrão, o objeto entitylist forneceu o nome da variável entitylist. Opcionalmente, variável de um nome diferente pode ser fornecido.
{% entitylist my_list = name:My List %}
Loaded list {{ my_list.adx_name }}.
{% endentitylist %}
Parâmetros
Forneça somente um da ID, nome ou chave para selecionar a Lista a ser carregada.
id
Carrega uma lista por ID de GUID. id deve ser uma cadeia de caracteres que pode ser analisada como GUID.
{% entitylist id:936DA01F-9ABD-4d9d-80C7-02AF85C822A8 %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
Geralmente, as cadeias de caracteres literais GUID não serão usadas. Em vez disso, a id será especificada usando uma 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 %}
chave
Carrega uma lista por ID ou nome. Se o valor de chave fornecido puder ser analisado como um GUID, a lista será carregada por ID. Caso contrário, é carregado por nome.
<!-- key_variable can hold an ID or name -->
{% entitylist key:key_variable %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
código de idioma
Um código de idioma do inteiro do Dataverse para selecionar os rótulos encontrados na lista a serem carregados. Se nenhum language_code é fornecido, o idioma padrão da conexão do Dataverse aplicativo do site é usado.
{% entitylist name:"My List", language_code:1033 %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
entityview
Carregar uma determinada exibição de Dataverse, como nome ou a identificação. As propriedades de exibição ߝ de metadados da coluna, registros de resultado paginado, etc. podem ser acessados usando um objeto entityview que está disponível dentro do bloco de marca.
Se a exibição é carregada com êxito, o conteúdo do bloco é renderizado. Se a exibição não for encontrada, o conteúdo do bloco não será renderizado.
{% entityview logical_name:'contact', name:"Active Contacts" %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
Por padrão, o objeto entityview é o nome variável de entityview. Opcionalmente, variável de um nome diferente pode ser fornecido.
{% entityview my_view = logical_name:'contact', name:"Active Contacts" %}
Loaded entity view with {{ my_view.total_records }} total records.
{% endentityview %}
Se a entityview é aninhada a um bloco de entitylist, ela herda a configuração padrão (tamanho da página de resultados, opções de filtragem, etc.) da lista. Se os parâmetros de exibição de identificação ou nome não forem fornecidos à entityview, ela carrega a exibição padrão da entitylist anexa.
{% 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 a id ou o logical_name com o nome para selecionar a exibição do Dataverse para carregar. Se nenhum for fornecido, e a marca de exibição da entidade estiver aninhada em uma marca de lista da entidade, a exibição padrão de lista de entidade incluída será carregada.
id
id deve ser uma cadeia de caracteres que pode ser analisada como GUID.
{% entityview id:936DA01F-9ABD-4d9d-80C7-02AF85C822A8 %}
Loaded entity view {{ entityview.name }}.
{% endentityview %}
Geralmente, as cadeias de caracteres literais GUID não serão usadas. Em vez disso, a id será especificada usando uma 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 exibição a ser carregada. Deve ser usado em combinação com o nome.
{% entityview logical_name:'contact', name:"Active Contacts" %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
nome
O nome do Dataverse da visualização a ser carregada. Deve ser usado em combinação com o nome lógico.
{% entityview logical_name:'contact', name:"Active Contacts" %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
filtro
Especifica filtrar a exibição de resultados por usuário ou conta. Deve ter um valor da cadeia de caracteres de usuário ou conta.
{% entityview id:request.params.view, filter:'user' %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
Um caso de uso comum é definir esse parâmetro com base em uma solicitação.
{% entityview id:request.params.view, filter:request.params.filter %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
metafiltro
Especifica a expressão de filtragem dos metadados de lista de resultados para filtrar por exibição. Esse parâmetro é válido apenas quando a entityview é utilizada em combinação com a entitylist. Na maioria dos casos, esse parâmetro é definido com base em uma solicitação.
{% 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 %}
ordem
Especifica uma expressão para o tipo da exibição. Uma expressão do tipo pode conter um ou vários nomes lógicos de atributos de entidade, acompanhados por uma ordem de classificaçã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 uso comum é definir esse parâmetro com base em uma solicitação.
{% entityview id:request.params.view, order:request.params.order %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
página
Especifica a página do resultado a ser carregado. Se esse parâmetro não for especificado, a primeira página de resultados será carregada.
Esse parâmetro deve ser passado em um valor inteiro, ou em uma cadeia de caracteres que pode ser analisada e apresentada como um inteiro. Se um valor é fornecido para esse parâmetro, o valor é nulo ou de outra forma não pode ser analisado para ser apresentado como um inteiro, a primeira página de resultados será carregada.
{% entityview id:request.params.view, page:2 %}
Loaded page {{ entityview.page }} of entity view with {{ entityview.total_records }} total records.
{% endentityview %}
Um caso de uso comum é definir esse parâmetro com base em uma solicitação.
{% 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 para carregar de resultados da página atual. Se nenhum valor for fornecido para esse parâmetro, e a entityview for usada em um bloco de entitylist, o tamanho da página da lista será usado. Se não estiver em um bloco de entitylist, um valor padrão 10 será usado.
Esse parâmetro deve ser passado em um valor inteiro, ou em uma cadeia de caracteres que pode ser analisada e apresentada como um inteiro. Se um valor é fornecido para esse parâmetro, o valor é nulo ou de outra forma não pode ser analisado para ser apresentado como um inteiro, o tamanho da página padrão será usado.
{% entityview id:request.params.view, page_size:20 %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
Um caso de uso comum é definir esse parâmetro com base em uma solicitação.
{% entityview id:request.params.view, page_size:request.params.pagesize %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
pesquisar
Especifica uma expressão de pesquisa que filtra por resultados da exibição. Expressões simples das pesquisas de palavras-chave filtram os atributos à procura da palavra-chave. * curingas também podem ser incluídos na expressão.
{% entityview id:request.params.view, search:'John\*' %}
Loaded entity view with {{ entityview.total_records }} total matching records.
{% endentityview %}
Um caso de uso comum é definir esse parâmetro com base em uma solicitação, para que o filtro de pesquisa possa ser definido com base nas informações do usuário.
{% 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 do inteiro do Dataverse para selecionar os rótulos encontrados de exibição de entidade (rótulos de cabeçalho de coluna, etc.) a ser carregado. Se nenhum language_code é fornecido, o idioma padrão da conexão do Dataverse aplicativo do site será usado.
Se a entityview é usada em um bloco da entitylist, a entityview herda a configuração do código de idioma da entitylist.
{% entityview logical_name:'contact', name:"Active Contacts", language_code:1033 %}
Loaded entity view {{ entityview.name }}.
{% endentitylist %}
searchindex
Executar uma consulta para o índice de pesquisa do site. Os resultados correspondentes podem ser acessados usando um searchindex que ficará disponível no bloco de marca.
{% 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 padrão, o objeto de índice de pesquisa recebe o nome variável de searchindex. Opcionalmente, variável de um nome diferente pode ser fornecido.
{% searchindex liquid_search = query: 'support', page: params.page, page_size: 10 %}
{% if liquid_search.results.size > 0 %}
...
{% endif %}
{% endsearchindex %}
Parâmetros
A marca searchindex aceita os seguintes parâmetros.
consulta
A consulta usada para combinar resultados. Esse parâmetro deve aceitar a parte especificado pelo usuário do índice de consulta (se for o caso.)
{% searchindex query: 'support' %}
...
{% endsearchindex %}
Um caso de uso comum é definir esse parâmetro com base em uma solicitação.
{% searchindex query: request.params.query %}
...
{% endsearchindex %}
Esse parâmetro oferece suporte à sintaxe do Analisador de Consulta Lucene.
filtro
Outra consulta usada para combinar resultados. Esse parâmetro deve conter um filtro desenvolvedor especificado para resultados, se desejar.
{% searchindex query: request.params.query, filter: '+statecode:0' %}
...
{% endsearchindex %}
Esse parâmetro oferece suporte à sintaxe do Analisador de Consulta Lucene.
Observação
A diferença entre filtro e consulta é que enquanto ambos aceitam a sintaxe do analisador de consulta Lucene, a consulta tende a ser mais complacente sobre como essa sintaxe é analisada ߝ pois a maior parte dos usuários finais não tem conhecimento da sintaxe. Assim, na ocorrência de análise, conforme a falha dessa sintaxe, toda a consulta será enviada e escapada como texto de consulta. o filtro, por outro lado, será estritamente analisado e retornará um erro se houver ocorrência de sintaxe inválida.
logical_names
Nomes lógicos de entidade do Dataverse para os quais resultados combinatórias serão restritos, como uma cadeia de caracteres delimitada por vírgula. Se não fornecidos, todas as entidades combinatórias são retornadas.
{% searchindex query: request.params.query, logical_names: 'kbarticle,incident' %}
...
>
{% endsearchindex %}
página
A página de resultados de pesquisa a ser retornada. Se não, desde a primeira página (1) é retornada.
{% searchindex query: request.params.query, page: 2 %}
...
{% endsearchindex %}
Um caso de uso comum é definir esse parâmetro com base em uma solicitação.
{% searchindex query: request.params.query, page: request.params.page %}
...
{% endsearchindex %}
page_size
O tamanho da página de resultados a ser retornado. Se não fornecido, um tamanho padrão de 10 será usado.
{% searchindex query: request.params.query, page_size: 20 %}
...
{% endsearchindex %}
entityform
Renderiza totalmente um formulário, por nome ou ID.
Observação
A marca do entityform fica disponível somente para uso no conteúdo renderizado em um modelo de página com base em modelo da web–. Ao tentar usar um modelo reescrito de marca na página, ele não renderizará nada. Você só pode renderizar uma marca de entityform ou formulário da Web por página. marcas de entityform ou formulário da Web não serão renderizadas depois da primeira.
{% entityform name: 'My Basic Form' %}
Parâmetros
nome
O nome do formulário básico que deseja carregar.
{% entityform name:My Basic Form %}
formulário da Web
Renderiza totalmente um formulário de várias etapas, por nome ou ID. A marca do formulário da Web fica disponível para uso somente no conteúdo renderizado em um modelo de página baseado em um modelo da Web. Ao tentar usar um modelo reescrito de marca na página, ele não renderizará nada. Você só pode renderizar uma marca de entityform ou formulário da Web por página. marcas de entityform ou formulário da Web não serão renderizadas depois da primeira.
{% webform name: 'My Multistep Form' %}
Parâmetros
nome
O nome do Formulário de Várias Etapas que você deseja carregar.
{% webform name:My Multistep Form %}
codecomponent
Permite inserir componentes de código por meio de uma marca Liquid. Por exemplo, adicionar um controle personalizado de exibição de mapa a uma página da Web.
Parâmetros
nome
A ID ou o nome do componente de código.
propriedade
Os valores das propriedades que o componente de código espera precisam ser passados como um par de chave/valor separado por ":" (sinal de dois pontos), no qual a chave é o nome da propriedade e o valor é o valor da cadeia de caracteres JSON.
{% codecomponent name:abc\_SampleNamespace.MapControl controlValue:'Space Needle' controlApiKey:<API Key Value> %}
Observação
As propriedades necessárias podem ser diferentes dependendo do componente escolhido.
Consulte Usar a marca de modelo do Liquid para componentes.