可用的 Liquid 物件

注意

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

Liquid 物件包含輸出動態內容至頁面的屬性。 例如,頁面物件擁有名為 title 的屬性,可用來輸出目前頁面的標題。

若要依名稱存取物件屬性,請使用句號 (.)。 若要轉譯範本中物件的屬性,請將它裝合在 {{ and }} 中。

重要

若要避免潛在的跨網站指令碼 (XSS) 問題,每當使用 Liquid 物件讀取使用者所提供的未受信任資料時,一律使用 Escape 篩選對資料進行 HTML 編碼。

{{ page.title }}

物件的屬性也可以使用字串名稱和 [] 來存取。 這在某些情況下此格式會很實用,例如所需的屬性為動態決定,或在語法中使用句號 (.) 時,屬性名稱包含字元、空格和特殊字元等將無效。

{{ page[title] }}

{% assign attribute_name = Name with spaces %}

{{ object[attribute_name] }}

以下物件可以在任何範本中的任何地方使用和存取。

物件 描述
實體 允許您透過識別碼載入任何 Power Apps 資料表。 其他資訊:實體
立即 表示目前 UTC 時間 (範本轉譯時) 的日期/時間物件。
注意:此值是由入口網站 Web 應用程式快取,不會每次都重新整理。 其他資訊:日期篩選
頁面 是指目前入口網站要求頁面。 page 物件提供存取某些項目的方式,像是目前頁面的導覽路徑標示、目前頁面的標題或 URL,以及基礎 Power Apps 記錄的任何其他屬性或相關實體。 其他資訊:頁面
params 方便的 request.params 捷徑。 其他資訊:要求
request 包含有關目前 HTTP 要求的資訊。 其他資訊:要求
設定 可讓您依名稱載入任何網站設定。 其他資訊:設定
sitemap 允許存取入口網站的網站地圖。 其他資訊: sitemap
sitemarkers 可讓您依名稱載入任何網站標記。 其他資訊: sitemarkers
snippets 可讓您依名稱載入任何內容程式碼片段。 其他資訊: snippets
使用者 是指目前入口網站使用者,允許存取基礎 Power Apps 連絡人記錄的任何屬性。 如果沒有使用者登入,此變數將會是 null。 其他資訊:使用者
weblinks 可讓您依名稱或識別碼載入任何網頁連結組。 其他資訊:網頁連結
website 是指入口網站的網站記錄,允許存取入口網站的 Power Apps 網站 (adx_website) 記錄的所有屬性。 其他資訊:網站

ads

提供存取和呈現廣告的功能。

ads 物件可讓您選取特定廣告或廣告位置:

<div>

{% assign ad = ads[Ad Name] %}

<h4>{{ ad.title }}</h4>

<a href={{ ad.redirect_url }}>

<img src={{ ad.image.url }} alt={{ ad.image.alternate_text }} />

</a>

</div>

廣告屬性

屬性 描述
placements 傳回 adplacements 物件。
[ad placement 或 id] 您可以依 Name 或 ID 屬性存取任何廣告。
{% assign ad = ads[Ad Name] %}
{% assign ad = ads["da8b8a92-2ee6-476f-8a21-782b047ff460"] %}

廣告位置屬性

屬性 描述
[ad placement name 或 id] 您可以依 Name 或 ID 屬性存取任何 adplacement。
{% assign placement = ads.placements[Placement Name or Id] %}
{% assign placement = ads.placements[2423d713-abb3-44c3-8a7d-c445e16fccad] %}

廣告位置屬性

廣告位置是具有相同一般屬性和下方所列屬性的資料表物件。

屬性 描述
廣告 傳回與位置相關的 ad 物件的集合。 反覆項目標籤和陣列篩選可搭配此集合使用。
Name 傳回廣告位置的名稱欄位。
placement_url 可用來擷取藉由範本完整轉譯的廣告位置的 URL。
random_url 可用來擷取藉由範本完整轉譯的位置中隨機廣告的 URL。

廣告屬性

注意

廣告是資料表物件,包含所有相同屬性,除了下列之外。

屬性 描述
ad_url 可用來擷取藉由範本完整轉譯的廣告的 URL。
Copy 傳回廣告的複製欄位。
image 傳回廣告的影像物件 (如果有)。
Name 傳回廣告的名稱欄位。
open_in_new_window 如果 redirect_url 所指定的 URL 應在新視窗中開啟,則傳回 true。
redirect_url 使用者選取廣告後將被導向的 URL。

廣告影像屬性

屬性 描述
alternate_text 傳回文字,預期會出現在標籤的 alt 屬性中。
height 傳回影像的高度 (像素)
URL 傳回影像的 URL 來源。
width 傳回影像的寬度 (像素)。

blogs

提供存取和呈現部落格及部落格文章的功能。

blogs 物件可讓您選取特定部落格或部落格文章。

{% assign posts = blogs.posts | paginate: 0,4 %}

<div class=content-panel panel panel-default>

<div class=panel-heading>

{% assign sitemarker = sitemarkers["Blog Home"] %}

{% assign snippet = snippets[Home Blog Activity Heading] %}

<a class=pull-right href={{sitemarker.url}}> All Blogs </a>

<h4>

<a class=feed-icon fa fa-rss-square href={{ blogs.feedpath }} />

{{ snippet.adx_value }}

</h4>

</div>

<ul class=list-group>

{% for post in posts.all %}

<li class=list-group-item >

<a class=user-avatar href={{ post.author_url }}>

<img src={{ post.user_image_url }} />

</a>

<h4 class=list-group-item-heading>

<a href={{ post.app_relative_path }}>{{ post.title }}</a>

</h4>

<div class=content-metadata>

<abbr class=timeago>{{ post.publish_date }}</abbr>

&ndash;

<a href={{ post.author_url }}> {{ post.author_name }} </a>

&ndash;

<a href={{ post.application_path }}#comments>

<span class=fa fa-comment aria-hidden=true></span> {{ post.comment_count }}

</a>

</div>

</li>

{% endfor %}

</ul>

</div>

blogs 物件

blogs 物件可讓您存取入口網站上的任何特定部落格,或存取入口網站上的所有部落格文章。

下表說明與 blogs 物件相關的屬性。

