Značky Liquid pro Dataverse
Značky Liquid pro Microsoft Dataverse slouží k načtení a zobrazení dat Dataverse nebo použití jiných služeb rozhraní Power Pages. Tyto značky představují rozšíření jazyka Liquid specifická pro aplikaci Dataverse.
graf
Přidá graf modelem řízené aplikace Power Apps na webovou stránku. Značku grafu lze přidat do pole Kopie na webové stránce nebo do pole Zdroj na webové šabloně. Postup přidání grafu modelem řízené aplikace Power Apps na webovou stránku naleznete v tématu Přidání grafu na webovou stránku v Power Pages.
{% chart id:"EE3C733D-5693-DE11-97D4-00155DA3B01E" viewid:"00000000-0000-0000-00AA-000010001006" %}
Parametry
Spolu se značkou grafu je třeba poskytnout dva parametry: chart id a viewid.
chart id
ID vizualizace grafu. ID lze získat exportováním grafu.
viewid
ID tabulky při otevření v editoru zobrazení.
powerbi
Přidá řídicí panely Power BI a sestavy jako součást stránek. Značku lze přidat do pole Kopie na webové stránce nebo do pole Zdroj na webové šabloně. Postup přidání sestavy nebo řídicího panelu Power BI na webovou stránku v Power Pages naleznete v tématu Přidání sestavy nebo řídicího panelu Power BI na webovou stránku v Power Pages.
Poznámka:
Aby značka fungovala, musíte povolit integraci Power BI z centra Power Pages v centru pro správu Power Platform. Pokud není povolena integrace Power BI, řídicí panel nebo sestava se nezobrazí.
Parametry
Značka powerbi přijímá následující parametry:
path
Cesta sestavy Power BI nebo řídicího panelu. Pokud jsou sestava Power BI nebo řídicí panel zabezpečené, je nutné zadat typ ověřová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
Typ požadovaného ověření pro sestavu Power BI nebo řídicí panel. Platné hodnoty pro tento parametr jsou:
Anonymní: umožňuje vložit publikování ve webových sestavách Power BI. Výchozím typem ověřování je anonymní. Pokud používáte typ ověřování jako Anonymní, musíte získat adresu URL sestavy Power BI, jak je popsáno v článku Publikování na web z Power BI
AAD: Umožňuje sdílet bezpečné sestavy nebo řídicí panely Power BI s ověřenými uživateli Power BI Microsoft Entra ID.
powerbiembedded: umožňuje sdílet zabezpečené sestavy nebo řídicí panely Power BI s externími uživateli, kteří nemají licenci Power BI nebo nastavení pro ověření Microsoft Entra. Informace o nastavení služby Power BI Embedded, viz Povolení služby Power BI Embedded.
Při přidávání zabezpečené sestavy Power BI nebo řídicího panelu se ujistěte, že jsou sdíleny se službami Power Pages Microsoft Entra nebo Power BI Embedded.
Poznámka:
V hodnotách parametru authentication_type
se nerozlišují malá a velká písmena.
{% powerbi authentication_type:"AAD" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection01" %}
Sestavu také můžete filtrovat u jedné nebo více hodnot. Chcete-li filtrovat sestavu syntaxe je:
URL?filter=Table/Field eq 'value'
Řekněme například, že chcete filtrovat sestavu k zobrazení dat pro kontakt jménem Bert Hair. K adrese URL musíte přidat následující data:
?filter=Executives/Executive eq 'Bert Hair'
Úplný kód je:
{% 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'" %}
Další informace o filtrování sestavy: Filtrování sestavy pomocí parametrů řetězce dotazu v adrese URL
Poznámka:
Anonymní sestava nepodporuje filtrování.
Můžete také vytvořit dynamickou cestu pomocí proměnné capture
Liquid:
{% 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 %}
Další informace o proměnné Liquid: variabilní značky
tileid
Zobrazí určenou dlaždici řídicího panelu. Je nutné zadat ID dlaždice.
{% 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" %}
Role.
Role přiřazené k sestavě Power BI. Tento parametr funguje pouze v případě, že parametr typ ověření je nastaven na powerbiembedded.
Pokud jste definovali role ve službě Power BI a přidělili je k sestavám, musíte zadat odpovídající role ve značce powerbi Liquid. Role umožňují filtrovat data, která mají být zobrazena v sestavě. Můžete zadat více rolí oddělených čárkou. Další informace o definování rolí ve službě Power BI viz Zabezpečení na úrovni řádku (RLS) se službou 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" %}
Pokud jste roli sestavě Power BI přiřadili roli a nezadali parametr role ve značce Liquid nebo nezadal roli v parametru, zobrazí se chyba.
Tip
Pokud chcete použít webové role definované ve vašem webu jako role Power BI, můžete definovat proměnnou a přidělit jí webové role. Potom můžete použít definovanou proměnnou ve značce Liquid.
Řekněme, že jste ve svém webu definovali dvě webové role jako Vychodni_oblast a Zapadni_oblast. Můžete se k nim připojit pomocí kódu: {% assign webroles = user.roles | join: ", " %}
Ve výše uvedeném fragmentu kódu webroles
je proměnná a v ní budou uloženy webové role Vychodni_oblast a Zapadni_oblast.
Ve značce Liquid použijte proměnnou webroles
následovně:
{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000000/ReportSection2" roles:webroles%}
lze upravit
Zobrazí daný objekt Power Pages CMS jako upravitelný web pro uživatele s oprávněním provádět úpravy obsahu tohoto objektu. Mezi upravitelné objekty patří page, snippets a 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 %}
Parametry
První parametr poskytnutý editovatelnému je upravitelný objekt, jako je sada webových odkazů, úryvky nebo aktuální stránka. Volitelný druhý parametr slouží k zadání názvu atributu nebo klíče v rámci tohoto objektu, který má být zobrazen a upraven. Hodnota může být např. název atributu tabulky nebo název fragmentu kódu.
Po těchto počátečních parametrech může následovat ve značce mnoho volitelných pojmenovaných parametrů.
class
Určuje hodnotu atributu class pro kořenový prvek zobrazený touto značkou.
default
Výchozí hodnota, jež se zobrazí v případě, že položka, kterou lze upravovat, nemá žádnou hodnotu.
escape
Logická hodnota označující, zda bude hodnota zobrazená touto značkou kódována v jazyce HTML. Ve výchozím nastavení je tato hodnota false.
liquid
Logická hodnota označující, zda bude jakýkoli kód šablony Liquid nalezený v rámci textové hodnoty zobrazené touto značkou zpracován. Ve výchozím nastavení je tato hodnota true.
tag
Název HTML značek kontejneru vykreslených touto značkou. Tato značka bude standardně zobrazovat prvky div. Doporučujeme vybrat si jako hodnotu pro tento parametr mezi div nebo span.
title
Určuje popisek pro tuto upravitelnou položku v rámci rozhraní pro úpravy obsahu. Není-li k dispozici žádný popisek, je automaticky vygenerován.
type
Řetězcová hodnota označující typ prezentovaného rozhraní pro úpravy textových hodnot, které lze upravovat. Platné hodnoty pro tento parametr jsou html nebo text. Výchozí hodnota je html.
entitylist
Načte daný seznam podle názvu nebo ID. Vlastnosti seznamu jsou přístupné pomocí parametru entitylist object dostupného v rámci bloku značek. K zobrazení samotných záznamů výsledků seznamu použijte značku entityview v rámci bloku.
Pokud je seznam úspěšně načten, obsah v bloku bude zobrazen. Pokud není seznam nalezen, obsah bloku nebude zobrazen.
{% entitylist name:My List %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
Standardně bude objektu entitylist přidělen název proměnné entitylist. Volitelně lze zadat jiný název proměnné.
{% entitylist my_list = name:My List %}
Loaded list {{ my_list.adx_name }}.
{% endentitylist %}
Parametry
Abyste mohli vybrat seznam, který chcete načíst, zadejte pouze jeden z parametrů id, name nebo key.
id
Načte seznam podle GUID ID. id musí být řetězec, který lze analyzovat jako GUID.
{% entitylist id:936DA01F-9ABD-4d9d-80C7-02AF85C822A8 %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
Řetězce GUID literálu nejsou obecně použity. Místo toho je id určeno pomocí vlastnosti GUID jiné proměnné.
{% entitylist id:page.adx_entitylist.id %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
name
Načte seznam podle názvu.
{% entitylist name:My List %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
key
Načte seznam podle ID nebo názvu. Pokud lze zadanou hodnotu klíče analyzovat jako GUID, je seznam načten podle ID. V opačném případě je načten podle názvu.
<!-- key_variable can hold an ID or name -->
{% entitylist key:key_variable %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
language_code
Celočíselný kód jazyka aplikace Dataverse sloužící k výběru lokalizovaných popisků seznamu, které budou načteny. Pokud není k dispozici žádný parametr language_code, použije se výchozí jazyk připojení Dataverse aplikace webu.
{% entitylist name:"My List", language_code:1033 %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
entityview
Načte dané zobrazení aplikace Dataverse podle názvu nebo ID. K vlastnostem zobrazení metadatům sloupce zobrazení, stránkovaným záznamům výsledků atd. lze získat přístup pomocí parametru entityview object, který bude k dispozici v rámci bloku značek.
Pokud je zobrazení úspěšně načteno, obsah v bloku je zobrazen. Pokud není zobrazení nalezeno, obsah bloku nebude zobrazen.
{% entityview logical_name:'contact', name:"Active Contacts" %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
Standardně je objektu entityview přidělen název proměnné entityview. Volitelně lze zadat jiný název proměnné.
{% entityview my_view = logical_name:'contact', name:"Active Contacts" %}
Loaded entity view with {{ my_view.total_records }} total records.
{% endentityview %}
Pokud je parametr entityview vnořen uvnitř bloku entitylist, zdědí svou výchozí konfiguraci (velikost stránky s výsledky, možnosti filtrování atd.) ze seznamu. Pokud nejsou k dispozici žádné parametry zobrazení id ani nebo pro parametr entityview, načte se výchozí zobrazení z uzavírajícího parametru entitylist.
{% 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 %}
Parametry
Zadejte buď id nebo logical_name s parametrem name, chcete-li vybrat zobrazení aplikace Dataverse, které má být načteno. Pokud není zadán ani jeden parametr a značka entityview je vnořena uvnitř značky entitylist, je načteno výchozí zobrazení uzavírajícího parametru entitylist.
id
id musí být řetězec, který lze analyzovat jako GUID.
{% entityview id:936DA01F-9ABD-4d9d-80C7-02AF85C822A8 %}
Loaded entity view {{ entityview.name }}.
{% endentityview %}
Řetězce GUID literálu nejsou obecně použity. Místo toho je id určeno pomocí vlastnosti GUID jiné proměnné.
{% entityview id:request.params.view %}
Loaded entity view {{ entityview.name }} using view query string request parameter.
{% endentityview %}
logical_name
Logický název entity aplikace Dataverse pro zobrazení, které má být načteno. Musí být použit v kombinaci s parametrem name.
{% entityview logical_name:'contact', name:"Active Contacts" %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
name
Název zobrazení aplikace Dataverse, které má být načteno. Musí být použit v kombinaci s parametrem logical_name.
{% entityview logical_name:'contact', name:"Active Contacts" %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
filter
Určuje, zda filtrovat výsledky zobrazení podle uživatele nebo obchodního vztahu. Musí mít hodnotu řetězce uživatel nebo obchodní vztah.
{% entityview id:request.params.view, filter:'user' %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
Běžným případem použití je nastavit tento parametr na základě parametru request.
{% entityview id:request.params.view, filter:request.params.filter %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
metafilter
Určuje výraz filtru metadat seznamu, podle kterého chcete filtrovat výsledky zobrazení. Tento parametr je platný pouze při použití parametru entityview v kombinaci s parametrem entitylist. Ve většině případů je tento parametr nastaven na základě parametru 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
Určuje výraz řazení pro řazení výsledků zobrazení. Výraz řazení může obsahovat jeden nebo několik logických názvů atributu entity, po nichž následuje směr řazení buď ASC, nebo DESC.
{% entityview id:request.params.view, order:'name ASC, createdon DESC' %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
Běžným případem použití je nastavit tento parametr na základě parametru request.
{% entityview id:request.params.view, order:request.params.order %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
page
Určuje stránku s výsledky zobrazení, která bude načtena. Pokud není tento parametr zadán, je načtena první stránka s výsledky.
Tomuto parametru musí být předána buď celočíselná hodnota, nebo řetězec, který lze analyzovat jako celé číslo. Pokud je zadána hodnota pro tento parametr, ale tato hodnota je null nebo ji nelze analyzovat jako celé číslo, je načtena první stránka s výsledky.
{% entityview id:request.params.view, page:2 %}
Loaded page {{ entityview.page }} of entity view with {{ entityview.total_records }} total records.
{% endentityview %}
Běžným případem použití je nastavit tento parametr na základě parametru 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
Určuje počet výsledků, které budou načteny na aktuální stránce s výsledky. Pokud není zadána žádná hodnota pro tento parametr a parametr entitylist je použit uvnitř bloku entitylist, použije se velikost stránky seznamu. Pokud není parametr použit uvnitř bloku entitylist, použije se výchozí hodnota 10.
Tomuto parametru musí být předána buď celočíselná hodnota, nebo řetězec, který lze analyzovat jako celé číslo. Pokud je zadána hodnota pro tento parametr, ale tato hodnota je null nebo ji nelze analyzovat jako celé číslo, použije se výchozí velikost stránky.
{% entityview id:request.params.view, page_size:20 %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
Běžným případem použití je nastavit tento parametr na základě parametru request.
{% entityview id:request.params.view, page_size:request.params.pagesize %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
search
Určuje výraz vyhledávání, podle kterého budou filtrovány výsledky zobrazení. Jednoduché výrazy vyhledávání podle klíčových slov filtrují podle toho, zda atributy začínají klíčovým slovem. Zástupné znaky * lze také zahrnout do výrazu.
{% entityview id:request.params.view, search:'John\*' %}
Loaded entity view with {{ entityview.total_records }} total matching records.
{% endentityview %}
Běžným případem použití je nastavit tento parametr na základě parametru request tak, aby filtr hledání mohl být nastaven na základě zadání uživatele.
{% entityview id:request.params.view, search:request.params.search %}
Loaded entity view with {{ entityview.total_records }} total matching records.
{% endentityview %}
language_code
Celočíselný kód jazyka aplikace Dataverse sloužící k výběru lokalizovaných popisků zobrazení entit (popisky záhlaví sloupců atd.), které budou načteny. Pokud není k dispozici žádný parametr language_code, použije se výchozí jazyk připojení Dataverse aplikace webu.
Pokud je parametr entityview použit uvnitř bloku entitylist, zdědí parametr entityview svou konfiguraci kódu jazyka z parametru entitylist.
{% entityview logical_name:'contact', name:"Active Contacts", language_code:1033 %}
Loaded entity view {{ entityview.name }}.
{% endentitylist %}
searchindex
Provede dotaz vůči indexu vyhledávání na webu. Odpovídající výsledky jsou přístupné pomocí parametru searchindex, který je k dispozici v rámci bloku značek.
{% 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>
Standardně je objektu indexu vyhledávání přidělen název proměnné searchindex. Volitelně lze zadat jiný název proměnné.
{% searchindex liquid_search = query: 'support', page: params.page, page_size: 10 %}
{% if liquid_search.results.size > 0 %}
...
{% endif %}
{% endsearchindex %}
Parametry
Značka searchindex přijímá následující parametry.
query
Dotaz použitý k porovnání výsledků. Tento parametr slouží k přijetí součásti dotazu indexu (pokud existuje) zadané uživatelem.
{% searchindex query: 'support' %}
...
{% endsearchindex %}
Běžným případem použití je nastavit tento parametr na základě parametru request.
{% searchindex query: request.params.query %}
...
{% endsearchindex %}
Tento parametr podporuje syntaxi analyzátoru dotazů Lucene.
filter
Další dotaz použitý k porovnání výsledků. Tento parametr slouží k přijetí filtru výsledků zadaného vývojářem, je-li vyžadován.
{% searchindex query: request.params.query, filter: '+statecode:0' %}
...
{% endsearchindex %}
Tento parametr podporuje syntaxi analyzátoru dotazů Lucene.
Poznámka:
Rozdíl mezi parametrem filter a query je ten, že zatímco oba přijímají syntaxi analyzátoru dotazů Lucene, parametr query má být o něco benevolentnější ohledně toho, jak je tato syntaxe analyzována ߝ protože se očekává, že většina koncových uživatelů si nebude vědoma této syntaxe. Takže v případě, že se analýza parametru query podle této syntaxe nezdaří, bude celý dotaz vynechán a odeslán jako text dotazu. Parametr filter bude oproti tomu analyzován přísně a v případě neplatné syntaxe vrátí chybu.
logical_names
Logické názvy entit aplikace Dataverse, na něž budou omezeny odpovídající výsledky, jako například řetězec oddělený čárkami. Nejsou-li zadány, jsou vráceny všechny odpovídající entity.
{% searchindex query: request.params.query, logical_names: 'kbarticle,incident' %}
...
>
{% endsearchindex %}
page
Stránka s výsledky hledání, která bude vrácena. Není-li zadána, je vrácena první stránka (1).
{% searchindex query: request.params.query, page: 2 %}
...
{% endsearchindex %}
Běžným případem použití je nastavit tento parametr na základě parametru request.
{% searchindex query: request.params.query, page: request.params.page %}
...
{% endsearchindex %}
page_size
Velikost stránky s výsledky hledání, která bude vrácena. Není-li zadána, je použita výchozí velikost 10.
{% searchindex query: request.params.query, page_size: 20 %}
...
{% endsearchindex %}
entityform
Plně zobrazí formulář podle názvu nebo ID.
Poznámka:
Značka entityform je k dispozici pouze pro použití v obsahu zobrazeném v rámci šablony stránky vycházející z webové šablony. Při pokusu o použití značky uvnitř šablony stránky založené na přepisu se nic nezobrazí. Můžete zobrazit pouze jednu značku entityform nebo webform na stránce. Značky entityform nebo webform po první značce nebudou zobrazeny.
{% entityform name: 'My Basic Form' %}
Parametry
name
Název základního formuláře, který se má načíst.
{% entityform name:My Basic Form %}
webform
Plně zobrazí formulář s více kroky podle názvu nebo ID. Značka webform je k dispozici pouze pro použití v obsahu zobrazeném v rámci šablony stránky vycházející z webové šablony. Při pokusu o použití značky uvnitř šablony stránky založené na přepisu se nic nezobrazí. Můžete zobrazit pouze jednu značku entityform nebo webform na stránce. Značky entityform nebo webform po první značce nebudou zobrazeny.
{% webform name: 'My Multistep Form' %}
Parametry
name
Název vícekrokového formuláře, který se má načíst.
{% webform name:My Multistep Form %}
codecomponent
Umožňuje vložit komponenty kódu pomocí značky Liquid. Například přidání vlastního ovládacího prvku zobrazení mapy na webovou stránku.
Parametry
name
ID nebo název komponenty kódu.
vlastnost
Hodnoty vlastností, které komponenta kódu očekává, musí být předány jako pár klíč/hodnota oddělený ":" (dvojtečka), kde klíč je název vlastnosti a hodnota je hodnota řetězce JSON.
{% codecomponent name:abc\_SampleNamespace.MapControl controlValue:'Space Needle' controlApiKey:<API Key Value> %}
Poznámka:
Požadované vlastnosti se mohou lišit v závislosti na komponentě, kterou zvolíte.
Viz Použití značky šablony Liquid komponent kódu.