基礎モード scaffolding
同じ構造を共有しながらコンテンツが異なるページを大量に作成しなくてはならない場合があります。標準的な Adobe Experience Manager(AEM)インターフェイスを使用する場合は、各ページを作成し、適切なコンポーネントをページにドラッグして、それぞれのコンポーネントに内容を入力する必要があります。
基礎モードを使用すると、ページに必要な構造を反映したフィールドを含むフォーム(基礎)を作成し、このフォームを使用して必要な構造に基づいたページを簡単に作成できます。
基礎モードの機能 how-scaffolding-works
基礎モードは、サイト管理の「ツール」コンソールタブに格納されています。
- ツール コンソールを開き、「デフォルトページの基礎モード」をクリックします。
- この下の「Geometrixx」をクリックします。
- 「Geometrixx」で、「ニュース」という名前の 基礎モードページ を探します。ダブルクリックしてこのページを開きます。
基礎モードは、作成するページを構成するコンテンツの各部品用のフィールドを持つフォームと、基礎モードページの「ページプロパティ」で設定できる 4 つの重要なパラメーターで構成されます。
基礎モードページのプロパティは次のとおりです。
- タイトルテキスト:これは、この基礎モードページ自体の名前です。この例では、「ニュース」と呼ばれます。
- 説明:これは、基礎モードページのタイトルの下に表示されます。
- ターゲットテンプレート:これは、この基礎モードが新しいページを作成する際に使用するテンプレートです。この例では、Geometrixx コンテンツページ テンプレートが使用されます。
- ターゲットパス:これは、この基礎モードが新しいページを作成する親ページのパスです。この例では、パスは /content/geometrixx/en/news です。
基礎モードの本文はフォームに入力します。ユーザーが基礎モードを使用してページを作成する場合、ユーザーは、フォームに入力して、下部にある「作成」をクリックします。前述の ニュース の例では、フォームに以下のフィールドがあります。
- タイトル:作成するページの名前です。このフィールドは、すべての基礎モードに常に表示されます。
- テキスト:このフィールドは、生成されるページのテキストコンポーネントに対応します。
- Image:このフィールドは、生成されるページの画像コンポーネントに対応します。
- 画像/詳細:タイトル:画像のタイトルです。
- 画像/詳細:代替テキスト:画像の代替テキストです。
- 画像/詳細:説明:画像の説明です。
- 画像/詳細:サイズ:画像のサイズです。
- タグ/キーワード:このページに割り当てるメタデータです。このフィールドは、すべての基礎モードに常に表示されます。
基礎モードの作成 creating-a-scaffold
基礎モードを作成するには、ツール コンソールの「デフォルトページ基礎モード」に移動して、ページを作成します。使用できるテンプレートの種類は、基礎モードテンプレート だけです。
新しいページの「ページプロパティ」に移動し、前述の説明に従って、「タイトルテキスト」、「説明」、「ターゲットテンプレート」および「ターゲットパス」を設定します。
次に、この基礎モードで作成するページの構造を定義する必要があります。これを行うには、基礎モードページで「デザインモード」に切り替えます。リンクが表示され、ダイアログエディター で基礎モードを編集できます。
このダイアログエディターを使用すると、この基礎モードを使用して新しいページを作成するたびに作成されるプロパティを指定できます。
基礎モードのダイアログ定義は、コンポーネントのダイアログ定義と同様に機能します(コンポーネントを参照)。ただし、次のようないくつかの重要な違いがあります。
- コンポーネントダイアログ定義は、通常のダイアログボックスとしてレンダリングされます(例えば、ダイアログエディターの中央のウィンドウに表示されます)。一方、基礎モードダイアログの定義は、ダイアログエディターで通常のダイアログボックスとして表示されますが、基礎モードフォームとして基礎モードページにレンダリングされます(前述の ニュース 基礎モードのように表示されます)。
- コンポーネントダイアログには、単一の特定のコンポーネントのコンテンツを定義するために必要な値用のフィールドのみが表示されます。基礎モードダイアログでは、作成するページの各段落のすべてのプロパティに対してフィールドを提供する必要があります。
- コンポーネントダイアログの場合、特定のコンテンツのレンダリングに使用されるコンポーネントは暗黙的に指定されるので、この段落の
sling:resourceType
プロパティは段落の作成時に自動的に指定されます。基礎モードの場合、特定の段落に対して、コンテンツおよび割り当てられたコンポーネントの両方を定義するすべての情報は、ダイアログで指定する必要があります。基礎モードダイアログでは、非表示フィールドを使用してこの内容を指定し、ページの作成時にこの内容が送信されるようにする必要があります 。
ダイアログエディターの ニュース 基礎モードダイアログの例を確認し、この仕組みを説明します。基礎モードページでデザインモードに切り替え、ダイアログエディターリンクをクリックします。
ダイアログフィールドで、以下のように ダイアログ/タブパネル/テキスト/テキスト をクリックします。
このフィールドのプロパティリストが、以下のようにダイアログエディターの右側に表示されます。
このフィールドの name プロパティに注意してください。次の値が設定されています
./jcr:content/par/text/text
これは、基礎モードを使用してページを作成する際に、このフィールドのコンテンツが書き込まれるプロパティの名前です。プロパティは、作成するページを表すノードからの相対パスとして指定します。page ノードの下の jcr:content ノードの子である par ノードの下にある、text ノードの下の text プロパティを指定します。
これにより、このフィールドに入力されるテキストのコンテンツストレージの場所が定義されます。ただし、このコンテンツに対して、さらに 2 つの特性を指定する必要があります。
- ここに格納された文字列は「リッチテキスト」として解釈される必要があるということ、および
- 生成されるページに対してこのコンテンツをレンダリングする際に使用するコンポーネント。
通常のコンポーネントダイアログでは、このダイアログが既に特定のコンポーネントにバインドされていることが暗黙的に定義されているので、この情報を指定する必要はありません。
これら 2 つの情報を指定するには、非表示フィールドを使用します。以下のように、ダイアログ/タブパネル/テキスト/非表示 をクリックして、最初の非表示フィールドを選択します。
この非表示フィールドのプロパティを以下に示します。
この非表示フィールドの name プロパティには以下の値が指定されています。
./jcr:content/par/text/textIsRich
これは、./jcr:content/par/text/text
に格納されたテキスト文字列の解釈に使用されるブール値プロパティです。
テキストはリッチテキストとして解釈する必要があるので、このフィールドの value
プロパティを true
に指定します。
2 つ目の非表示フィールドは、以下のようにクリックして表示できます。
この非表示フィールドのプロパティを以下に示します。
この非表示フィールドの name プロパティには以下の値が指定されています。
./jcr:content/par/text/sling:resourceType
また、このプロパティには以下の固定値が指定されています。
foundation/components/textimage
これは、この段落のテキストコンテンツのレンダリングに使用するコンポーネントが テキスト画像 コンポーネントであることを指定しています。他の非表示フィールドで指定されている isRichText
ブール値を使用すると、./jcr:content/par/text/text
に格納された実際のテキスト文字列を希望の方法でコンポーネントがレンダリングできます。
MSM の継承による基礎モード scaffolding-with-msm-inheritance
クラシック UI では、基礎モードは MSM 継承が完全に統合されています(該当する場合)。
(サイドキックの下部にあるアイコンを使用して)ページを 基礎モード モードで開くと、継承の対象となるすべてのコンポーネントは次のように示されます。
- ロック記号(テキストやタイトルなどのほとんどのコンポーネントの場合)
- 「クリックして継承をキャンセル」と記載されたマスク(画像コンポーネントの場合)
これらは、継承がキャンセルされるまでコンポーネントを編集できないことを示します。
ロック記号または画像アイコンのいずれかをクリックすると、継承が解除されます。
- 記号が開かれた南京錠に変わります。
- ロックを解除したら、コンテンツを編集できます。
ロックを解除した後は、ロックが解除された南京錠の記号をクリックすることで継承を復元できます。これにより、加えた変更はすべて破棄されます。