屬性 描述
posts 傳回 blogposts 物件,包含入口網站中的所有部落格文章。
[blog name 或 id] 您可以依 Name 或 ID 屬性存取任何部落格。
{% assign blog = blogs["Blog Name"] %}                             

{% assign blog = blogs["da8b8a92-2ee6-476f-8a21-782b047ff460"] %}  |

blog 物件

blog 物件可讓您使用單一部落格,如此就能存取該部落格的文章。

下表說明與 blog 物件相關的各種屬性。

屬性 描述
posts 傳回 blogposts 物件,包含部落格的所有部落格文章。
Name 部落格的名稱。
title 部落格的標題。
URL 部落格的 URL。

blogposts 物件

blogposts 物件可讓您存取部落格文章物件的集合。 除了使用 Liquid 篩選進行分頁之外,您還可以排列部落格文章的順序:

{% assign blogposts = blogs.posts | order\_by “adx\_name”, “desc” | paginate: 0,4 | all %}

其他可能選項:

  • blogs.posts.all (取得所有部落格文章)
  • blogs.posts | from\_index: 0 | take: 2

下表說明與 blogposts 物件相關的各種屬性。

屬性 描述
全部 傳回集合中的所有 blogpost 物件

blogpost 物件

指出單一部落格文章。

下表說明與 blogpost 物件相關的各種屬性。

屬性 描述
url 文章的 URL。
內容 傳回文章的內容欄位。
作者 傳回文章的作者 (單純是連絡人資料表物件)。
標題 文章的標題。
comment_count 傳回整數值,表示所指文章有多少篇留言的計數。
publish_date 文章發佈的日期。

實體

警告

若要避免潛在的跨網站指令碼 (XSS) 問題,在使用實體 Liquid 物件讀取使用者提供的不受信任的資料時,一律對 HTML 編碼字串資料使用逸出篩選

注意

部分的 Dataverse 命名規範已變更,例如,Dataverse 實體現在稱為資料表。 名稱變更不適用於 Liquid 物件。 Liquid 實體物件會繼續稱為實體

允許您透過識別碼載入任何 Power Apps 資料表。 如果資料表存在,將會傳回資料表物件。 如果找不到具有特定識別碼的資料表,則會傳回 null

{% assign account = entities.account['936DA01F-9ABD-4d9d-80C7-02AF85C822A8'] %}

{% if account %}

{{ account.name | escape }} ({{ account.statecode.label | escape }})

{% endif %}

{% assign entity_logical_name = 'contact' %}

{% assign contact = entities[entity_logical_name][request.params.contactid] %}

{% if contact %}

{{ contact.fullname | escape }} ({{ contact.parentcustomerid.name | escape }})

{% endif %}

Entity

實體物件可讓您存取 Power Apps 資料表記錄的屬性。

屬性 描述
ID 資料表的 GUID 識別碼,做為字串。 例如,936DA01F-9ABD-4d9d-80C7-02AF85C822A8
logical_name 資料表的 Power Apps 邏輯名稱。
備註 載入任何與資料表關聯的附註 (annotation),從最舊排列到最新 (createdon)。 附註會做為附註物件傳回。
權限 載入資料表的資料表權限判斷提示結果。 結果會做為權限物件傳回。
URL 傳回資料表+的 Power Apps 入口網站內容管理系統 URL 路徑。 如果資料表在目前網站中沒有有效的 URL,則傳回 null。 一般而言,這只會針對已整合到入口網站 CMS 內的特定資料表類型傳回值,除非您已自訂應用程式中的 URL 提供者。
[屬性或關聯名稱] 您可以依邏輯名稱存取 Power Apps 資料表的任何屬性。 {{ entity.createdon }}{% assign attribute_name = 'name' %}{{ entity[attribute_name] }}
大部分資料表屬性的值會直接對應到 Liquid 類型:兩個選項欄位對應到布林值、文字欄位對應到字串、數值/貨幣欄位對應到數字、日期/時間欄位對應到日期物件。 但是有些屬性類型會做為物件傳回:
  • 查詢 (相關聯的資料表參考) 欄位會以關聯的資料表參考物件的方式傳回。
  • 選項組/挑選清單欄位會做為選項組值物件傳回。
  • 您也可以依關聯結構描述名稱載入任何相關的實體。
  • {{ page.adx_webpage_entitylist.adx_name }}若關聯是自反關聯性 (亦即是自我參考),則會傳回自反關聯性物件。 (否則,結果會模棱兩可)。{{ page.adx_webpage_webpage.referencing.adx_name }}
    附註:在單一範本中載入大量相關實體,或存取大量關聯,可能對範本轉譯的效能造成不良影響。 避免在陣列中於迴圈內載入每一個項目的相關實體。 盡可能使用 Dataverse 資料表標籤載入實體的集合。

相關的資料表參照

查詢屬性值會做為相關聯資料表參考物件傳回,包含下列屬性。

屬性 描述
ID 參考資料表的 GUID 識別碼,做為字串。
例如,936DA01F-9ABD-4d9d-80C7-02AF85C822A8
logical_name 參考的資料表的 Power Apps 邏輯名稱。
名字 參考的資料表的主要名稱屬性。

附註

附註是資料表物件,可讓您存取 annotation 記錄的屬性和關聯。 除了資料表物件的所有屬性之外,附註還有下列額外的屬性。

屬性 描述
documentbody 載入附註 annotation 記錄的 documentbody 屬性,做為 Base64 編碼字串。 此屬性的內容可能很大,因此不會與其餘附註屬性一起載入,僅在需要時載入。
附註:使用 documentbody 屬性可能對範本轉譯效能造成不良影響,因此應小心使用。
如有可能,請改用 url 屬性提供附註附件的連結。
URL 傳回內建入口網站註解附件處理常式的 URL 路徑。 如果使用者具有權限,且附註有附加檔案,要求此 URL 將會下載附註檔案附件。

注意

其他篩選

選項組值

選項組/挑選清單屬性值會做為相關聯資料表參考物件傳回,包含下列屬性。

屬性 描述
標籤 選項組/挑選清單屬性值的當地語系化標籤。 例如,[使用中]
選項組/挑選清單屬性值的整數值。 例如,0

資料表權限

資料表權限物件可讓您存取針對資料表彙總的權限判斷提示結果。

