Етикети на Liquid на Dataverse
Етикетите на Liquid на Microsoft Dataverse се използват за зареждане и показване на данни на Dataverse или се използват други услуги на рамка на Power Pages. Тези етикети са специфични за Dataverse разширения към езика Liquid.
диаграма
Добавя се диаграма на приложение, управлявано от модел, на Power Apps към уеб страница. Етикетът на диаграмата може да се добави в полето Копиране на уеб страница или в полето Източник на уеб шаблон. За стъпките за добавяне на диаграма на приложение, управлявано от модел, на Power Apps към уеб страница вижте Добавяне на диаграма към уеб страница в Power Pages.
{% chart id:"EE3C733D-5693-DE11-97D4-00155DA3B01E" viewid:"00000000-0000-0000-00AA-000010001006" %}
Параметри
Трябва да се предоставят два параметъра с етикета на диаграмата: ИД на диаграма и viewid.
chart id
ИД на визуализация на диаграмата. Можете да получите ИД, като експортирате диаграмата.
viewid
ИД на таблицата, когато се отваря в редактора на изгледи.
powerbi
Добавя табла и отчети на Power BI в страници. Етикетът може да се добави в полето Копиране на уеб страница или в полето Източник на уеб шаблон. За стъпки за добавяне на отчет или табло на Power BI към уеб страница в Power Pages вижте Добавяне на отчет или табло на Power BI към уеб страница в Power Pages.
Бележка
За да работи етикетът, трябва да разрешите интеграция на Power BI от центъра на Power Pages в центъра за администриране на Power Platform. Ако не е разрешена интеграцията на Power BI, таблото или отчетът няма да се показват.
Параметри
Етикетът powerbi приема следните параметри:
path
Път на отчета или таблото на Power BI. Ако отчетът или таблото на Power BI са защитени, трябва да предоставите типа удостоверяване.
{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection01" %}
authentication_type
Тип удостоверяване, изискван за отчета или таблото на Power BI. Валидни стойности за този параметър са:
Анонимен: Позволява ви да вградите публикуване в отчети на Power BI. Типът на удостоверяване по подразбиране е „Анонимен”. Когато използвате типа за удостоверяване като Анонимен, трябва да получите URL адрес на отчета на Power BI, както е описано в: Публикуване в мрежата от Power BI
AAD: Позволява ви да споделяте защитени Power BI отчети или табла за Power BI Microsoft Entra идентифициране на удостоверени потребители.
powerbiembeddedded: Позволява ви да споделяте защитените Power BI отчети или табла на външни потребители, които нямат настройка за лиценз или Power BI удостоверяване Microsoft Entra . За информация относно настройка на услугата Power BI Embedded вижте Разрешаване на услугата Power BI Embedded.
Докато добавяте защитения Power BI отчет или таблото, уверете се, че той е споделен с Power Pages Microsoft Entra услугите или Power BI Embedded .
Бележка
Стойностите за параметър authentication_type
се влияят от случая.
{% powerbi authentication_type:"AAD" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection01" %}
Можете също да филтрирате отчета на една или повече стойности. Синтаксисът за филтриране на отчета е:
URL?filter=Table/Field eq 'value'
Ако искате например да филтрирате отчета, за да видите данни за контакт с име Бърт Хеър. Трябва да добавите URL адреса със следните данни:
?filter=Executives/Executive eq 'Бърт Хеър'
Пълният код е:
{% 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'" %}
Повече информация за филтриране на отчет: филтриране на отчет с помощта на параметри на низ на заявка в URL адреса
Бележка
Анонимният отчет не поддържа филтриране.
Можете също да създадете динамичен път, като използвате променливата 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 %}
Повече информация за променлива на Liquid: Променливи етикети
tileid
Показва указаната плочка на таблото. Трябва да въведете ИД на плочката.
{% 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
Роли, присвоени на отчета на Power BI. Този параметър работи само когато параметърът authentication_type е зададен на powerbiembedded.
Ако сте дефинирали роли в Power BI и ги присвоите на отчети, трябва да посочите подходящите роли в етикета powerbi на Liquid. Ролите ви позволяват да филтрирате данните, които ще се показват в отчет. Можете да укажете няколко роли, разделени със запетая. За повече информация относно дефинирането на роли в Power BI вижте Защита на ниво редове (RLS) с 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" %}
Ако сте присвоили роля на отчет на Power BI и не сте указали параметъра роли в етикета на Liquid или не сте указали роля в параметъра, се показва грешка.
Съвет
Ако искате да използвате уеб ролите, дефинирани във вашия сайт като роли на Power BI, можете да дефинирате променлива и да й присвоите уеб роли. След това можете да използвате дефинираната променлива в етикета на Liquid.
Да речем, че сте дефинирали две уеб роли като Region_East и Region_West в сайта си. Можете да ги съедините, като използвате кода: {% assign webroles = user.roles | join: ", " %}
Във фрагмента на код по-горе webroles
е променлива и в нея ще се съхраняват ролите Region_East и Region_West.
Използвайте променливата webroles
по следния начин в етикета на 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%}
редактируемо
Рендира даден обект на Power Pages CMS като редактируем в сайта за потребители с разрешение за редактиране на съдържание за този обект. Възможните за редактиране обекти включват страница, фрагменти и уеб връзки.
{% 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 %}
Параметри
Първият параметър, предоставен за редактиране, е редактируемият обект, като например набор от уеб връзки, фрагменти или текущата страница. Незадължителният втори параметър е за указване на името или ключа в този обект, който трябва да бъде рендиран и редактиран. Тази стойност може да бъде името на атрибут на таблица или име фрагмент, например.
След тези първоначални параметри етикетът поддържа много наименувани незадължителни параметри.
class
Указва стойност за атрибут „клас” за коренния елемент, рендиран от този етикет.
default
Рендирана стойност по подразбиране в случай, че редактируемият елемент няма стойност.
escape
Булева стойност, показваща дали стойност, рендирана от този етикет, е HTML-кодирана. Тази стойност е false по подразбиране.
liquid
Булева стойност, показваща дали някой код на шаблон Liquid, намерен в текстовата стойност, рендирана от този етикет, трябва да бъде обработен. Тази стойност е вярна по подразбиране.
tag
Името на контейнерните HTML тагове, рендирани от този таг. Този етикет рендира div елементи по подразбиране. Препоръчва се да изберете между div или span като стойност за този параметър.
title
Указва етикет за този възможен за редактиране елемент в рамките на интерфейса за редактиране на съдържание. Ако не е предоставен такъв, автоматично се генерира приятелски етикет.
тип
Стойност на низ, указваща типа на интерфейса за редактиране, който ще бъде представен, за стойности на възможен за редактиране текст. Валидни стойности за този параметър са html или text. По подразбиране е html.
entitylist
Зарежда даден списък по име или ИД. След това свойствата на списъка могат да бъдат достъпни с помощта на обект entitylist, наличен в блока с етикети. За да рендирате действителните записи на резултат на списъка, използвайте етикета entityview в рамките на блока.
Ако списъкът се зареди успешно, съдържанието в блока се рендира. Ако списъкът не бъде намерен, блоковото съдържание не се рендира.
{% entitylist name:My List %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
По подразбиране обектът entitylist получава името на променливата entitylist. По желание може да бъде предоставено различно име на променлива.
{% entitylist my_list = name:My List %}
Loaded list {{ my_list.adx_name }}.
{% endentitylist %}
Параметри
Предоставя Само едно от ИД, име или ключ за избиране на списъка за зареждане.
ИД
Зарежда списък по GUID . ИД трябва да бъде низ, който може да се анализира като GUID.
{% entitylist id:936DA01F-9ABD-4d9d-80C7-02AF85C822A8 %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
Обикновено не се използват буквални GUID низове. Вместо това id се задава с помощта на GUID свойство на друга променлива.
{% entitylist id:page.adx_entitylist.id %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
име
Зарежда списък по име на GUID.
{% entitylist name:My List %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
key
Зарежда списък по ИД или име. Ако предоставената стойност на ключ може да бъде анализирана като GUID, списъкът се зарежда от ИД. В противен случай се зарежда по име.
<!-- key_variable can hold an ID or name -->
{% entitylist key:key_variable %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
language_code
Целочислен код за език на Dataverse за избиране на локализирани етикети от списък, които да бъдат заредени. Ако не е предоставена language_code, се използва езикът по подразбиране на връзката с приложението Dataverse на сайта.
{% entitylist name:"My List", language_code:1033 %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
entityview
Зарежда даден изглед на Dataverse по име или ИД. Свойствата на метаданните на колоната за преглед на ֝, записите за странираните резултати и т.н. могат да бъдат достъпни с помощта на обект entityview, който е наличен в блока с етикети.
Ако изгледът се зареди успешно, съдържанието в блока се рендира. Ако изгледът не бъде намерен, блоковото съдържание не се рендира.
{% entityview logical_name:'contact', name:"Active Contacts" %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
По подразбиране обектът entityview получава името на променливата entityview. По желание може да бъде предоставено различно име на променлива.
{% entityview my_view = logical_name:'contact', name:"Active Contacts" %}
Loaded entity view with {{ my_view.total_records }} total records.
{% endentityview %}
Ако entityview е вложен в блок 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 %}
Параметри
Предоставя или ИД или logical_name с име за избор на изгледа на Dataverse, който да се зареди. Ако не е предоставено нито едно от двете, а етикетът entityview е вложен в етикет entitylist, се зарежда изгледът по подразбиране на ограждащия списък на обекти.
ИД
ИД трябва да бъде низ, който може да се анализира като GUID.
{% entityview id:936DA01F-9ABD-4d9d-80C7-02AF85C822A8 %}
Loaded entity view {{ entityview.name }}.
{% endentityview %}
Обикновено не се използват буквални GUID низове. Вместо това id се задава с помощта на GUID свойство на друга променлива.
{% entityview id:request.params.view %}
Loaded entity view {{ entityview.name }} using view query string request parameter.
{% endentityview %}
logical_name
Логическото име на обект в Dataverse на изгледа за зареждане. Трябва да се използва в комбинация с име.
{% entityview logical_name:'contact', name:"Active Contacts" %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
име
Името в Dataverse на изгледа за зареждане. Трябва да се използва в комбинация с logical_name.
{% entityview logical_name:'contact', name:"Active Contacts" %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
filter
Указва дали да се филтрират резултатите по потребител или акаунт. Трябва да има низова стойност „user“ или „account“.
{% entityview id:request.params.view, filter:'user' %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
Случай на нормална употреба е този параметър да се зададе на базата на заявка.
{% entityview id:request.params.view, filter:request.params.filter %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
metafilter
Указва израза на филтър за метаданни на списъка, по който да се филтрират резултатите в изгледа. Този параметър е валиден само когато „entityview” се използва в комбинация с „entitylist”. В повечето случаи този параметър е зададен на базата на заявка.
{% 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
Указва израз за сортиране за подреждане на резултатите в изгледа. Изразът за сортиране може да съдържа едно или повече логически имена на атрибут на обект, последвани от посока на сортиране или ВЪЗХ., или НИЗХ.
{% entityview id:request.params.view, order:'name ASC, createdon DESC' %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
Случай на нормална употреба е този параметър да се зададе на базата на заявка.
{% entityview id:request.params.view, order:request.params.order %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
page
Указва страницата с резултати в изгледа за зареждане. Ако този параметър не е зададен, се зарежда първата страница с резултати.
За този параметър трябва да бъде подадена или целочислена стойност, или низ, който може да бъде анализиран като цяло число. Ако за този параметър е предоставена стойност, но стойността е null или по друг начин не може да бъде анализирана като цяло число, се зарежда първата страница с резултати.
{% entityview id:request.params.view, page:2 %}
Loaded page {{ entityview.page }} of entity view with {{ entityview.total_records }} total records.
{% endentityview %}
Случай на нормална употреба е този параметър да се зададе на базата на заявка.
{% 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
Указва броя резултати за зареждане за текущата страница с резултати. Ако за този параметър не е предоставена стойност и entityview се използва в блок от списък на обекти, се използва размерът на страницата на списъка. Ако не е в рамките на блок от списък на обекти, се използва стойност по подразбиране 10.
За този параметър трябва да бъде подадена или целочислена стойност, или низ, който може да бъде анализиран като цяло число. Ако за този параметър е предоставена стойност, но стойността е null или по друг начин не може да бъде анализирана като цяло число, се използва размерът на страницата по подразбиране.
{% entityview id:request.params.view, page_size:20 %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
Случай на нормална употреба е този параметър да се зададе на базата на заявка.
{% entityview id:request.params.view, page_size:request.params.pagesize %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
search
Указва израз за търсене, по който да се филтрират резултатите в изгледа. Простите изрази за търсене на ключови думи филтрират по това дали атрибутите започват с ключовата дума. Заместващи символи * също могат да бъдат включени в израза.
{% entityview id:request.params.view, search:'John\*' %}
Loaded entity view with {{ entityview.total_records }} total matching records.
{% endentityview %}
Случай на обща употреба е да се зададе този параметър въз основа на заявка, така че филтърът за търсене да бъде зададен въз основа на въвеждането от потребител.
{% entityview id:request.params.view, search:request.params.search %}
Loaded entity view with {{ entityview.total_records }} total matching records.
{% endentityview %}
language_code
Целочислен код за език в Dataverse за избиране на локализирани етикети в изглед на обект (етикети на горни колонтитули на колона и др.), който да се зареди. Ако не е предоставена language_code, се използва езикът по подразбиране на връзката с приложението Dataverse на уебсайта.
Ако entityview се използва в рамките на entitylist блок, entityview наследява конфигурацията на езиковия си код от entitylist.
{% entityview logical_name:'contact', name:"Active Contacts", language_code:1033 %}
Loaded entity view {{ entityview.name }}.
{% endentitylist %}
индекс за търсене
Изпълнява заявка срещу индекса на уеб сайта за търсене. След това съвпадащите резултати могат да бъдат достъпни с помощта на индекс за търсене, който е наличен в блока с етикети.
{% 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>
По подразбиране на обекта на индекса за търсене се дава името на променливата searchindex. По желание може да бъде предоставено различно име на променлива.
{% searchindex liquid_search = query: 'support', page: params.page, page_size: 10 %}
{% if liquid_search.results.size > 0 %}
...
{% endif %}
{% endsearchindex %}
Параметри
Етикетът searchindex приема следните параметри.
query
Заявката, използвана за съпоставяне на резултатите. Този параметър е предназначен да приема зададена от потребителя част от заявката на индекса (ако има такава).
{% searchindex query: 'support' %}
...
{% endsearchindex %}
Случай на нормална употреба е този параметър да се зададе на базата на заявка.
{% searchindex query: request.params.query %}
...
{% endsearchindex %}
Този параметър поддържа синтаксис на Lucene Query Parser.
filter
Друга заявка, използвана за съвпадение на резултатите. Този параметър е предназначен да приема указан от разработчик филтър за резултатите, ако има такова желание.
{% searchindex query: request.params.query, filter: '+statecode:0' %}
...
{% endsearchindex %}
Този параметър поддържа синтаксис на Lucene Query Parser.
Бележка
Разликата между филтър и заявка е, че докато и двете ще приемат синтаксиса на Lucene Query Parser, заявката е предназначена да бъде по-прощаваща за това как този синтаксис се анализира ߝ, защото се очаква, че повечето крайни потребители няма да са запознати с този синтаксис. Така че в случай че анализирането на заявка според този синтаксис е неуспешно, цялата заявка ще бъде избегната и подадена като текст на заявка. филтърът, от друга страна, ще бъде анализиран стриктно и ще върне грешка в случай на невалиден синтаксис.
logical_names
Логическите имена на обект на Dataverse, за които съответстващите резултати ще бъдат ограничени под формата на низ, разделен със запетаи. Ако не е предоставено, всички съвпадащи обекти се връщат.
{% searchindex query: request.params.query, logical_names: 'kbarticle,incident' %}
...
>
{% endsearchindex %}
page
Страницата с резултати от търсенето, която да бъде върната. Ако не е предоставена, първата страница (1) се връща.
{% searchindex query: request.params.query, page: 2 %}
...
{% endsearchindex %}
Случай на нормална употреба е този параметър да се зададе на базата на заявка.
{% searchindex query: request.params.query, page: request.params.page %}
...
{% endsearchindex %}
page_size
Размера на страницата с резултати, която да бъде върната. Ако не е предоставено, се използва размер по подразбиране 10.
{% searchindex query: request.params.query, page_size: 20 %}
...
{% endsearchindex %}
entityform
Напълно рендира формуляр по име или ИД.
Бележка
Етикетът „entityform” е наличен само за използване в съдържание, рендирано в базиран на уеб шаблоншаблон на страница. Опитът да се използва етикетът в базиран на презаписване шаблон на страница няма да рендира нищо. Можете да рендирате само един етикет на „entityform” или „webform” на страница. Етикети на „entityform” или „webform” след първия няма да бъдат рендирани.
{% entityform name: 'My Basic Form' %}
Параметри
име
Името на основния формуляр, който искате да заредите.
{% entityform name:My Basic Form %}
webform
Напълно рендира многостъпков формуляр по име или ИД. Етикетът „webform” е наличен само за използване в съдържание, рендирано в базиран на уеб шаблон шаблон на страница. Опитът да се използва етикетът в базиран на презаписване шаблон на страница няма да рендира нищо. Можете да рендирате само един етикет на формуляр на обект или уеб формуляр на страница. Етикети на „entityform” или „webform” след първия няма да бъдат рендирани.
{% webform name: 'My Multistep Form' %}
Параметри
име
Името на многостъпковия формуляр, който искате да заредите.
{% webform name:My Multistep Form %}
codecomponent
Позволява ви да вграждате компоненти на кода с помощта на етикет на Liquid. Например добавяне на персонализирана контрола за показване на карта към уеб страница.
Параметри
име
ИД или името на компонента на кода.
property
Стойностите на свойствата, които компонентът на кода очаква, трябва да бъдат предадени като двойка ключ/стойност, разделени с ":" (знак на двоеточие), където ключът е името на свойството, а стойността е стойността на низа на JSON.
{% codecomponent name:abc\_SampleNamespace.MapControl controlValue:'Space Needle' controlApiKey:<API Key Value> %}
Бележка
Необходимите свойства може да са различни в зависимост от избрания от вас компонент.
Вижте Използване на етикет на шаблон на Liquid на компоненти на код.