Теги 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" %}
Параметри
Існують два параметри, які мають бути надані з діаграмою тега: chart id і viewid.
chart id
Графічне відображення ідентифікатора діаграми. Ідентифікатор можна отримати, експортувавши діаграму.
viewid
Ідентифікатор таблиці при відкриванні в редакторі.
powerbi
Додає приладні дошки Power BI та звіти в сторінки. Можна додавати тег діаграми в поле Копія на веб-сторінці або в поле Джерело у веб-шаблоні. Кроки для додавання звіту або приладної дошки Power BI до вебсторінки в Power Pages описано в розділі Додавання звіту або приладної дошки Power BI на вебсторінку в Power Pages.
Нотатка
Щоб тег працював, потрібно ввімкнути інтеграцію Power BI в центрі Power Pages у Центрі адміністрування Power Platform. Якщо інтеграцію Power BI вимкнуто, приладна дошка або звіт не відображатиметься.
Параметри
Тег powerbi приймає вказані нижче параметри:
шлях
Шлях приладної дошки або звіту 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 ідентифікаційних автентифікованих користувачів.
powerbiembedded: дає змогу надавати доступ до захищених 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" %}
ролі
Ролі, призначені для звіту 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 призначено роль і не було задано параметр roles у тезі Liquid або не було задано роль у параметрі, відобразиться повідомлення про помилку.
Порада
Якщо потрібно використовувати вебролі, визначені на сайті як ролі Power BI, можна визначити змінну та призначити їй вебролі. Потім можна використати визначену змінну у тезі Liquid.
Скажімо, ви визначили на сайті дві вебролі, Region_East і Region_West. До них можна приєднатися за допомогою коду: {% assign webroles = user.roles | join: ", " %}
У цьому фрагменті коду webroles
— це змінна, в ній зберігатимуться веб-ролі Region_West і Region_East.
Використовуйте змінну 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%}
редагується
Відтворює певний об’єкт CMS сайтів Power Pages як такий, що можна редагувати на сайті, для користувачів із дозволами на редагування вмісту для цього об'єкта. Редаговані об'єкти включають сторінку, фрагменти, і веб-посилання.
{% 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 %}
Параметри
Перший параметр, доступний для редагування, є об’єкт, який можна редагувати, наприклад набір веб-посилань, фрагменти або поточна сторінка. Додатковий другий параметр має указувати ім'я атрибута або клавішу, в межах цього об'єкта, який буде відтворено і відредаговано. Це значення може бути, наприклад, ім’ям атрибута таблиці або назвою фрагмент.
Після цих початкових параметрів тег підтримує цілий ряд додаткових названих параметрів.
клас
Указує значення атрибута класу для кореневого елемента, відтвореного цим тегом.
за замовчуванням
Значення за замовчуванням, яке відображається у випадку, коли редагований елемент не має значення.
вийти
Логічне значення, що вказує на те, чи є значення, що відображається за допомогою цього тегу, HTML-кодованим. Значення за замовчуванням: Хибність.
liquid
Логічне значення, що вказує на те, чи слід обробляти будь-який код шаблону Liquid, знайдений у текстовому значенні, відтвореному цим тегом. Значення за замовчуванням: Істина.
тег
Назва тегів HTML контейнера, які відображаються цим тегом. Цей тег відображає елементи div за замовчуванням. Рекомендується вибирати div або span як значення для цього параметра.
заголовок
Вказує підпис для цього елемента, який можна редагувати, у вмісті інтерфейсу редагування. Якщо їх не вказано, автоматично створюється зрозуміла мітка.
тип
Значення рядка, що вказує на тип інтерфейсу редагування, який буде представлений, для текстових значень, які можна редагувати. Дійсними значеннями для параметра є html або text. html є значенням за замовчуванням.
список сутностей
Завантажує певний список за іменем або ідентифікатором. Після цього доступ до властивостей списку можна отримати за допомогою об’єкта 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 %}
ім’я
Завантажує список за іменем.
{% entitylist name:My List %}
Loaded list {{ entitylist.adx_name }}.
{% endentitylist %}
ключ
Завантажує список за ідентифікатором або іменем. Якщо надане значення ключа можна проаналізувати як 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, він успадковує свою конфігурацію за замовчуванням (розмір сторінки результатів, параметри фільтра тощо) зі списку. Якщо параметрам ідентифікатора представлення або імені не надано в режимі перегляду entityview, завантажується представлення за промовчанням із оточуючого списку сутностей.
{% 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 %}
Параметри
Надайте або ідентифікатор або, або логічне ім'я з іменем для вибору подання 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 %}
логічне ім’я
Це логічне ім'я сутності Dataverse, перегляд якої потрібно завантажити. Повинен бути використаний в поєднанні з іменем.
{% entityview logical_name:'contact', name:"Active Contacts" %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
ім’я
Це ім'я Dataverse, перегляд якого потрібно завантажити. Слід використовувати в поєднанні з логічним іменем.
{% entityview logical_name:'contact', name:"Active Contacts" %}
Loaded entity view with {{ entityview.total_records }} total records.
{% endentityview %}
фільтр
Визначає, чи для фільтрації результатів переглядати за користувачем або бізнес-партнером. Повинні містити значення рядків "користувач" або "бізнес- партнер".
{% 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 %}
метафільтр
Визначає вираз фільтра метаданих списку, за допомогою якого фільтруються результати перегляду. Цей параметр дійсний лише коли 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 %}
порядок
Визначає вираз сортування для визначення порядку результатів перегляду. Вираз сортування може містити один або більше логічних імен атрибуту сутності, після яких іде напрямок сортування або ASC, або DESC.
{% 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 %}
сторінка
Визначає сторінку перегляду результатів для завантаження. Якщо цей параметр не вказано, завантажується перша сторінка результатів.
Цей параметр повинна бути переданий або цілому значенню або рядку, який можна проаналізувати як ціле число. Якщо для цього параметра вказано значення, але воно дорівнює 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 використовується в блоці entitylist, використовується розмір сторінки списку. Якщо він не входить до блоку списку сутностей, використовується значення за замовчуванням 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 %}
пошук
Вказує вираз пошуку, за допомогою якого відбувається фільтрування результатів перегляду. Прості вирази пошуку за ключовими словами фільтрують за тим, чи починаються атрибути з ключового слова. Символи узагальнення * також може бути включено у вираз.
{% 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
Виконує запит до покажчика пошуку вебсайту. Результати зіставлення можна отримати за допомогою пошукового індексу , доступного в блоці тегів.
{% 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>
За замовчуванням об’єкту search index надається ім’я змінної searchindex. За бажання можна надати інше змінне ім'я.
{% searchindex liquid_search = query: 'support', page: params.page, page_size: 10 %}
{% if liquid_search.results.size > 0 %}
...
{% endif %}
{% endsearchindex %}
Параметри
Тег searchindex приймає вказані нижче параметри.
запит
Запит використовується для зіставлення результатів. Цього параметр покликаний приймати вказану користувачем частину запиту покажчика (за наявності).
{% searchindex query: 'support' %}
...
{% endsearchindex %}
Загальний принципом використання є встановлення цього параметра на основі запиту.
{% searchindex query: request.params.query %}
...
{% endsearchindex %}
Цей параметр підтримує Синтаксис аналізатора запитів Lucene.
фільтр
Ще один запит, який використовується для зіставлення результатів. Цей параметр має на меті приймати вказаний розробником фільтр для результатів за бажання.
{% searchindex query: request.params.query, filter: '+statecode:0' %}
...
{% endsearchindex %}
Цей параметр підтримує Синтаксис аналізатора запитів Lucene.
Нотатка
Різниця між фільтром та запитом в тому, що доки обидва будуть приймати синтаксис Аналізатора запитів Lucene, запит має бути більш поблажливим до того, як, як цей синтаксис проаналізовано ߝ як очікується, більшість користувачів не будуть знати про цей синтаксис. Тому якщо аналіз запиту відповідно до цього синтаксису не відбудеться, весь запит буде пропущений і поданий як текст запиту. З іншого боку фільтр буде суворо аналізуватися і відтворювати помилку, якщо синтаксис неприпустимий.
логічні імена
Логічні імена сутностей Dataverse, до яких відповідні результати будуть обмежені, як рядок з розділювальними комами. Якщо не вказано, буде повернуто всі відповідні сутності.
{% searchindex query: request.params.query, logical_names: 'kbarticle,incident' %}
...
>
{% endsearchindex %}
сторінка
Буде показано сторінку результатів пошуку. Якщо не вказано, повертається перша сторінка (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 або webform на сторінці. Теги entityform або webform після перших не будуть відображатися.
{% entityform name: 'My Basic Form' %}
Параметри
ім’я
Ім’я базової форми, яку потрібно завантажити.
{% entityform name:My Basic Form %}
веб-форма
Повністю відтворює багатокрокову форму за іменем або ідентифікатором. Тег webform доступний тільки для використання у вмісті, відтвореному всередині веб-шаблону сторінки на основі шаблону сторінки. Спроби використовувати цей тег всередині шаблону сторінки на основі переписування не дадуть відтворити нічого. На сторінці можна відобразити лише одну форму сутності або тег вебформи. Теги entityform або webform після перших не будуть відображатися.
{% webform name: 'My Multistep Form' %}
Параметри
ім’я
Ім’я форми багатокрокової форми, яку потрібно завантажити.
{% webform name:My Multistep Form %}
codecomponent
Дає змогу вбудувати компоненти коду за допомогою позначки Liquid. Наприклад, до веб-сторінки можна додати користувацький елемент керування для відображення карти.
Параметри
ім’я
Ідентифікатор або ім’я компонента коду.
властивість
Значення властивостей, які очікує компонент коду, передаються як пара ключів і значень, розділених знаком «:» (дві крапки), де ключом є ім'я властивості, а значенням — значення рядка JSON.
{% codecomponent name:abc\_SampleNamespace.MapControl controlValue:'Space Needle' controlApiKey:<API Key Value> %}
Нотатка
Обов'язкові властивості можуть відрізнятися залежно від вибраного компонента.
Див. Використання компонентів коду: позначка шаблону Liquid.