屬性 描述
can_append 如果目前使用者具有附加記錄至此記錄關聯的權限,則傳回 true。 否則會傳回 false。
can_append_to 如果目前使用者具有附加此記錄至其他資料表的關聯的權限,則傳回 true。 否則會傳回 false。
can_create 如果目前使用者具有建立此資料表類型的新記錄的權限,則傳回 true。 否則會傳回 false。
can_delete 如果目前使用者具有刪除此記錄的權限,則傳回 true。 否則會傳回 false。
can_read 如果目前使用者具有讀取此記錄的權限,則傳回 true。 否則會傳回 false。
can_write 如果目前使用者具有更新此記錄的權限,則傳回 true。 否則會傳回 false。
rules_exist 如果此物件代表的權限結果是明確定義的權限規則的結果,則傳回 true。 如果是在缺少明確定義權限的情況下的預設結果,則傳回 false。

自反關聯性

嘗試在實體上載入自反 (亦即自我參考) 關聯性,會做為物件傳回,且包含下列屬性。

屬性 描述
is_reflexive 傳回 true。 可用來測試關聯所傳回的物件是否為自反關聯性物件。
referenced 傳回特定關聯的參考實體陣列。
referencing 傳回特定關聯的參考資料表。 如果沒有參考資料表存在,則傳回 null。 如果關聯為多對多 (N:N),則傳回參考實體陣列。

entitylist

實體物件用於 Power Apps Dataverse 資料表標籤中。 它可讓您存取特定清單的所有屬性。

屬性

注意

實體

屬性 描述
create_enabled 如果針對清單設定建立新記錄,則會傳回 true。 否則會傳回 false。
create_url 針對清單的建立連結/按鈕,傳回設定的 URL 路徑。
detail_enabled 如果針對清單設定個別記錄的詳細檢視,則傳回 true。 否則會傳回 false。
detail_id_parameter 傳回用於記錄識別碼的查詢字串參數名稱,當建構記錄詳細檢視 URL 時。 請參閱 URL 篩選,以取得有關使用 Liquid 篩選建構 URL 的詳細資料。 例如,id
detail_label 針對清單的詳細檢視連結/按鈕,傳回設定的當地語系化標籤。
detail_url 針對清單的詳細檢視連結/按鈕,傳回設定的 URL 路徑。
empty_list_text 當清單檢視未傳回結果時,傳回設定好要顯示的當地語系化文字。
enable_entity_permissions 如果資料表權限篩選已對此實體清單啟用,則傳回 true。 否則會傳回 false。
entity_logical_name 傳回要由此資料表清單顯示的記錄的 Power Apps 實體邏輯名稱。 例如 contact
filter_account_attribute_name 傳回對 account 查詢的屬性邏輯名稱,將由目前入口網站使用者的上層客戶用來篩選結果記錄。 例如,accountid
filter_apply_label 傳回設定的當地語系化標籤,要用於套用進階屬性篩選至清單結果的連結/按鈕。
filter_definition 針對清單傳回 JSON 屬性篩選定義。 請參閱清單篩選,以取得如何使用 metafilters Liquid 篩選處理此定義的詳細資料。
filter_enabled 如果進階屬性篩選已針對清單啟用,則傳回 true。 否則會傳回 false。
filter_portal_user_attribute_name 傳回對 contact 查詢的屬性邏輯名稱,將由目前入口網站使用者的連絡人用來篩選結果記錄。 例如,contactid
filter_website_attribute_name 傳回對 adx_website 查詢的屬性邏輯名稱,將由目前入口網站用來篩選結果記錄。 例如,adx_websiteid
language_code 傳回 Power Apps 整數語言碼,將用來為此清單選取所有當地語系化的標籤。
page_size 針對清單傳回設定的結果頁面大小。
primary_key_name 傳回要由此清單顯示的記錄的主索引鍵屬性邏輯名稱。
search_enabled 如果已對此清單啟用搜尋,則傳回 true。 否則會傳回 false。
search_placeholder 針對清單搜尋欄位預留位置,傳回設定的當地語系化文字。
search_tooltip 針對清單搜尋工具提示,傳回設定的當地語系化文字。
檢視表 針對清單傳回可用的檢視,做為清單檢視物件。
[屬性邏輯名稱] 您可以依邏輯名稱存取清單 (adx_entitylist) Power Apps 記錄的任何屬性,方法與資料表物件相同。 例如,{{ entitylist.adx_name }}

清單檢視屬性

屬性 描述
傳回檢視表的欄,做為清單檢視欄物件。
entity_logical_name 針對檢視表中所包含記錄,傳回 Power Apps 資料表邏輯名稱。 例如 contact
ID 傳回檢視表的 GUID 識別碼。
language_code 傳回 Power Apps 整數語言碼,將用來選取檢視表的所有當地語系化的標籤 (欄標題等)。
名稱 傳回檢視表的 Power Apps 顯示名稱。
primary_key_logical_name 針對檢視表中所包含記錄,傳回 Power Apps 資料表主索引鍵邏輯名稱。 例如,contactid
sort_expression 傳回檢視表的預設排序運算式。 例如 name ASC、createdon DESC

清單檢視表欄屬性

屬性 描述
attribute_type 傳回欄的 Power Apps 屬性類型名稱,做為字串。 例如,Lookup、Picklist、String、Boolean、DateTime
logical_name 傳回欄的 Power Apps 屬性邏輯名稱。 例如,createdon
名稱 傳回欄的當地語系化 Power Apps 顯示名稱。 例如,[建立日期]
sort_ascending 傳回排序運算式字串,用於以遞增順序排序欄。 例如,createdon ASC
sort_descending 傳回排序運算式字串,用於以遞減順序排序欄。 例如,createdon DESC
sort_disabled 如果停用欄的排序,則傳回 true。 否則會傳回 false。
sort_enabled 如果啟用欄的排序,則傳回 true。 否則會傳回 false。
width 傳回設定的欄寬 (像素)。

entityview

entityview 物件是在 entityview 標籤中使用,並且提供存取檢視表中繼資料的方式,以及檢視結果記錄。

屬性

