マルチゾーンレイアウトでのカスタムテンプレートの作成 creating-custom-templates-multizone
ここでは、マルチゾーンレイアウトでのカスタムテンプレートの作成方法を説明します。
重要な検討事項 considerations
マルチゾーンレイアウトでカスタムテンプレートを作成する前に、注意する必要がある重要な検討事項が 2 つあります。
-
固定ピクセルサイズまたはパーセンテージ:
カスタムレイアウトで異なるゾーンに対して固定ピクセルサイズを使用するか、パーセンテージを使用したカスタムレイアウトを作成するかを決定します。
note note NOTE カスタムレイアウトのゾーンの設定にパーセンテージを設定すると、様々な画面サイズでテンプレートを再利用できるという利点があります。 -
命名規則:
命名規則は、AEM Screens プロジェクトで使用するカスタムマルチゾーンテンプレートの作成方法を理解するのに役立ちます。ただし、まずは、作成するテンプレートの用語を理解する必要があります。
table 0-row-2 1-row-2 2-row-2 3-row-2 レイアウト名 説明 Left20-LandscapeHD3Zone次の 3 つのゾーンを作成できる 3 ゾーンの横長レイアウト:
* ゾーン 1、画面の左から縦横 20%
* ゾーン 2、右揃えで縦 20%、横 80%
* ゾーン 3、縦 80%、横 100%。縦横比は 16:9Upper20-PortraitHD2Zone画面の上から 20%を占める、縦横比 16:9、2 ゾーンの縦長テンプレート Right20-LandscapeSD3Zone画面の右から 20%を占める、縦横比 4:3、3 ゾーンのテンプレート note important IMPORTANT カスタムレイアウト内で定義されたゾーンは、レイアウト全体の縦横比と一致しない場合があります。このドキュメントで従う命名規則では、カスタムレイアウト全体の縦横比を指定します。
Left20-LandscapeHD3Zone レイアウトの使用例 custom-template-one
以下の節に従って、次の設定でカスタムテンプレート Left20-LandscapeHD3Zone を作成します。
Left20– 画面サイズの縦横 20%を占める左上部のゾーン。Landscape– 画面の向き。HD– 16:9 の縦横比。3Zone– ディスプレイの 3 つのゾーン。
マルチゾーンレイアウトの視覚表現 multi-layout-visual-one
Left20-LandscapeHD3Zone レイアウトを使用すると、プロジェクトに次のマルチゾーンレイアウトを作成できます。
Left20-LandscapeHD3Zone レイアウトの作成 landscape-layout-one
次の手順に従って、AEM Screens プロジェクト用の Left20-LandscapeHD3Zone レイアウトを作成します。
-
customtemplateというタイトルの AEM Screens プロジェクトを作成します。
-
AEM インスタンス/ツール/CRXDE Lite から CRXDE Lite に移動します。
-
apps の下に、
customtemplateという名前のフォルダーを作成します。同様に、次の図に示すように、customtemplateの下に、template という名前の別のフォルダーを作成します。
note note NOTE コンテンツを作成、編集するたび、またはいずれかのノードにコンテンツをコピーするたびに、CRXDE Lite のアクションバーから「すべて保存」をクリックします。そうしないと、更新をコミットできません。 -
lbar-left テンプレートを
/libs/screens/core/templates/splitscreenchannel/lbar-leftから/apps/customtemplate/templateにコピーします。 -
コピーした lbar-left(
/apps/customtemplate/template)の名前を my-custom-layout に変更します。
-
/apps/customtemplate/template/my-custom-layoutに移動して、プロパティjcr:descriptionをLeft20-LandscapeHD3Zoneの テンプレートに、jcr:titleをLeft20-LandscapeHD3Zoneに更新します。
-
/apps/customtemplate/template/my-custom-layout/jcr:content/offline-configからoffline-configノードに移動して、jcr:titleをLeft20-LandscapeHD3Zoneに更新します。
-
/apps/customtemplate/template/my-custom-layout/jcr:contentから my-custom-template のjcr:contentプロパティに移動して、cq:cssClassプロパティを更新し、aem-Layout my-custom-layout を使用できるようにします。
-
lbar-left テンプレートをコピーした手順(4)を参照すると、
my-custom-layout/jcr:contentの下に 3 つのレスポンシブグリッドを表示できます。cq:cssClassプロパティの各レスポンシブグリッドにカスタム css クラスを追加します。例えば、r1c1 ノードの場合は my-custom-layout-top-left です。
同様に、r1c2 ノードに対しては my-custom-layout-top-right を追加し、r2c1 ノードに対しては my-custom-layout-bottom を追加します。
note note NOTE これらのカスタムクラスは、レスポンシブグリッドの幅と高さを設定するために CSS で使用されます。 note note NOTE レスポンシブグリッドは、必要な合計グリッド数に基づいて追加または削除できます。この例では、最初の行に 2 つのグリッドを、2 番目の行に 1 つのグリッドを表示しているので、合計 3 つのレスポンシブグリッド(r1c1、r1c2、r2c1)があります。 -
/libs/settings/wcm/designs/screensを/apps/settings/wcm/designs/にコピーして、コピーしたデザインの名前を custom-template-designs に変更します。 -
/apps/settings/wcm/designs/custom-template-designsに移動して、custom-template-designs のjcr:titleプロパティを customtemplate-design に更新します。 -
/apps/settings/wcm/designs/custom-template-designsに移動して、static.css ファイルを作成します。 -
コンテンツを
static.cssファイルにコピーします。code language-shell /*my-custom-layout styles*/ .cq-Screens-channel--multizone.my-custom-layout .my-custom-layout--top-left { width:20%; height: 36%; float: left !important; } .cq-Screens-channel--multizone.my-custom-layout .my-custom-layout--top-right { width:80%; height: 36%; float: left !important; } .cq-Screens-channel--multizone.my-custom-layout .my-custom-layout--bottom { width:100%; height: 64%; }note note NOTE パーセンテージは、カスタムテンプレートの要件に合わせて更新できます。 -
/apps/<project>/templates/my-custom-layout/jcr:contentに移動し、cq:designPathプロパティを/apps/settings/wcm/designs/customtemplate-designsに更新して、static.css で設定されたスタイルを読み込みます。note note NOTE コピーして貼り付けると、空白が発生して CSS のスタイル設定に問題が生じる可能性があるので、すべてのスタイルを手動で入力します。
結果の表示 viewing-result
以下の手順に従って、AEM Screens プロジェクトで上記のカスタマイズされたテンプレートを使用します。
-
手順 1 で作成した Screens プロジェクトに移動し、チャネル フォルダーを選択します。
-
アクションバーで「作成」をクリックし、作成 ウィザードで
Left20-LandscapeHD3Zoneテンプレートをクリックします。
-
カスタマイズしたテンプレートを使用してチャネルを作成したら、エディターからチャネルにアセットを追加できます。次のプレビューは、カスタムテンプレート内の画像を示しています。
背景レイヤーとしての画像の挿入 inserting-image
画像を背景レイヤーとしてレイアウトに挿入できます。
「data-uri」を使用して画像(Base64 エンコード済み)を CSS ファイル(手順 13 で作成した static.css)に直接埋め込むように、CSS ルールを調整できます。
この配置は次のようにします。.cq-Screens-channel--multizone.my-CustomLayout { background: url('data:image/…;base64,…') no-repeat center center; }
または、次の手順に従うこともできます。
- 画像を何らかの形でチャネルのオフライン設定に含めます。
- 上記の CSS で、「data-uri」バリアントではなく、画像への直接リンクを使用します。
背景色の更新 updating-color
背景色を変更するには、xml ファイル(手順 13 で作成した static.css)に次のコードを追加します。
.cq-Screens-channel--multizone.my-CustomLayout { background-color: …; }