現在表示中:

編集可能テンプレートが導入された目的は次のとおりです。

  • (専門的な)作成者がテンプレートを作成および編集できるようにすること。
    • 作成者は、template-authors グループのメンバーである必要があります。
  • テンプレートとそこから作成されたすべてのページとの間に動的接続が維持されるようにすること。これにより、テンプレートに加えた変更が各ページに反映されるようになります。
  • ページコンポーネントの汎用性を高め、基盤となるページコンポーネントをカスタマイズなしで使用できるようにすること。

注意:

静的テンプレートも使用できます。

新しいテンプレートの作成

新しい編集可能テンプレートを作成する場合は、次の手順を実行します。

  1. テンプレート用のフォルダーを作成します(推奨)。

    警告:

    フォルダーは、管理者権限を持つユーザーが作成する必要があります。

  2. テンプレートタイプを選択します。テンプレート定義を作成するために、このタイプがコピーされます。

    注意:

    既製のテンプレートタイプが用意されています。必要に応じて、独自のサイト固有のテンプレートタイプを作成することもできます。

  3. 新しいテンプレートの構造コンテンツポリシー初期コンテンツレイアウト、ページデザインおよびページポリシーを設定します。

  4. テンプレートを使用してコンテンツページを作成します。

注意:

作成者は、テンプレートコンソールとテンプレートエディターを使用して、タッチ操作向け UI で編集可能テンプレートを作成および設定できます。

テンプレートフォルダー

以下のフォルダーを使用してテンプレートを整理できます。

  • global
  • サイト固有
    テンプレートを整理するためのサイト固有のフォルダーは、管理者権限を保持しているアカウントによって作成されます。手順と詳細については、テンプレートフォルダーの作成 - 管理者を参照してください。

注意:

フォルダーはネストできますが、テンプレートコンソールで表示すると、フラット構造として表されます。

ACL とグループ

セキュリティを確保するために、どちらのタイプのフォルダーにも適切なグループ向けに定義された ACL が必要です。

パス 役割/グループ 権限 - オーサー環境
権限 - パブリッシュ環境
説明
/conf/global/settings/wcm/templates template-authors 読み取り、書き込み、複製 読み取り、書き込み、複製 標準インストールでは、template-authors グループは空です。
/conf/global/settings/wcm/policies everyone 読み取り 読み取り  
/conf/<your-folder>/settings/wcm/templates template-authors
読み取り、書き込み、複製 読み取り、書き込み、複製 標準インストールでは、template-authors グループは空です。
/conf/<your-folder>/settings/wcm/policies everyone 読み取り 読み取り  

テンプレートタイプ

新しいテンプレートの作成時には、テンプレートタイプを指定する必要があります。

  • テンプレートタイプは、テンプレートのためのテンプレートとなるものです。テンプレート作成時に選択したテンプレートタイプの構造と初期コンテンツに基づいて、新しいテンプレートが作成されます。
    • テンプレートはテンプレートタイプをコピーして作成されます。
    • コピー後のテンプレートとテンプレートタイプとの関連付けは、情報を取得するだけの静的参照のみとなります。
  • テンプレートタイプでは、以下の項目を定義できます。
    • ページコンポーネントのリソースタイプ。
    • ルートノードのポリシー。テンプレートエディターで許可されるコンポーネントを定義します。
    • オプション(ただし推奨)で、レスポンシブグリッドのブレークポイントとモバイルエミュレーターの設定。この設定はサイトのルートページでも定義できるので、必須ではありません。
  • AEM には、既製のテンプレートタイプがいくつか用意されています(HTML5 ページ、アダプティブフォームページなど)。
  • テンプレートタイプは開発者が定義するもので、UI を使用して編集することはできません。

既製のテンプレートタイプは次のフォルダーに保存されています。

  • /libs/settings/wcm/template-types

サイト固有のテンプレートタイプは、以下に相当する場所に保存してください。

  • /apps/settings/wcm/template-types

警告:

/libs パスでは何も変更しないでください。

/libs のコンテンツは、インスタンスを次回アップグレードするとき(場合によってはホットフィックスまたは機能パックを適用したとき)に上書きされるからです。

カスタマイズしたテンプレートタイプの定義は、以下のように、global フォルダーまたはユーザー定義フォルダーに保存してください。

  • /conf/global/settings/wcm/template-types
  • /conf/<my-folder>/settings/wcm/template-types
  • /conf/<my-folder-01>/<my-folder-02>/settings/wcm/template-types

警告:

テンプレートタイプは、正しいフォルダー構造(/settings/wcm/...)を遵守する必要があります。さもないと、テンプレートタイプが見つからなくなります。

テンプレート定義

編集可能テンプレートの定義は、以下のように、global フォルダーまたはユーザー定義フォルダーに保存されています。

  • /conf/global/settings/wcm/templates
  • /conf/<my-folder>/settings/wcm/templates
  • /conf/<my-folder-01>/<my-folder-02>/settings/wcm/templates

テンプレートのルートノードは、以下のスケルトン構造を持つ cq:Template タイプです。

<template-name>
  initial
    jcr:content
      root
        <component>
        ...
        <component>
  jcr:content
    @property status
  policies
    jcr:content
      root
        @property cq:policy
        <component>
          @property cq:policy
        ...
        <component>
          @property cq:policy
  structure
    jcr:content
      root
        <component>
        ...
        <component>
      cq:responsive
        breakpoints
  thumbnail.png

主な要素は以下のとおりです。

jcr:content

このノードは、テンプレートのプロパティを保持します。

  • 名前jcr:title
  • 名前status
    • 種類string
    • draftenabled または disabled

構造