屬性 描述
傳回檢視表中的欄,做為資料表檢視欄物件
entity_permission_denied 傳回 true,如果存取檢視結果因為目前使用者的資料表權限不足而遭拒。 傳回 false,如果授與檢視結果的讀取權限。
entity_logical_name 檢視結果記錄的 Power Apps 資料表邏輯名稱。 例如 contact
first_page 檢視結果第一頁的頁碼。 這會是 1,除非沒有傳回結果,如此就會是 null。
ID 定義此 entityview 的 Power Apps 檢視表的 GUID ID。
language_code Power Apps 整數語言碼,用來載入目前檢視表的當地語系化標籤。
last_page 檢視結果最後一頁的頁碼。 如果未傳回任何結果,這會是 null。
名稱 定義此 entityview 的 Power Apps 檢視表的名稱,例如使用中連絡人。
next_page 檢視結果下一頁的頁碼。 如果沒有下一頁結果,這會是 null。
檢視結果目前頁面的頁碼。
pages 傳回頁碼陣列,包含目前檢視表的所有結果頁面。
page_size 針對目前檢視表每頁傳回的結果數目。
previous_page 檢視結果下一頁的頁碼。 如果沒有上一頁結果,這會是 null。
primary_key_logical_name 此檢視表結果資料表的主索引鍵屬性的 Power Apps 邏輯名稱。 例如 contactid。
記錄 檢視表的結果記錄的目前頁面,做為資料表物件。
sort_expression 檢視表的預設排序運算式。 例如 nameASC、createdon DESC。
total_pages 檢視表的結果總頁數。
total_records 檢視表的結果總數 (包含所有頁面)。

事件

提供存取和呈現事件的功能。 events 物件可讓您選取特定事件或所有事件。

events 物件

events 物件可讓您存取入口網站上的任何特定事件,或存取入口網站上的所有事件 (任何事件)。

events 物件有下列屬性:

屬性 描述
occurences 傳回 eventoccurancessobject,包含入口網站中所有的事件出現位置
[event name 或 id] 您可以依 Name 或 ID 屬性存取任何事件。
{% assign event = events["Event Name"] %}
{% assign event = events["da8b8a92-2ee6-476f-8a21-782b047ff460"] %}

event 物件

event 物件可讓您使用單一事件,如此就能存取該事件的排程和出現位置。

event 物件有下列屬性:

屬性 描述
傳回 eventoccurrencesobject,包含事件的所有出現位置。
名稱 事件的名稱。
URL 事件的 URL。

eventoccurences 物件

eventoccurrences 物件可讓您存取 event occurrences 物件的集合。 您可以排列物件的出現位置,並指定要擷取該事件的日期範圍,以及使用 Liquid 篩選進行分頁

{% assign occurances = event.occurrences.from[today].to[advance_date] %}

請注意,

{% assign occurances = event.occurrences.min[today].max[advance_date] %}

也可以。

下列屬性與 eventoccurrences 物件相關

屬性 描述
全部 傳回集合中的所有 eventoccurance 物件。

eventoccurence 物件

代表事件出現單次。 以下提供關聯的屬性:

屬性 描述
URL 出現位置的 URL。
is_all_day_event 是否為全天活動?
start_time 事件的開始時間。
end_time 事件的結束時間。

forloop

包含 for 迴圈區塊內實用的屬性。

注意

forloop 只能在 for 標籤內使用。

代碼

{% for child in page.children %}

{% if forloop.first %}

This is the first child page!

{% else %}

This is child page number {{ forloop.index }}.

{% endif %}

{% endfor %}

輸出

This is the first child page!

This is child page number 2.

This is child page number 3.

屬性

屬性 描述
第一 如果是迴圈的第一個反覆項目,則傳回 true。 如果不是第一個反覆項目,則傳回 false。
索引 目前項目在集合中的位置,其中第一個項目的位置為 1。
index0 目前項目在集合中的位置,其中第一個項目的位置為 0。
最後一頁 如果是迴圈的最後一個反覆項目,則傳回 true。 如果不是最後一個反覆項目,則傳回 false。
length 傳回迴圈的反覆項目數,也就是集合中要反覆查詢的項目數。
rindex 迴圈中剩餘的項目數 (長度 - 索引),其中 1 是最後一個項目的索引。
rindex0 迴圈中剩餘的項目數 (長度 - 索引),其中 0 是最後一個項目的索引。

forums

提供存取和呈現論壇及論壇對話的功能。 使用 Liquid 呈現論壇資料的功能會延伸至貼文,但為了建立對話的新貼文,您必須使用內建所述功能的 ASP.NET 多步驟表單頁面範本 (例如,預設的「論壇對話」和「論壇貼文」頁面範本)。

forums 物件可讓您選取論壇或論壇執行緒:

<div class=content-panel panel panel-default>

<div class=panel-heading>

<h4>

<span class=fa fa-comments aria-hidden=true></span>

{{ snippets[Home Forum Activity Heading] | default: Forum Activity | h }}

</h4>

</div>

{% for forum in website.forums %}

<ul class=list-group>

<li class=list-group-item>

<div class=row>

<div class=col-sm-6>

<h4 class=list-group-item-heading><a href="{{ forum.url | h }}"> {{ forum.name | h }}</a></h4>

<div class=list-group-item-text content-metadata>{{ forum.adx_description | h }}</div>

</div>

<div class=col-sm-3 content-metadata>{{ forum.thread_count }} threads</div>

<div class=col-sm-3 content-metadata>{{ forum.post_count }} posts</div>

</div>

</li>

</ul>

{% endfor %}

</div>

forums 物件

forums 物件可讓您存取入口網站上的任何特定論壇,或存取入口網站上的所有論壇對話 (任何論壇)。

forum 物件可讓您使用單一論壇,如此就能存取該論壇的對話。

forumthreads 物件可讓您存取 forumthread 物件的集合。 您可以排列論壇對話的順序,並使用 Liquid 篩選進行分頁。

{% assign threads = forum.threads | order_by adx_name, desc | paginate: 0,4 | all %}

單一論壇對話

forumthreads 物件可讓您存取 forumthread 物件的集合。

屬性

