Etiquetas de Liquid de Dataverse
Las etiquetas de Liquid de Microsoft Dataverse se usan para cargar y mostrar los datos de Dataverse, o usar otros servicios de marco de Power Pages. Estos etiquetas son extensiones específicas de Dataverse del lenguaje Liquid.
Gráfico
Agrega un gráfico de aplicación basada en modelo de Power Apps a una página web La etiqueta del gráfico puede añadirse en el campo Copiar en una página web o en el campo Origen en una plantilla web. Para ver los pasos para agregar un gráfico de una aplicaciòn basada en modelo de Power Apps en una página web, consulte Agregar un gráfico a una página web en Power Pages.
{% chart id:"EE3C733D-5693-DE11-97D4-00155DA3B01E" viewid:"00000000-0000-0000-00AA-000010001006" %}
Parámetros
Existen dos parámetros que se ofrecerán junto con la etiqueta del gráfico: id. de gráfico y viewid.
Id. de gráfico
Identificador de visualización del gráfico. Puede obtener el Id. exportando el gráfico.
viewid
Identificador de la tabla cuando se abre en el editor de vistas.
powerbi
Agrega los paneles e informes de Power BI dentro de las páginas. La etiqueta del gráfico puede añadirse en el campo Copiar en una página web o en el campo Origen en una plantilla web. Para ver los pasos para agregar un informe o una panel de Power BI a una página web en Power Pages, consulte Adición de informes o paneles de Power BI a una página web en Power Pages.
Nota
Para que la etiqueta funcione, debe habilitar la integración de Power BI desde el Centro de Power Pages en el centro de administración de Power Platform. Si la integración de Power BI no está habilitada, el panel o el informe no se mostrará.
Parámetros
La etiqueta powerbi acepta los siguientes parámetros.
path
Ruta del informe o el panel de Power BI. Si el informe o el panel de Power BI son seguros, debe proporcionar el tipo de autenticación.
{% 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 autenticación necesaria para el informe o el panel de Power BI. Los valores válidos para este parámetro son:
Anónimo: Permite insertar publicaciones en informes de Power BI web. El tipo de autenticación predeterminado es Anónimo. Cuando utilice el tipo de autenticación como Anónimo, debe obtener la dirección URL del informe de Power BI como se describe en: Publicar en la web desde Power BI
AAD: Permitir compartir informes Power BI o los paneles Power BI Microsoft Entra ID a los usuarios autenticados.
powerbiembedded: permite compartir los informes o los paneles seguros de Power BI con usuarios externos que no tienen licencia de Power BI o configuración de autenticación Microsoft Entra. Para obtener información sobre la configuración del servicio Power BI Embedded, consulte Habilitar el servicio Power BI Embedded.
Mientras agrega el informe o el panel seguro de Power BI, asegúrese de que se comparte con servicios Microsoft Entra o Power BI Embedded de Power Pages.
Nota
Los valores del parámetro authentication_type
no distinguen entre mayúsculas y minúsculas.
{% powerbi authentication_type:"AAD" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection01" %}
También puede filtrar el informe por uno o varios valores. La sintaxis para filtrar un informe es:
URL?filter=Tabla/Campo eq 'valor'
Por ejemplo, supongamos que desea filtrar el informe para ver los datos para un contacto Bert Hair. Debe anexar la dirección URL con los datos siguientes:
?filter=Executives/Executive eq 'Bert Hair'
El código completo es:
{% 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'" %}
Más información sobre cómo filtrar un informe: Filtrar un informe usando parámetros de cadena de consulta en la dirección URL
Nota
El informe anónimo no admite filtros.
También puede crear una ruta dinámica mediante la variable de 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 %}
Más información sobre la variable de Liquid: Etiquetas de variables
tileid
Muestra la ventana especificada del panel. Debe proporcionar el Id. de la ventana.
{% 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" %}
roles.
Roles asignados al informe Power BI. Este parámetro funciona únicamente cuando el parámetro authentication_type se establece en powerbiembedded.
Si ha definido roles en Power BI y los ha asignado a informes, se deben especificar los roles apropiados en la etiqueta Liquid powerbi . Los roles le permite filtre los datos que se mostrarán en un informe. Puede especificar varios roles separados por comas. Para obtener más información sobre la definición de roles en Power BI, consulte Seguridad de nivel de fila (RLS) con 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 ha asignado un rol a un informe de Power BI, y no especificó el parámetro roles en la etiqueta Liquid ni especificó un rol del parámetro, se mostrará un error.
Propina
Si desea usar los roles web definidos en el sitio como roles Power BI, puede definir una variable y asignarla roles web. Puede usar posteriormente la variable definido en la etiqueta Liquid.
Digamos que ha definido dos roles web como Region_East y Region_West en el sitio. Puede unirlos con el código: {% assign webroles = user.roles | join: ", " %}
En el fragmento de código anterior, webroles
es una variable y los roles web de Region_East y de Region_West se almacenarán en ella.
Use la variable webroles
como sigue en la etiqueta 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
Representa un objeto CMS de Power Pages como editable en el sitio, para usuarios con permiso de edición de contenido para ese objeto. Los objetos editables son página, fragmentos y 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
El primer parámetro proporcionado a editable es el objeto editable, como un conjunto de vínculos web, fragmentos o la página actual. El segundo parámetro opcional es para especificar un nombre de atributo o una clave dentro de ese objeto que se debe representar y editar. Este valor podría ser el nombre de un atributo de tabla o un nombre de fragmento, por ejemplo.
Después de estos parámetros iniciales, la etiqueta admite varios parámetros opcionales con nombre.
clase
Especifica un valor de atributo class para el elemento raíz representado por esta etiqueta.
default
Un valor predeterminado representado en caso de que el elemento editable no tenga ningún valor.
escape
Un valor booleano que indica si un valor generado por esta etiqueta se codifica como HTML. De forma predeterminada, el valor es False.
liquid
Un valor booleano que indica si se procesará algún código de plantilla Liquid encontrado dentro del valor de texto representado por esta etiqueta. Este valor es True de forma predeterminada.
tag
El nombre de las etiquetas HTML contenedoras que representa esta etiqueta. Esta etiqueta representa elementos div de forma predeterminada. Se recomienda elegir entre div o span como valor de este parámetro.
title
Especifica una etiqueta para este elemento editable en la interfaz de edición de contenido. Si no se ofrece ninguna, una etiqueta descriptiva se genera automáticamente.
type
Un valor de cadena que indica el tipo de interfaz de edición que se mostrará, para valores del texto modificables. Los valores válidos para este parámetro son html o texto. html es la opción predeterminada.
entitylist
Carga una determinada lista, por nombre o Id. Puede obtener acceso a las propiedades de la lista de tablas utilizando un objeto entitylist disponible en el bloque de etiqueta. Para representar los registros de resultados reales de la lista, use la etiqueta entityview en el bloque.
Si la lista se carga correctamente, el contenido del bloque se representa. Si la lista no se encuentra, el contenido del bloque no se representa.
{% entitylist name:My List %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
De forma predeterminada, el objeto entitylist recibe el nombre de variable entitylist. Opcionalmente, puede proporcionar otro nombre de variable.
{% entitylist my_list = name:My List %}
Loaded list {{ my_list.adx_name }}.
{% endentitylist %}
Parámetros
Proporcione solo uno: id, name o key para seleccionar la lista que desea cargar.
id
Carga una lista por id. de GUID. El id debe ser una cadena que se puede analizar como GUID.
{% entitylist id:936DA01F-9ABD-4d9d-80C7-02AF85C822A8 %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
Normalmente, las cadenas GUID literales no se usan. En su lugar, se especifica id mediante una propiedad GUID de otra variable.
{% entitylist id:page.adx_entitylist.id %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
name
Carga una lista por nombre.
{% entitylist name:My List %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
key
Carga una lista por ID o nombre. Si el valor de clave proporcionado se puede analizar como GUID, la lista se carga por Id. De lo contrario, se carga por nombre.
<!-- key_variable can hold an ID or name -->
{% entitylist key:key_variable %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
language_code
Un código de idioma entero de Dataverse para seleccionar las etiquetas localizadas de la lista que se cargarán. Si no se proporciona un language_code, se usará el idioma predeterminado de la conexión de Dataverse de la aplicación del sitio.
{% entitylist name:"My List", language_code:1033 %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
entityview
Carga una vista de Dataverse dada, por nombre o Id. A continuación se puede acceder a las propiedades de la vista ߝ de metadatos de columna de la vista, registros paginados de resultados, etc. utilizando un objeto entityview que está disponible en el bloque de etiquetas.
Si la vista se carga correctamente, el contenido del bloque se representa. Si la vista no se encuentra, el contenido del bloque no se representa.
{% entityview logical_name:'contact', name:"Active Contacts" %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
De forma predeterminada, el objeto entityview recibe el nombre de variable entityview. Opcionalmente, puede proporcionar otro nombre de variable.
{% entityview my_view = logical_name:'contact', name:"Active Contacts" %}
Loaded entity view with {{ my_view.total_records }} total records.
{% endentityview %}
Si entityview se anida en un bloque de entitylist, hereda su configuración predeterminada (tamaño de la página de resultados, opciones de filtrado, etc.) de la lista. Si no se proporcionan parámetros id o name de vista a entityview, carga la vista predeterminada desde la entitylist asociada.
{% 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
Proporcione bien el id. o el logical_name con el nombre para seleccionar la vista de Dataverse para cargar. Si no se proporciona ninguna, y la etiqueta entityview está anidada en una etiqueta entitylist, se carga la vista predeterminada de la entitylist asociada.
id
id debe ser una cadena que se puede analizar como GUID.
{% entityview id:936DA01F-9ABD-4d9d-80C7-02AF85C822A8 %}
Loaded entity view {{ entityview.name }}.
{% endentityview %}
Normalmente, las cadenas GUID literales no se usan. En su lugar, se especifica id mediante una propiedad GUID de otra variable.
{% entityview id:request.params.view %}
Loaded entity view {{ entityview.name }} using view query string request parameter.
{% endentityview %}
logical_name
Nombre lógico de la entidad de Dataverse de la vista que se va a cargar. Deben usarse junto con name.
{% entityview logical_name:'contact', name:"Active Contacts" %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
name
El nombre de Dataverse de la vista que se cargará. Deben usarse junto con logical_name.
{% entityview logical_name:'contact', name:"Active Contacts" %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
filter
Especifica si filtrar los resultados de la vista por usuario o cuenta. Debe tener un valor de cadena de usuario o cuenta.
{% entityview id:request.params.view, filter:'user' %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
Un caso de uso común es establecer este parámetro basado en una solicitud.
{% entityview id:request.params.view, filter:request.params.filter %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
metafilter
Especifica la expresión del filtro de metadatos de la lista por la que se filtrarán los resultados de la vista. Este parámetro solo es válido cuando entityview se utiliza junto con entitylist. En la mayoría de los casos, este parámetro se basa en una solicitud.
{% 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 una expresión de ordenación para ordenar los resultados de la vista. Una expresión de ordenación puede contener uno o varios nombres lógicos del atributo de entidad, seguido de una dirección de orden de ASC o DESC.
{% entityview id:request.params.view, order:'name ASC, createdon DESC' %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
Un caso de uso común es establecer este parámetro basado en una solicitud.
{% entityview id:request.params.view, order:request.params.order %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
page
Especifica la página de resultados de la vista para cargar. Si no se especifica este parámetro, la primera página de resultados se carga.
Este parámetro se debe pasar como un valor entero, o una cadena que se pueda analizar como un entero. Si se proporciona un valor para este parámetro, pero el valor es nulo o no se puede analizar de otro modo como entero, la primera página de resultados se carga.
{% entityview id:request.params.view, page:2 %}
Loaded page {{ entityview.page }} of entity view with {{ entityview.total_records }} total records.
{% endentityview %}
Un caso de uso común es establecer este parámetro basado en una solicitud.
{% 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 el número de resultados para cargar para la página de resultados actual. Si no se proporciona un valor para este parámetro, y entityview se usa en un bloque entitylist, se usa el tamaño de página de la lista. Si no se encuentra en un bloque de entitylist, se usa un valor predeterminado de 10.
Este parámetro se debe pasar como un valor entero, o una cadena que se pueda analizar como un entero. Si se proporciona un valor para este parámetro, pero el valor es nulo o no se puede analizar de otro modo como entero, se usa el tamaño de página predeterminado.
{% entityview id:request.params.view, page_size:20 %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
Un caso de uso común es establecer este parámetro basado en una solicitud.
{% entityview id:request.params.view, page_size:request.params.pagesize %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
search
Especifica una expresión de búsqueda por la que filtrar los resultados de la vista. Expresiones simples de búsqueda de palabras clave filtran en función de si los atributos empiezan por la palabra clave. Los comodines * también se pueden incluir en la expresión.
{% entityview id:request.params.view, search:'John\*' %}
Loaded entity view with {{ entityview.total_records }} total matching records.
{% endentityview %}
Un caso de uso compartido es establecer este parámetro basado en una solicitud, para poder establecer el filtro de búsqueda basado en la entrada del usuario.
{% entityview id:request.params.view, search:request.params.search %}
Loaded entity view with {{ entityview.total_records }} total matching records.
{% endentityview %}
language_code
Un código de idioma entero de Dataverse para seleccionar las etiquetas localizadas de vista de la entidad (etiquetas de encabezado de columna, etc.) para cargar. Si no se proporciona un language_code, se usará el idioma predeterminado de la conexión de Dataverse de la aplicación del sitio web.
Si entityview se usa dentro de un bloque entitylist, entityview hereda su configuración de código de idioma de entitylist.
{% entityview logical_name:'contact', name:"Active Contacts", language_code:1033 %}
Loaded entity view {{ entityview.name }}.
{% endentitylist %}
searchindex
Realiza una consulta en el índice de búsqueda del sitio web. Puede obtener acceso a los resultados que coincidan utilizando un searchindex que esté disponible en el bloque de etiqueta.
{% 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>
De forma predeterminada, el objeto de índice de búsqueda recibe el nombre de variable searchindex. Opcionalmente, puede proporcionar otro nombre de variable.
{% searchindex liquid_search = query: 'support', page: params.page, page_size: 10 %}
{% if liquid_search.results.size > 0 %}
...
{% endif %}
{% endsearchindex %}
Parámetros
La etiqueta searchindex acepta los siguientes parámetros.
query
La consulta usada para que coincidan los resultados. Este parámetro se usa para aceptar la parte especificada por el usuario de la consulta de índice (si la hay).
{% searchindex query: 'support' %}
...
{% endsearchindex %}
Un caso de uso común es establecer este parámetro basado en una solicitud.
{% searchindex query: request.params.query %}
...
{% endsearchindex %}
Este parámetro admite la sintaxis de analizador de consultas de Lucene.
filter
Otra consulta usada para que coincidan los resultados. Este parámetro se usa para aceptar un filtro especificado por el desarrollador para los resultados, si lo desea.
{% searchindex query: request.params.query, filter: '+statecode:0' %}
...
{% endsearchindex %}
Este parámetro admite la sintaxis de analizador de consultas de Lucene.
Nota
La diferencia entre filter y query es aunque ambos aceptarán la sintaxis de analizador de consultas de Lucene, query está pensada para ser más indulgente sobre la sintaxis es ߝ analizada, pues se espera que la mayoría de los usuarios finales no conozcan esta sintaxis. Por lo tanto, en caso de que el análisis de query según la sintaxis genere un error, la consulta completa se incluirá con caracteres de escape y enviará como texto de la consulta. filter, por otro lado, se analizará estrictamente y devolverá un error en el caso de sintaxis no válida.
logical_names
Los nombres lógicos de entidad de Dataverse a los que los resultados coincidentes estarán restringidos, como una cadena delimitada por comas. Si no se proporcionan, se devuelven todas las entidades que coincidan.
{% searchindex query: request.params.query, logical_names: 'kbarticle,incident' %}
...
>
{% endsearchindex %}
page
La página de resultados de búsqueda que se devolverá. Si no se proporciona, la primera página (1) es devuelta.
{% searchindex query: request.params.query, page: 2 %}
...
{% endsearchindex %}
Un caso de uso común es establecer este parámetro basado en una solicitud.
{% searchindex query: request.params.query, page: request.params.page %}
...
{% endsearchindex %}
page_size
El tamaño de la página de resultados que se devolverá. Si no se proporciona, se usa un tamaño predeterminado de 10.
{% searchindex query: request.params.query, page_size: 20 %}
...
{% endsearchindex %}
entityform
Representa completamente un formulario por nombre o Id.
Nota
La etiqueta entityform sólo está disponible para su uso en el contenido representado en una plantilla de página basada en plantilla web–. Intentar usar la etiqueta en una plantilla de página basada en reescritura no representará nada. Solo puede representar una sola etiqueta entityform o webform por página. Las etiquetas entityform o webform después de la primera no se representarán.
{% entityform name: 'My Basic Form' %}
Parámetros
name
El nombre del formulario básico que desea cargar.
{% entityform name:My Basic Form %}
webform
Representa completamente un formulario de varios pasos por nombre o Id. La etiqueta webform solo está disponible para su uso en el contenido representado en una plantilla de página basada en plantilla web. Intentar usar la etiqueta en una plantilla de página basada en reescritura no representará nada. Solo puede representar una sola etiqueta entityform o webform por página. Las etiquetas entityform o webform después de la primera no se representarán.
{% webform name: 'My Multistep Form' %}
Parámetros
name
El nombre del formulario de varios pasos que desea cargar.
{% webform name:My Multistep Form %}
codecomponent
Le permite incrustar componentes de código mediante una etiqueta Liquid. Por ejemplo, agregar un control personalizado de visualización de mapa a una página web.
Parámetros
name
Nombre o id. del componente de código.
property
Los valores de las propiedades que espera el componente de código deben pasarse como un par clave / valor separados por ":" (signo de dos puntos), donde clave es el nombre de la propiedad y el valor es el valor de la cadena JSON.
{% codecomponent name:abc\_SampleNamespace.MapControl controlValue:'Space Needle' controlApiKey:<API Key Value> %}
Nota
Las propiedades requeridas pueden ser diferentes según el componente que elija.
Consulte Usar componentes de código en etiqueta de plantilla de Liquid.