Dataverse データへのアクセス
Power Pages 作成者は、HTML を使用して、静的コンテンツを含む出力を構築できます。 同様に、作成者は、複数のページおよび Microsoft Dataverse からの動的コンテンツを使用し、あるページから次のページへと変更を加える際に、Liquid を使用できます。 Liquid 要素はプレースホルダーとして機能します。つまり、出力がブラウザーに送信される前に、Liquid 要素が Dataverse のデータに置き換わります。
Power Pages では、Dataverse が機能するように設計された多数の拡張機能が実装されています。 Dataverseに固有の使用可能な Liquid オブジェクトについては、次の表を参照してください。
オブジェクト | 説明 |
---|---|
page |
現在の Web サイト要求ページを参照します。 page オブジェクトは、現在のページのパンくずリスト、現在のページのタイトルまたは URL ({{ page.title }} など)、基になる Power Apps 行の他の列または関連するテーブルなどのコンポーネントへのアクセス権を付与します。 |
user |
現在の Web サイトユーザーを参照します。基になる Power Apps 取引先担当者行のすべての列にアクセスできるようにします。 ユーザーがサインインしていない場合、この変数は null になります。 |
website |
Web サイトを参照します。Power Apps Web サイト (adx_website) 行のすべての列にアクセスできるようにします。 |
汎用テーブル | テーブル オブジェクトは、Dataverse テーブル内の行および列へのアクセスを提供します。 すべてのテーブルのコレクションは、entities で参照されます。 たとえば、{{ entities.contact[request.params.contactid].firstname }} は、contactid 要求パラメーターによって識別される取引先担当者行の名の列を参照します。 |
Microsoft Dataverse 固有のタグは、Dataverse データの読み込みと表示や、他の Power Pages フレームワーク サービスの使用のために使用されます。 これらのタグは、Liquid 言語に対する Dataverse 固有の拡張機能です。 次の表でこれらのタグの一部を説明します。
タグ | 説明 |
---|---|
chart |
Web ページに Power Apps グラフを追加します。 Power Apps グラフを Web ページに追加する手順については、「ポータルの Web ページにグラフを追加する」を参照してください。 |
powerbi |
ページ内に Microsoft Power BI ダッシュボードおよびレポートを追加します。 Web サイトの Web ページに Power BI レポートまたはダッシュボードを追加する手順については、「Web ページに Power BI レポートまたはダッシュボードを追加する」を参照してください。 |
entitylist |
指定されたリストを名前別または ID 別に読み込む Liquid ブロック タグ。 リストが正常に読み込まれる場合、ブロック内のコンテンツがレンダリングされます。 |
entityview |
指定された Dataverse ビューを名前別または ID 別に読み込む Liquid ブロック タグ。 ビューが正常に読み込まれる場合、ブロック内のコンテンツがレンダリングされます。 |
fetchxml |
ユーザーが Dataverse からデータをクエリし、ページに結果をレンダリングできるようにします。 |
codecomponent |
Liquid タグを使用してコード コンポーネントを埋め込むことができるようにします。 詳細については、「コード コンポーネントの Liquid テンプレート タグ」を参照してください。 |
次の例では、アクティブな通貨ビューが読み込まれ、返されたすべての行が表示されます。 このコードによって出力が生成されるのは、Power Pages デザイン スタジオで作成者が暗黙的にデザイン時の権限を持つためです。 ただし、このフラグメントからデータを返すためには、Web サイトのユーザーが通貨テーブルに対する読み取り権限を持つ必要があります。
{% entityview logical_name:'transactioncurrency', name:'Active Currencies' %}
<p>We support {{ entityview.total_records }} currencies.</p>
<ul>
{% for cur in entityview.records -%}
<li>{{ cur.currencyname }}</li>
{% endfor %}
</ul>
{% endentityview %}
出力は、次の例のようになります。
4 種類の通貨がサポートされています。
- オーストラリア ドル
- カナダ ドル
- ユーロ
- 米ドル
Power Pages で Liquid を使用すると、次のことができます。
Web ページまたはコンテンツ スニペットのコンテンツに動的コンテンツを直接追加する。
Web テンプレートを使用してソース コンテンツを格納する。これは Power Apps 内の構成のみによって行い、格納したコンテンツは Power Pages のコンテンツ管理システム全体で使用します。
Web サイトのヘッダーとプライマリ ナビゲーション バーをレンダリングする。これは Power Apps 内の構成のみによって行います。
Power Apps Component Framework を使用して構築された Power Pages のコード コンポーネントを使用して、フォーム、ビュー、およびダッシュボードのデータを操作するユーザーのエクスペリエンスを強化する。
これらのシナリオにおいて、サイト設定、コンテンツ スニペット、リスト、基本フォームなどの Power Pages 機能に動的にアクセスできます。
重要
Liquid のステートメントは出力としてのみ処理されます。 Liquid には、フォーム送信などのユーザーの対話的操作を扱うサーバー側コードを拡張する機能はありません。