屬性 描述
threads 傳回 forumthreads 物件,包含入口網站中的所有 forumthread 物件。
全部 傳回入口網站中的所有 forum 物件。 請注意,website.forums 也是同等。
thread_count 傳回整數值,表示整個網站中有多少個對話的計數。
post_count 傳回整數值,表示入口網站中貼文的總數。
[forum name 或 id] 您可以依 Name 或 ID 屬性存取任何論壇。
`{% assign forum = forums[Forum Name] %}
{% assign forum = forums[da8b8a92-2ee6-476f-8a21-782b047ff460] %}

forum 物件

屬性

注意

entities

屬性 描述:
threads 傳回 forumthreads 物件,包含論壇的所有對話。
名稱 論壇的名稱。
thread_count 傳回整數值,表示論壇中有多少個對話的計數。
post_count 傳回整數值,表示整個論壇中有多少篇貼文的計數。

forumthreads 物件

屬性

屬性 描述
全部 傳回集合中的所有 forumthread 物件。

forumthread 物件

屬性

注意

實體

屬性 描述
posts 傳回 forumposts 物件,包含對話的所有論壇貼文。
author 傳回對話的 author (單純是連絡人資料表物件)。
latest_post 傳回對話中最新的貼文。
first_post 傳回對話中第一篇貼文。
post_count 傳回整數值,表示對話中有多少篇貼文的計數。
is_answered 對話是否有回覆?
is_sticky 對話是否為自黏對話?

forumposts 物件

屬性

屬性 描述
全部 傳回集合中的所有 forumthread 物件。

單一論壇貼文

屬性

注意

實體

屬性 描述
author 傳回文章的作者 (單純是連絡人資料表物件)。
content 貼文的內容。
is_answer 這篇貼文是否為對話的回覆?

知識

提供 Power Apps knowledgearticle 和 category 資料表記錄的存取權,以在入口網站中轉譯文章和類別。

屬性

屬性 描述
文章 傳回包含入口網站中可用 knowledgearticle 資料表記錄之多個 article 物件的一個 articles 物件。
類別 傳回包含入口網站中可用 category 資料表記錄之多個 category 物件的一個 categories 物件。

articles 物件

articles 物件可讓您存取 article 物件的集合。 您可以排列文章的順序,並使用 Liquid 篩選進行分頁。

{% assign count = count | default: 3 %}
{% assign languagecode = website.selected_language.code %}
{% assign popular_articles = knowledge.articles | popular: count,languagecode  %}
{% if popular_articles %}
    <div class=list-group>
    {% for article in popular_articles %}
      <div class=list-group-item clearfix>
        <a class=title href={{ article.url | escape }}>{{ article.title | escape }}</a>
        <p class=description>{{ article.description | escape }}</p>
      </div>
    {% endfor %}
    </div>
{% endif %}

屬性

屬性 描述
常用 傳回包含最多次檢視的 article 物件集合。 {% assign popular_articles = knowledge.articles.popular %}
最近 傳回包含上次修改日期的 article 物件集合。 {% assign recent_articles = knowledge.articles.recent %}
熱門 傳回包含評等最高的 article 物件集合。 {% assign top_articles = knowledge.articles.top %}

篩選

下列篩選可以接受頁面大小及語言的選用參數。 第一個參數是要擷取的數字或記錄。 預設頁面大小為 5。 第二個參數是擷取特定語言文章的語言代碼。 篩選可結合其他 Liquid 篩選 使用。

{% assign page_size = 5 %}
{% assign language_code = website.selected_language.code %}
{% assign recent_articles = knowledge.articles | recent: page_size, language_code %}
屬性 描述
常用 傳回包含最多次檢視的 article 物件集合。 {% assign popular_articles = knowledge.articles \| popular: 10, en-US %}
最近 傳回包含上次修改日期的 article 物件集合。 {% assign recent_articles = knowledge.articles \| recent: 5 %}
熱門 傳回包含評等最高的 article 物件集合。 {% assign top_articles = knowledge.articles \| top: 3, en-US %}

categories 物件

categories 物件可讓您存取 category 物件的集合。 您可以排列類別的順序,並使用 Liquid 篩選進行分頁。

{% assign category_url = sitemarkers['Category'].url %}
  {% assign count = count | default: 0 %}  
  {% assign categories = knowledge.categories | top_level: count %}
  {% if categories %}
    <div class=list-group unstyled>
    {% for category in categories %}
      <a href={{ category_url | add_query: 'id', category.categorynumber }} class=list-group-item>
        {{ category.title }}
      </a>
    {% endfor %}
    </div>
  {% endif %}

屬性

屬性 描述
最近 傳回包含上次修改日期的 category 物件集合。
top_level 傳回無上層類別的類別物件集合。

篩選

下列篩選可以接受指出頁面大小的選用參數。 預設頁面大小為 5。 篩選可結合其他 Liquid 篩選 使用。

{% assign page_size = 5 %}
{% assign recent_categories = knowledge.categories | recent: page_size %}
屬性 描述
最近 傳回包含上次修改日期的 category 物件集合。 您可以提供參數 {% assign recent_categories = knowledge.categories \| recent: 10 %}
top_level 傳回無上層類別的類別物件集合。 {% assign root_categories = knowledge.categories \| top_level %}

article 物件

article 物件可讓您使用單一 knowledgearticle 在入口網站顯示該 article 的詳細資料。

屬性

article 是 實體 物件,包含所有相同屬性,除了下列之外。

屬性 描述
article_public_number 文章的文章公開編號。
comment_count 所指文章有多少篇留言的計數整數值。
content 文章內容。
current_user_can_comment 傳回布林值,表示目前使用者是否可以在文章上留言。
is_rating_enabled 傳回布林值,表示是否啟用文章評等。
關鍵字 文章關鍵字。
名稱 文章標題的替代別名。
評等 文章的十進位評等值。
標題 文章的標題。
view_count 文章檢視次數的整數值。

category 物件

category 物件可讓您使用單一 category 在入口網站顯示其詳細資料。

屬性

category 是 實體 物件,包含所有相同屬性,除了下列之外。

屬性 描述
categorynumber 類別的類別編號。
名稱 類別標題的替代別名。
標題 類別的標題。

語言

提供目前的語言名稱,以及語言代碼,如果已啟用多語言支援

屬性

屬性 描述
URL 目前要求 URL 以目前語言代碼為首碼。
url_substitution 目前要求 URL 以目前語言代碼為首碼,避開網頁輸出快取。
名稱 目前語言的標題。
代碼 語言的語言代碼。

例如,當可使用多個語言時,語言下拉式表單網站範本會預設使用此 Liquid 物件來列出可用語言。

頁面

是指目前入口網站要求頁面。 此物件結合網站地圖與目前要求的實體 (通常是網頁)。

page 物件提供存取某些項目的方式,像是目前頁面的導覽路徑標示、目前頁面的標題或 URL,以及基礎 Power Apps 記錄的任何其他屬性或相關實體。

<ul class=breadcrumb>

{% for crumb in page.breadcrumbs %}

<li><a href={{ crumb.url | escape }}>{{ crumb.title | escape }}</a></li>

{% endfor %}

<li class=active>{{ page.title | escape }}</li>

</ul>

<div class=page-header>

<h1>{{ page.title | escape }}</h1>

</div>

<div class=page-copy>

{{ page.adx_copy }}

</div>

<div class=list-group>

{% for child in page.children %}

<a class=list-group-item href={{ child.url | escape }}>

{{ child.title | escape }}

</a>

{% endfor %}

</div>

<!-- Page {{ page.id }} was last modified on {{ page.modifiedon }}. -->

頁面屬性

注意

實體

屬性 描述
breadcrumbs 傳回頁面的導覽路徑標示網站地圖節點物件,從網站地圖根節點開始,並於上層結束。
children 傳回頁面的下層網站地圖節點物件。
parent 傳回頁面的上層網站地圖節點。 如果頁面是首頁,parent 會是 null。
標題 頁面的標題。
URL 頁面的 URL。
[屬性或關聯名稱] 您可以依邏輯名稱存取頁面基礎 Power Apps 記錄的任何屬性。
{{ page.createdon }}
{% assign attribute_name = 'name' %}
{{ page[attribute_name] }}
大部分資料表屬性的值會直接對應到 Liquid 類型:兩個選項欄位對應到布林值、文字欄位對應到字串、數值/貨幣欄位對應到數字、日期/時間欄位對應到日期物件。 但是有些屬性類型會做為物件傳回:
  • 查詢 (相關聯的資料表參考) 欄位會以關聯的資料表參考物件的方式傳回。
  • 選項組/挑選清單欄位會做為選項組值物件傳回。
  • 您也可以依關聯結構描述名稱載入任何相關的實體。
    {{ page.adx_webpage_entitylist.adx_name }}
    若關聯是自反關聯性 (也就是自我參照),則會傳回實體物件。 (否則,結果會模棱兩可)。{{ page.adx_webpage_webpage.referencing.adx_name }}
    附註:在單一範本中載入大量相關實體,或存取大量關聯,可能對範本轉譯的效能造成不良影響。 避免在陣列中於迴圈內載入每一個項目的相關實體。 盡可能使用 Power Apps Dataverse 資料表標籤載入實體的集合。

polls

提供存取和呈現輪詢的功能。

polls 物件可讓您選取特定輪詢或輪詢位置:

<div>

{% assign poll = polls[Poll Name] %}

<h4>{{ poll.question }}</h4>

{% for option in poll.options %}

<div>

<input type=radio name={{ poll.name }} id={{ option.id }} />

<label for={{ option.id }}>{{ option.answer }}</label>

</div>

{% endfor %}

<button type=button>{{ poll.submit_button_label }}</button>

</div>

輪詢屬性

屬性 描述
placements 傳回 pollplacements 物件。
[poll name 或 id] 您可以依 Name 或 ID 屬性存取任何輪詢。 {% assign poll = polls[Poll Name] %}
{% assign poll = polls["41827a5c-33de-49b8-a0c7-439e6a02eb98"] %}

輪詢位置屬性

屬性 描述
[poll placement name 或 id] 您可以依 Name 或 ID 屬性存取任何輪詢位置。{% assign placement = polls.placements[Placement Name or Id] %}
{% assign placement = polls.placements[7677c5d4-406e-4b6c-907c-916ac17dba0f] %}

輪詢位置屬性

注意

entities

屬性 描述
名稱 傳回輪詢位置的名稱欄位。
placement_url 可用來擷取藉由範本完整轉譯的輪詢位置的 URL。
polls 傳回與位置相關的 poll 物件的集合。 反覆項目標籤和陣列篩選可搭配此集合使用。
random_url 可用來擷取藉由範本完整轉譯的位置中隨機輪詢的 URL。
submit_url 送出已完成輪詢的 URL。

輪詢屬性

注意

實體

屬性 描述
has_user_voted 傳回 true,如果目前使用者 (已登入或匿名) 已在此輪詢中投票。
名稱 傳回輪詢的名稱欄位。
選項 傳回與輪詢相關的輪詢選項物件的集合。 反覆項目標籤陣列篩選可搭配此集合使用。
poll_url 可用來擷取藉由範本完整轉譯的輪詢的 URL。
問題 傳回輪詢的問題欄位。
submit_button_label 傳回字串,可用來覆寫輪詢的 [送出] 按鈕標籤。
submit_url 送出已完成輪詢的 URL。
user_selected_option 傳回使用者選取的 polloption 物件 (如果他們已投票)。
votes 傳回已針對輪詢製表的投票數。

輪詢選項屬性

注意

實體

屬性 描述
answer 傳回輪詢的答案欄位。
percentage 傳回輪詢中該選項的投票百分比,以從 0 到 100 的十進位數字表示。
votes 傳回已針對選項製表的投票數。

要求

包含有關目前 HTTP 要求的資訊。

{% assign id = request.params['id'] | escape %}

<a href={{ request.url | add_query: 'foo', 1 | escape }}>Link</a>

注意

  • 您可以在 Liquid 中使用 URL 篩選動態來建置 URL。
  • request.url 中使用的 URL 可以是任何要求的值,並進入快取供後續要求使用。 為確保 request.url 的值正確,請考慮使用替代標記、部分 URL (例如 ~{WebFile 路徑}),或在網站設定中儲存入口網站 URL。
  • Power Apps 入口網站發行版本 9.3.8.x 或更新版本將預設為使用者要求 Liquid 物件強制執行逸出 Liquid 篩選。 若要停用此預設設定,並讓這些 Liquid 物件不會逸出 Liquid 篩選,請參閱入口網站設定 - Site/EnableDefaultHtmlEncoding

屬性

屬性 描述
參數 目前要求的具名參數值。 params 是 URL 查詢字串參數、表單張貼參數及 Cookie 的組合。
路徑 目前要求 URL 的路徑。
/profile/
path_and_query 目前要求 URL 的路徑和查詢。
/profile/?foo=1&bar=something
query 目前要求 URL 的查詢部分。
?foo=1&bar=something
URL 目前要求的完整 URL。
https://www.example.com/profile/?foo=1&bar=something

searchindex

Searchindex 物件是在 Power Apps Dataverse 資料表標籤內使用,並可存取查詢的結果。

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

屬性

屬性 描述
approximate_total_hits 傳回符合索引查詢的約略結果總計數。 由於搜尋索引在安全性篩選和其他設計因素方面的運作方式,此數字僅為約略值,不一定與某些情況下對目前使用者提供的結果總數完全一致。
傳回目前查詢的頁碼。
page_size 傳回目前查詢的頁面大小上限。 如果您想要傳回目前頁面的實際結果數目 (因為這可能比指定的頁面大小上限少),請使用 results.size。
結果 傳回查詢結果頁面,做為搜尋索引結果物件。

搜尋索引結果

屬性 描述
實體 結果的基礎實體
fragment 結果的相關簡短文字片段,其中詞彙符合反白顯示 (使用 <em> HTML 標籤) 的指定查詢。 特定類型的查詢不支援醒目提示的片段,例如模糊查詢 (~) 和萬用字元查詢 (*)。 這些情況下此屬性會是 null。
ID 結果的基礎記錄的 Power Apps 資料表識別碼,做為字串。 例如,936DA01F-9ABD-4d9d-80C7-02AF85C822A8
logical_name 結果的基礎記錄的 Power Apps 資料表邏輯名稱。 例如,adx_webpage
編號 結果的數目,包含所有結果頁面,從 1 開始。 例如,對於第二頁結果的第一個結果,頁面大小為 10,此值會是 11。
score 結果的 Lucene 得分,做為浮點值。 傳回的結果會依此值排列。
標題 結果的標題。
URL 結果的 URL。 這通常—但非一定—會是目前應用程式的絕對路徑,而不是完整 URL。 例如:/articles/article1/

設定

可讓您依名稱載入任何網站設定。 如果找不到具有特定名稱的設定,則會傳回 null

注意

設定會做為字串傳回,但您可以使用類型篩選將它們轉換成其他類型。

{{ settings[My Setting] }}

{% assign search_enabled = settings[Search/Enabled] | boolean %}

{% if search_enabled %}

Search is enabled.

{% endif %}

{% assign pagesize = settings['page size'] | integer | default: 10 %}

{% if pagesize > 10 %}

Page size is greater than 10.

{% endif %}

網站地圖

允許存取入口網站的網站地圖。

<h1>{{ sitemap.root.title }}</h1>

<ul class=breadcrumb>

{% for crumb in sitemap.current.breadcrumbs %}

<li><a href={{ crumb.title }}>{{ crumb.title }}</a></li>

{% endfor %}

<li class=active>{{ sitemap.current.title }}</li>

</ul>

{% for child in sitemap.current.children %}

<a href={{ child.url }}>{{ child.title }}</a>

{% endfor %}

It's also possible to load a site map node by URL path:

{% assign node = sitemap[/content/page1/] %}

{% if node %}

{% for child in node.children %}

<a href={{ child.url }}>{{ child.title }}</a>

{% endfor %}

{% endif %}

網站地圖屬性

屬性 描述
目前 傳回目前頁面的網站地圖節點物件。
根目錄 傳回網站根 (首頁) 頁面的網站地圖節點物件。

網站地圖節點屬性

屬性 描述
階層連結 傳回節點的導覽路徑標示網站地圖節點物件,從網站地圖根節點開始,並於上層結束。
子女 傳回節點的下層網站地圖節點物件。
描述 節點的描述/摘要內容。 (此欄位可包含 HTML)
實體 傳回節點的基礎實體。 如果節點沒有基礎資料表,此值會是 null。
is_sitemap_ancestor 傳回 true,如果網站地圖節點是目前節點的上階,否則傳回 false。
is_sitemap_current 傳回 true,如果網站地圖節點是目前節點,否則傳回 false。
父母 傳回節點的上層網站地圖節點。 如果節點是根節點,上層會是 null。
職稱 節點的標題。
URL 節點的 URL。

sitemarkers

可讓您依名稱載入任何網站標記。 如果網站標記存在,將會傳回 sitemarker 物件。 如果找不到具有特定名稱的網站標記,則會傳回 null

{{ sitemarkers[Login].url }}

{% assign my_sitemarker = sitemarkers["My Site Marker"] %}

{% if my_sitemarker %}

<a href={{ my_sitemarker.url }}>{{ my_sitemarker.adx_name }}</a>

{% else %}

Site marker My Site Marker does not exist.

{% endif %}

網站標記屬性

屬性 描述
URL 網站標記目標的 URL。
[屬性邏輯名稱] 您可以依邏輯名稱存取網站標記目標 Power Apps 記錄的任何屬性。 例如,{{ sitemarker.adx_name }}

snippets

可讓您依名稱載入任何內容程式碼片段。 如果找不到具有特定名稱的程式碼片段,則會傳回 null

{{ snippets[Header] }}

{% assign footer = snippets[Footer] %}

{% if footer %}

{{ footer }}

{% else %}

No footer snippet was found.

{% endif %}

tablerowloop

包含反覆項目標籤迴圈區塊內實用的屬性。

注意

forloop 只能在反覆項目標籤標籤內使用。

屬性

屬性 描述
Col 傳回目前列的索引,從 1 開始。
col0 傳回目前列的索引,從 0 開始。
col_first 如果目前資料行是某一資料列中的第一個資料行,傳回 True,如果不是,則傳回 False。
col_last 如果目前資料行是某一資料列中的最後一個資料行,傳回 True,如果不是,則傳回 False。
第一頁 如果是迴圈的第一個反覆項目,則傳回 true。 如果不是第一個反覆項目,則傳回 false。
索引 目前項目在集合中的位置,其中第一個項目的位置為 1。
index0 目前項目在集合中的位置,其中第一個項目的位置為 0。
最後一頁 如果是迴圈的最後一個反覆項目,則傳回 true。 如果不是最後一個反覆項目,則傳回 false。
長度 傳回迴圈的反覆項目數,也就是集合中要反覆查詢的項目數。
Rindex 迴圈中剩餘的項目數 (長度 - 索引),其中 1 是最後一個項目的索引。
rindex0 迴圈中剩餘的項目數 (長度 - 索引),其中 0 是最後一個項目的索引。

使用者

是指目前入口網站使用者,允許存取基礎 Power Apps 連絡人記錄的任何屬性。 如果沒有使用者登入,此變數將會是 null

使用者是實體物件。

{% if user %}
 
Hello, {{ user.fullname | escape }}!
 
{% else %}
 
Hello, anonymous user!
 
{% endif %}

注意

Power Apps 入口網站發行版本 9.3.8.x 或更新版本將預設為使用者要求 Liquid 物件強制執行逸出 Liquid 篩選。 若要停用此預設設定,並讓這些 Liquid 物件不會逸出 Liquid 篩選,請參閱入口網站設定 - Site/EnableDefaultHtmlEncoding

屬性

除了擁有實體物件的所有屬性之外,使用者還有下列屬性。

屬性 描述
角色 傳回使用者所屬的角色做為陣列
{% if user.roles contains 'Administrators' %} User is an administrator. {% endif %}
注意:您也可以使用 has_role 篩選來對個別角色成員資格進行測試。
basic_badges_url 傳回可擷取使用者徽章的服務 URL。
若要呈現使用者的徽章,您必須加入包含 [data-badge] 和 [data-uri] 屬性的標籤。 若要呈現目前使用者的徽章:
<div data-badge data-uri='{{user.basic_badges_url }}'></div>
若要依識別碼 (變數 userid) 呈現使用者的徽章:
`<div data-badge data-uri='{{user.basic_badges_url