作成されるページの構造を定義します。

  • 新しいページの作成時に初期コンテンツ(/initial)と統合されます。
  • 構造に加えた変更は、そのテンプレートを使用して作成されたすべてのページに反映されます。
  • rootstructure/jcr:content/root)ノードは、作成されたページで使用できるコンポーネントのリストを定義します。
    • テンプレート構造内に定義されているコンポーネントは、作成されるすべてのページから移動または削除できません。
    • コンポーネントをロック解除すると、editable プロパティが true に設定されます。
    • 既にコンテンツを含むコンポーネントをロック解除すると、このコンテンツは initial ブランチに移動されます。
  • cq:responsive ノードは、レスポンシブレイアウトの定義を保持します。

初期コンテンツ

作成時に新しいページに表示される初期コンテンツを定義します。

  • すべての新しいページにコピーされる jcr:content ノードが含まれます。
  • 新しいページの作成時に構造(/structure)と統合されます。
  • 作成後に初期コンテンツが変更されても、既存のページはすべて更新されません。
  • root ノードは、作成されたページで使用できるコンポーネントを定義する、コンポーネントのリストを保持します。
  • コンテンツが構造モードでコンポーネントに追加され、その後、そのコンポーネントがロック解除された場合(またはコンポーネントのロック解除後にコンテンツが追加された場合)、このコンテンツは初期コンテンツとして使用されます。

レイアウト

テンプレートの編集時にレイアウトを定義できます。レイアウトは標準のレスポンシブレイアウトを使用し、必要に応じて設定することもできます。

コンテンツポリシー

コンテンツ(またはデザイン)ポリシーでは、コンポーネントのデザインプロパティ(使用可能なコンポーネントや、最小または最大寸法など)を定義します。これらのポリシーは、テンプレートと、そのテンプレートを使用して作成されるページに適用されます。コンテンツポリシーは、タッチ操作向け UI のテンプレートエディターで作成および選択できます。

  • root ノード /conf/<your-folder>/settings/wcm/templates/<your-template>/policies/jcr:content/root cq:policy プロパティ
    ページの段落システムのコンテンツポリシーへの相対参照を提供します。

  • root の下のコンポーネントを明示的に示すノードの cq:policy プロパティは、個々のコンポーネントのポリシーへのリンクを提供します。
  • 実際のポリシー定義は、次の場所に保存されます。
    /conf/<your-folder>/settings/wcm/policies/wcm/foundation/components

注意:

ポリシー定義のパスは、コンポーネントのパスによって異なります。cq:policy は、設定自体への相対参照を保持します。

注意:

編集可能テンプレートから作成されたページの場合は、ページエディターでデザインモードが提供されません。

編集可能テンプレートの policies ツリーは、次の場所にある静的テンプレートのデザインモード設定と同じ階層を持ちます。

    /etc/designs/<my-site>/jcr:content/<component-name>

静的テンプレートのデザインモード設定は、ページコンポーネントごとに定義されたものです。

ページポリシー

ページポリシーを使用して、テンプレートまたは作成されるページで、ページ(メインの parsys)のコンテンツポリシーを定義できます。

使用するテンプレートの有効化と許可

  1. テンプレートの有効化

    テンプレートは、次のどちらかの方法で有効化してからでなければ使用できません。

    1. テンプレートコンソールからテンプレートを有効化する。
    2. jcr:content ノードの status プロパティを設定する。
      • 例:
        /conf/<your-folder>/settings/wcm/templates/<your-template>/jcr:content
      • プロパティの定義
        • 名前:status
        • タイプ:String
        • 値:enabled
  2. 許可されたテンプレート

    例えば、次の値を使用します。

    /conf/<your-folder>/settings/wcm/templates/.*

作成されるコンテンツページ

編集可能テンプレートから作成されるページには、次の特徴があります。

  • テンプレートの structureinitial を統合したサブツリーを使用して作成されます。
  • テンプレートおよびテンプレートタイプに保持される情報への参照を持ちます。この情報は、以下のプロパティを持つ jcr:content ノードを使用してアーカイブされます。
    • cq:template
      実際のテンプレートへの動的参照を提供します。テンプレートへの変更を実際のページに反映させることができます。
    • cq:templateType
      テンプレートタイプへの参照を提供します。

上の図は、テンプレート、コンテンツおよびコンポーネントの相関関係を示したものです。

  • コントローラー - /content/<my-site>/<my-page>
    テンプレートを参照して作成されるページです。コンテンツがプロセス全体を制御します。定義に従って、適切なテンプレートとコンポーネントにアクセスします。
  • 設定 - /conf/<my-folder>/settings/wcm/templates/<my-template>
    ページ設定を定義するテンプレートおよび関連するコンテンツポリシーです。
  • モデル - OSGi バンドル
    OSGI バンドルが機能を実装します。
  • 表示 - /apps/<my-site>/components
    オーサー環境とパブリッシュ環境の両方で、コンテンツがコンポーネントによってレンダリングされます。

ページのレンダリング時

  • テンプレート:

    • jcr:content ノードの cq:template プロパティが、そのページに対応するテンプレートにアクセスするために参照されます。
  • コンポーネント:

    • ページコンポーネントは、テンプレートの structure/jcr:content ツリーとページの jcr:content ツリーを統合します。
    • 作成者は、ページコンポーネントを使用して、「編集可能」のフラグが設定されているテンプレート構造のノード(およびいずれかの子)を編集できるだけです。
    • ページ上にコンポーネントをレンダリングする際、そのコンポーネントの相対パスが jcr:content ノードから取得されます。その後、テンプレートの policies/jcr:content ノードの下の同じパスが検索されます。
      • このノードの cq:policy プロパティは、実際のコンテンツポリシーを指します(すなわち、このプロパティは、そのコンポーネントのデザイン設定を保持しています)。
      • このため、同じコンテンツポリシー設定を再利用する複数のテンプレートを持つことができます。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー