Dataverse 實體標籤

注意

自 2022 年 10 月 12 日起,Power Apps 入口網站為 Power Pages。 其他資訊:Microsoft Power Pages 現在已推出 (部落格)
我們很快就會遷移並將 Power Apps 入口網站文件與 Power Pages 文件併合。

Microsoft Dataverse 實體標籤用來載入和顯示 Dataverse 資料,或使用其他 Power Apps 入口網站架構服務。 這些標籤是 Liquid 語言的 Dataverse 專用擴充功能。

圖表

新增 Power Apps 圖表至網頁。 您可以在網頁的 [複製] 欄位或網站範本的 [來源] 欄位中新增圖表標籤。 如需新增 Power Apps 圖表至網頁的步驟,請參閱新增圖表至入口網站中的網頁

{% 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 BI 報表或儀表板新增至入口網站中的網頁

注意

為了讓標籤可以運作,您必須從 Power Apps 入口網站系統管理中心啟用 Power BI 整合。 如果沒有啟用 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 報表或儀表板所需的驗證類型。 此參數的有效值為:

  • 匿名:可讓您內嵌發行至 Web Power BI 報表。 預設驗證類型是 [匿名]。 當使用匿名驗證類型時,您必須先取得 Power BI 報告 URL,如下所述: 從 Power BI 發佈到 Web

  • AAD:可讓您將安全 Power BI 報表或儀表板分享給通過 Power BI Azure Active Directory 驗證的使用者。

  • powerbiembedded:可讓您將安全 Power BI 報表或儀表板分享給沒有 Power BI 授權或 Azure Active Directory 驗證設定的外部使用者。 如需 Power BI Embedded 服務設定的詳細資訊,請參閱啟用 Power BI Embedded 服務

新增安全 Power BI 報表或儀表板時,請確定已將其與入口網站 Azure Active Directory 或 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=表格/欄位 eq ''

例如,假設您要篩選報表,以查看名為 Bert Hair 的連絡人的資料。 您必須附加包含下列資料的 URL:

?filter=Executives/Executive eq 'Bert Hair'

完整的程式碼將會是:

{% 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 中定義角色的詳細資訊,請參閱Power BI 的資料列層級安全性 (RLS)

{% 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 標籤中指定 roles 參數,或未在參數中指定角色,則會顯示錯誤。

提示

如果您想要使用入口網站中定義的 Web 角色做為 Power BI 角色,您可以定義變數,並將 Web 角色指派給該變數。 然後就可以在 Liquid 標籤中使用定義的變數。

假設您已在入口網站中將兩個 Web 角色定義為 Region_East 和 Region_West。 您可以使用下列程式碼來聯結兩者:{% assign webroles = user.roles | join: ", " %}

在上述程式碼片段中,webroles 是變數,而 Web 角色 Region_East 和 Region_West 將會儲存在其中。

在 Liquid 標籤中使用 webroles 變數,如下所示:

{% 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 Apps 入口網站 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

指定此標籤轉譯的根元素的 class 屬性值。

default

要轉譯的預設值,在可編輯項目沒有值的情況下。

escape

布林值,指出此標記轉譯的值是否要以 HTML 編碼。 此值預設為 False。

liquid

布林值,指出在此標籤轉譯的文字值中找到的任何 Liquid 範本程式碼是否會經過處理。 此值預設為 True。

tag

將由此標籤轉譯的容器 HTML 標籤的名稱。 此標籤預設會轉譯 div 元素。 建議您選擇 div 或 span 做為此參數的值。

title

指定內容編輯介面中這個可編輯項目的標籤。 如果未提供任何項目,會自動產生易讀的標籤。

type

字串值,指出要針對可編輯文字值呈現的可編輯介面的類型。 此參數的有效值為 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 %}

參數

僅提供 id、name 或 key 其中一項,以選取要載入的清單。

id

GUID 識別碼載入清單。 id 必須是可以剖析為 GUID 的字串。

{% entitylist id:936DA01F-9ABD-4d9d-80C7-02AF85C822A8 %}

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

一般而言,不會使用常值 GUID 字串。 而是使用另一個變數的 GUID 屬性指定 id。

{% entitylist id:page.adx_entitylist.id %}

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

name

依名稱載入清單。

{% 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

Power Apps 整數語言碼,用來選取要載入的清單當地語系化的標籤。 如果沒有提供 language_code,將會使用入口網站應用程式 Power Apps 連線的預設語言。

{% entitylist name:"My List", language_code:1033 %}

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

entityview

依名稱或識別碼載入特定 Power Apps 檢視。 檢視表的屬性、檢視欄中繼資料、分頁結果記錄等,可以使用標籤區塊中提供的 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 區塊內的巢狀內容,它會繼承清單的預設設定 (結果頁面大小、篩選選項等)。 如果沒有檢視 id 或 name 參數對 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 %}

參數

提供 id logical_name 其中一項,選取要載入的 Power Apps 檢視表。 如果都未提供,而且 entityview 標籤是 entitylist 標籤內的巢狀內容,則會載入內含的 entitylist 的預設檢視。

id

id 必須是可以剖析為 GUID 的字串。

{% entityview id:936DA01F-9ABD-4d9d-80C7-02AF85C822A8 %}

Loaded entity view {{ entityview.name }}.

{% endentityview %}

一般而言,不會使用常值 GUID 字串。 而是使用另一個變數的 GUID 屬性指定 id。

{% entityview id:request.params.view %}

Loaded entity view {{ entityview.name }} using view query string request parameter.

{% endentityview %}

logical_name

要載入的檢視的 Power Apps 實體邏輯名稱。 必須搭配 name 使用。

{% entityview logical_name:'contact', name:"Active Contacts" %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

name

要載入的檢視的 Power Apps 名稱。 必須搭配 logical_name 使用。

{% entityview logical_name:'contact', name:"Active Contacts" %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

filter

指定要依使用者或帳戶篩選檢視結果。 必須是使用者或帳戶的字串值。

{% entityview id:request.params.view, filter:'user' %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

常見的使用案例是根據 request 設定此參數。

{% entityview id:request.params.view, filter:request.params.filter %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

metafilter

指定清單中繼資料篩選運算式,做為篩選檢視結果的依據。 此參數只有在 entityview 搭配 entitylist 使用時才有效。 在大多數情況下,此參數是根據 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

指定排序運算式,用於排序檢視結果。 排序運算式可包含一個或多個實體屬性邏輯名稱,後面接著 ASC 或 DESC 排序方向。

{% entityview id:request.params.view, order:'name ASC, createdon DESC' %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

常見的使用案例是根據 request 設定此參數。

{% 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 %}

常見的使用案例是根據 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

指定要為目前結果頁面載入的結果數目。 如果未對此參數提供值,而且在 entitylist 區塊中使用 entityview,則會使用清單頁面大小。 如果不在 entitylist 區塊內,則會使用預設值 10。

必須對此參數傳遞整數值,或是可以剖析為整數的字串。 如果為此參數提供值,但值是 null 或無法剖析為整數的其他值,則會使用預設頁面大小。

{% entityview id:request.params.view, page_size:20 %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

常見的使用案例是根據 request 設定此參數。

{% 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 %}

常見的使用案例是根據 request 設定此參數,因此可以根據使用者輸入設定搜尋篩選。

{% entityview id:request.params.view, search:request.params.search %}

Loaded entity view with {{ entityview.total_records }} total matching records.

{% endentityview %}

language_code

Power Apps 整數語言碼,用來選取要載入的實體檢視當地語系化標籤 (欄標題標籤等) 如果沒有提供 language_code,將會使用入口網站應用程式 Power Apps 連線的預設語言。

如果 entitylist 區塊內使用 entityview,entityview 會從 entitylist 繼承其語言碼設定。

{% entityview logical_name:'contact', name:"Active Contacts", language_code:1033 %}

Loaded entity view {{ entityview.name }}.

{% endentitylist %}

searchindex

對入口網站搜尋索引執行查詢。 之後相符的結果就可以使用標籤區塊中提供的 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>

根據預設,搜尋索引物件將以變數名稱 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 %}

常見的使用案例是根據 request 設定此參數。

{% searchindex query: request.params.query %}

...

{% endsearchindex %}

此參數支援 Lucene 查詢剖析器語法

filter

用來比對結果的其他查詢。 此參數主要用來接受開發人員指定的結果篩選 (若需要的話)。

{% searchindex query: request.params.query, filter: '+statecode:0' %}

...

{% endsearchindex %}

此參數支援 Lucene 查詢剖析器語法

注意

filter 和 query 之間的差異在於,雖然兩者都接受 Lucene 查詢剖析器語法,但是 query 對於此語法剖析的方式較為寬容,因為預期大多數使用者不會注意到此語法。 因此,在根據此語法剖析 query 失敗的情況下,整個查詢將會逸出。並做為查詢文字送出。 而另一方面,filter 將會進行嚴格剖析,如果語法無效則會傳回錯誤。

logical_names

Power Apps 實體邏輯名稱,相符的結果將會受其限制,做為逗號分隔字串。 如果沒有提供,所有符合的實體都會傳回。

{% searchindex query: request.params.query, logical_names: 'kbarticle,incident' %}

...
>
{% endsearchindex %}

page

要傳回的搜尋結果頁面。 如果沒有提供,將會傳回第一頁 (1)。

{% searchindex query: request.params.query, page: 2 %}

...

{% endsearchindex %}

常見的使用案例是根據 request 設定此參數。

{% searchindex query: request.params.query, page: request.params.page %}

...

{% endsearchindex %}

page_size

要傳回的結果頁面大小。 如果沒有提供,將使用預設大小 10。

{% searchindex query: request.params.query, page_size: 20 %}

...

{% endsearchindex %}

entityform

依名稱或識別碼完整轉譯 Power Apps 設定的基本表單。

注意

entityform 標籤只能在網站範本為主的頁面範本內轉譯的內容中使用。 嘗試在重新寫入為主的頁面範本內使用標籤,將不會轉譯任何內容。 每頁只能轉譯單獨一個 entityform 或 webform 標籤。 第一個之後的 entityform 或 webform 標籤不會轉譯。

{% entityform name: 'My Basic Form' %}

參數

name

您想要載入的基本表單名稱。

{% entityform name:My Basic Form %}

webform

完整轉譯 Power Apps 設定的多步驟表單,依名稱或識別碼。 webform 標籤只能在網站範本為主的頁面範本內轉譯的內容中使用。 嘗試在重新寫入為主的頁面範本內使用標籤,將不會轉譯任何內容。 每頁只能轉譯單獨一個 entityform 或 webform 標籤。 第一個之後的 entityform 或 webform 標籤不會轉譯。

{% webform name: 'My Multistep Form' %}

參數

name

您想要載入的多步驟表單名稱。

{% webform name:My Multistep Form %}

codecomponent

可讓您使用 Liquid 標籤內嵌程式碼元件。 例如,將對應顯示自訂控制項新增至網頁。

重要

  • 這是預覽功能。
  • 預覽功能不供生產時使用,而且可能功能受限。 這些功能是在正式發行前先行推出,讓客戶能夠搶先體驗並提供意見反應。

參數

name

程式碼元件的識別碼或名稱。

屬性

程式碼元件預期的屬性值必須做為以「:」(冒號) 分隔的索引鍵/值組來傳遞,其中索引鍵是屬性名稱,而值是 JSON 字串值。

{% codecomponent name:abc\_SampleNamespace.MapControl controlValue:'Space Needle' controlApiKey:<API Key Value> %}

注意

視您選擇的元件而定,所需的屬性可能會不同。

查看使用程式碼元件 Liquid 範本標籤

請參閱

控制流程標籤
反覆項目標籤
變數標籤
範本標籤

注意

是否能請您告知您偏好的慣用文件語言? 請填寫問卷。 (請注意,本問卷為英文版)

完成問卷大約需要七分鐘。 本問卷將不會收集個人資料 (隱私權聲明)。