可讓您依名稱或識別碼載入任何網頁連結。

如果網頁連結組存在,網頁連結組物件將會傳回。 若未發現所指名稱或識別碼的網頁連結組,將會傳回 null

<!-- Load web link set by ID -->

{{ weblinks[page.adx_navigation.id].name }}

<!-- Load web link set by name -->

{% assign nav = weblinks[Primary Navigation] %}

{% if nav %}

<h1>{{ nav.title | escape }}</h1>

<ul>

{% for link in nav.weblinks %}

<li>

<a href={{ link.url | escape }} title={{ link.tooltip | escape }}>

{% if link.image %}

<img src={{ link.image.url | escape }} alt={{ link.image.alternate_text | escape }} />

{% endif %}

{{ link.name | escape }}

</a>

</li>

{% endfor %}

</ul>

{% endif %}

網頁連結組屬性

注意

網頁連結組是實體物件,包含所有相同屬性,以及下列各個屬性。

屬性 描述
複本 網頁連結組的 HTML 複本。
名稱 網頁連結組的名稱。
職稱 網頁連結組的標題。
網頁連結 網頁連結物件陣列,與網頁連結組相關。
[屬性邏輯名稱] 您可以依邏輯名稱存取網頁連結組 Power Apps 記錄的任何屬性。 例如,{{ weblinkset.createdon }}

