Show Menu
トピック×

テンプレート

テンプレートは、AEM の様々な場面で使用されます。
ここでは、次のテンプレートについて詳しく説明します。

テンプレート - ページ

現在、AEM には、ページ作成用として 2 つの基本的なタイプのテンプレートが用意されています。
新しいページを作成 するときにテンプレートを使用する際、ページ編集者にとって見た目的な違いはなく、またどちらのタイプのテンプレートを使用しているかについての表示もありません。

編集可能テンプレート

編集可能なテンプレートは、AEMでの開発に関するベストプラクティスと見なされるようになりました。
編集可能テンプレートのメリットは次のとおりです。
  • 作成者が 作成 および 編集 できます。
  • テンプレートを使用して作成される任意のページで、以下の項目を定義できます。
    • 構造
    • 初期コンテンツ
    • コンテンツポリシー
  • 新しいページの作成後も、そのページとテンプレートの間に動的接続が維持されます。つまり、テンプレートの構造に対する変更は、そのテンプレートを使用して作成されるすべてのページに反映されます(初期コンテンツに対する変更は反映されません)。
  • デザインプロパティを保持するには、テンプレートエディターから編集できるコンテンツポリシーを使用します(ページエディター内のデザインモードは使用しません)。
  • Are stored under /conf
  • 詳しくは、 編集可能テンプレート を参照してください。
An AEM Community Article is available explaining how to develop an Experience Manager site with Editable Templates, see Creating an Adobe Experience Manager 6.4 website using Editable Templates .

静的テンプレート

静的テンプレートには、次の特徴があります。
  • 開発者が定義および設定する必要があります。
  • これはAEMの元のテンプレート化システムで、多くのバージョンで利用できました。
  • 作成されるページと同じ構造のノード階層を含んでいますが、実際のコンテンツはありません。
  • 新しいページはテンプレートをコピーして作成されるので、動的接続は存在しません。
  • デザインプロパティを保持するには、 デザインモード を使用します。
  • Are stored under /apps
  • 詳しくは、 静的テンプレート を参照してください。
AEM 6.4では、静的テンプレートの使用はベストプラクティスとは見なされません。 その代わりに編集可能テンプレートを使用してください。
AEM最新化ツールは 、静的なテンプレートから編集可能なテンプレートに移行する際に役立ちます。

Template Availability

AEMは、「サイト」で許可されるテンプレートを制御する複数のプロパティを提 供します 。 ただし、組み合わせると、追跡と管理が困難な非常に複雑なルールになる可能性があります。
したがって、以下を定義することで、シンプルに開始することをお勧めします。
  • 財産のみ cq:allowedTemplates である
  • サイトのルートにのみ
For an example, see We.Retail: /content/we-retail/jcr:content
また、プロパ allowedPaths ティ、 allowedParents およびをテ allowedChildren ンプレートに配置して、より高度なルールを定義することもできます。 ただし、可能な場合は、許可され るテンプレートを cq:allowedTemplates さらに制限する必要がある場合は、サイトのサブセクションでさらにプロパティを定義する方がはるかに簡単です。
また、ページプロパティの「詳細 cq:allowedTemplates 」タブで作成者がプロパティを更新でき るという利点もあ ります 。 その他のテンプレートプロパティは、(標準) UIを使用して更新できないので、変更が行われるたびにルールとコードのデプロイメントを管理する開発者が必要になります。
サイト管理インターフェイスで新しいページを作成する場合、使用可能なテンプレートのリストは、新しいページの場所と、各テンプレートで指定されている配置制限によって異なります。
次のプロパティは、新しいペ T ージをページの子として配置する際にテンプレートを使用できるかどうかを決定しま P す。 これらの各プロパティは、パスとの一致に使用される0個以上の正規表現を保持する複数値の文字列です。
  • The cq:allowedTemplates property of the jcr:content subnode of P or an ancestor of P .
  • のプ allowedPaths ロパティ T
  • のプ allowedParents ロパティ T
  • The allowedChildren property of the template of P .
評価は次のようにおこなわれます。
  • で始まるページ階層を昇 cq:allowedTemplates 順に見つけた最初の、空でないプロパティ P は、のパスと一致しま T す。 いずれの値も一致しない場合、は拒否 T されます。
  • If T has a non-empty allowedPaths property, but none of the values match the path of P , T is rejected.
  • 上記のプロパティの両方が空か存在しない場合、と同じアプリケーシ T ョンに属していない限りは拒否されま P す。 T は、パスの第2レベル P の名前がパスの第2レベルの名前と同じである場合に限り、ifと同じアプリケ T ーションに属します P 。 例えば、テンプレートはペ /apps/geometrixx/templates/foo ージと同じアプリに属しているとしま /content/geometrixx す。
  • If T has an non-empty allowedParents property, but none of the values match the path of P , T is rejected.
  • If the template of P has a non-empty allowedChildren property, but none of the values match the path of T , T is rejected.
  • その他すべての場合は、 T は許可されます。
以下の図は、テンプレートの評価プロセスを示しています。

子ページで使用するテンプレートの制限

特定のページの下に子ページを作成するために使用できるテンプレートを制限するには、ページのノードのプロパティを使用して、子ページとして許可するテンプレートのリスト cq:allowedTemplates``jcr:content を指定します。 例えば、リスト内の各値は、許可された子ページのテンプレートへの絶対パスである必要がありま /apps/geometrixx/templates/contentpage す。
You can use the cq:allowedTemplates property on the template's jcr:content node to have this configuration applied to all newly created pages that use this template.
テンプレート階層など、さらに制約を追加する場合は、テンプレートのプロパティ allowedParents/allowedChildren を使用できます。 その後、テンプレートTから作成されたページを、テンプレートTから作成されたページの親/子にする必要があることを明示的に指定できます。

テンプレート - コンテンツフラグメント

詳しくは、 コンテンツフラグメントテンプレート を参照してください。