Power Apps Portal: ポータルサイトのLiquidを紹介

Dynamics 365 CRM

Power Apps Portalsは、ポータルサイトを構築するための標準機能が多数用意されています。しかし、バックエンドのASP.NETから直接に、独自のテンプレートが開発できません。ページテンプレート(下記のPage Template)を開発する場合、Liquidを使用する必要があります。

Liquidでは、Power Appsポータル内のページテンプレートをカスタマイズしたり、Webページ上のコンテンツスニペットで使用したり、JavaScriptに埋め込んだりすることができます。

Liquidコードはサーバーサイドで実行されます。つまり、書いたコードロジックはページがレンダリングされる前に実行されることになります。

Liquidの特徴は、動的データをWebページ上に表示する方法を提供することです。

今回の記事では、Power Apps Portalにおける基本な概念と考え方、Liquidコードを記述する例を紹介します。

Portalにおける基本コンセプトを解説

Web Template

Web Teamplateは、コードを書き込む場所です。

HTML , CSS , JS , Liquidなどのコードの記入が可能となります。

Web Page 画面

Web Page画面は、ウェブサイト内で最終的にたどり着くページのことです。ナビゲーションやURLを通じてウェブサイトのページにアクセスすることができますが、Web PageそのものはWeb Templateとは直接関係ありません。

Page Template

Page Templateは、Web TeamplateをWeb Page画面と関連付けるためのものです。Page Templateの種類を「Web Teamplate」にし、対象のWeb Teamplateを指定するだけで紐付けます。

Page Templateは、複数のWebページで再利用できます。

Liquidの話をする前に、Webサイトの基本構造が実際にどうなっているのかを見てみましょう。

まずポータルサイトが所属する環境を開き、「アプリ」での「ポータル管理」を開きます。バックグラウンドのポータル管理画面に遷移します。

ナビゲーションにある「Webテンプレート」を選択し、「Default studio template」を開きます。Default studio templateはデフォルトのテンプレートとなります。

赤線のコードを見たら、Web Template最初の構造がdivであり、div中の構文がLiquidとなります。

Liquidの構文「include」を利用してPage Copyという別のWeb Templateを導入しています。Page Copyの内容は、Default studio templateに読み込まれます。

Page Copyでは、editableはadx_copyというページをHTMLとして表示させ、整列できるようにします。

つまり、Liquidコードをソースに入れ込むことで、ページのコンテンツを動的にレンダリングすることができます。また、LiquidコードはWebテンプレートに記述されます。

Liquidをポータルサイトに導入する順番は以下です。

1、LiquidをWeb Templateに作成します。

2、作成したWeb TemplateをPage Templateに入れて、Page Templateを作成します。

3、Web PagePage Templateを導入します。

Web Templateを作成

Web Templateを新規作成します。

Liquid の構文は非常にシンプルで、Liquid のタグを {%%} で記述することができます。例えば、下の画像の条件判断は {%if user%} で、ユーザーがログインしているかどうかを判断しています。

Page Templateを作成

先ほど作ったWeb Templateを利用するために、Page Templateを作成します。

種類に「Webテンプレート」を選択し、先ほど作成した「Hello Liquid」のテンプレートを導入します。

WebページにてPage Templateを利用する

Helloという名前のWebページを新規作成します。Page Templateと同様に、Webサイトを「Default Portal Template」にします。ページテンプレートでは、先ほど作成した「Hello Liquid Test」を指定して入れます。

保存して、ポータルサイトに確認します。作成した「Hello」のWebページがあり、クリックすると、「Hello Liquid」のテンプレートは無事に導入されることが確認できました。

最後に

以上ではLiquidの最もシンプルな使い方を紹介させて頂きました。

Liquidは動的なコンテンツを表示することができ、論理的なプログラミング構文も持っています。

Liquid自体はWeb Templateで記述する必要があります。WebページでWeb Templateを利用したい場合は、Page Templateを介しての必要があります。

コメント

タイトルとURLをコピーしました