網頁連結屬性

注意

網頁連結是實體物件,包含所有相同屬性,以及下列各個屬性。

屬性 描述
描述 網頁連結的 HTML 描述。
display_image_only 布林值屬性,表示網頁連結是否應僅顯示為影像,不含連結文字。
display_page_child_links 布林值屬性,表示網頁連結是否應顯示所連結頁面的子頁面的網站地圖連結,做為子連結。
影像 此連結的網頁連結影像物件。 如果影像不存在,此屬性將會是 null。
is_external 布林值屬性,表示網頁連結的目標 URL 是否連結至外部網站 (而非內部入口網站頁面)。
is_sitemap_ancestor 傳回 true,如果網頁連結的 URL 參考目前網站地圖節點的上階,否則傳回 false。
is_sitemap_current 傳回 true,如果網頁連結的 URL 參考目前網站地圖節點,否則傳回 false。
名稱 網頁連結的名稱/標題。
Nofollow 布林值屬性,表示網頁連結是否應標示為 rel=nofollow。
open_in_new_window 布林值屬性,表示選取網頁連結時,是否應在新的瀏覽器視窗/索引標籤中開啟。
工具提示 網頁連結的工具提示文字。
URL 網頁連結的 URL。
網頁連結 子網頁連結物件陣列,與網頁連結相關。
[屬性邏輯名稱] 您可以依邏輯名稱存取網頁連結 Power Apps 記錄的任何屬性。 例如,{{ weblink.createdon }}

網頁連結影像屬性

alternate_text 影像的替代文字。
高度 整數,包含指定的影像高度。 如果未提供高度值,此屬性將會是 null。
URL 影像的 URL。
寬度 整數,包含指定的影像寬度。 如果未提供寬度值,此屬性將會是 null。

website

是指入口網站的網站,允許存取入口網站的 Power Apps 網站 (adx_website) 記錄的所有屬性。

注意

網站是實體物件,包含所有相同的屬性。

代碼

{{ website.adx_name }} ({{ website.id }})

輸出

Community Portal (936DA01F-9ABD-4d9d-80C7-02AF85C822A8)

屬性

下表列出此標記的屬性,此標記可以用來取代預設值,以避免快取。

預設值 替代 (避免快取) 範例
sign_in_url sign_in_url_substitution 預設website.sign_in_url/en-US/SignIn?returnUrl=%2Fen-US%2F
替代 (避免快取)website.sign_in_url_substitution/en-US/SignIn?returnUrl=%2Fen-US%2Fsubstitute-page%2F
(此範例中的「取代頁面」會取代預設快取 URL。)
sign_out_url sign_out_url_substitution 預設website.sign_out_url/en-US/Account/Login/LogOff?returnUrl=%2Fen-US%2F
替代 (避免快取)website.sign_out_url_substitution/en-US/Account/Login/LogOff?returnUrl=%2Fen-US%2Fsubstitute-page%2F
(此範例中的「取代頁面」會取代預設快取 URL。)

請參閱

Liquid 類型
Liquid 標籤
Liquid 篩選

注意

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

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