2

複数のページ レンダリング コンポーネントで共有されるヘッダー コンポーネントが必要です。ヘッダー コンポーネントにはテキスト ラベルがあります。このテキスト ラベルの値をすべてのページ コンポーネントで使用できるようにするにはどうすればよいですか。

<cq:include>共通の形式へのパスを作成する必要がありますか?

4

6 に答える 6

4

設計モードは、正しく理解されていれば、非常にうまく機能します。ただし、ページのアクティブ化と同じ方法でコンテンツを複製しないため、作成者が混乱する可能性があります。また、共有モデルは正確なページ タイプに限定されます。これは、必要な粒度である場合とそうでない場合があります。

CQ5 のベスト プラクティス ( https://dev.day.com/docs/en/cq/current/developing/developing_guidelines_bestpractices.html ) から、彼らは段落システム (iparsys による継承/共有) を強く推奨しています。 iparsys同じ名前のページ テンプレートは、異なるページ テンプレート間で共有できます (デザイン モードは単一のテンプレート タイプにのみ適用されます)。

于 2013-09-04T04:43:32.950 に答える
3

この機能は、ACS AEM Commons で共有コンポーネント プロパティとして提供されるようになりました - http://adobe-consulting-services.github.io/acs-aem-commons/features/shared-component-properties.html

標準のコンテンツ アクティベーションと国際化 (ホームページの下に保存される値) およびコンテンツに期待されるその他すべてをサポートします。

于 2017-02-03T02:33:43.473 に答える
0

目標が「複数のページ レンダリング コンポーネント間で」共有することである場合、デザイン ダイアログは、ページが同じレンダリング コンポーネントを共有する場合にのみ役立ちます。ページとそのすべてのサブページにヘッダー コンポーネントを表示する場合は、iparsys を使用する必要があります。そのヘッダー コンポーネントのプロパティを再利用するだけの場合は、固定パス (ページ コンポーネントの cq:include) が必要であり、他のページ レンダリング コンポーネントで必要なプロパティを参照できます。コンポーネントを持つという考えを壊すので、そのアプローチはお勧めしません。すべてが密結合になります。

これらのプロパティをページ レベル (最上位の親ページ) で保存し、サブページで InheritanceValueMap を使用してそれらのプロパティを読み取ることもできます。

于 2016-01-04T22:30:28.790 に答える
0

ヘッダー コンポーネントを作成し、それを<cq:include>ベース テンプレート/ページに含めることができます。このベース テンプレート/ページは、他のすべてのテンプレートに継承されます。このようにして、ベース ページで構成されたヘッダーは、さまざまなテンプレート/ページ コンポーネントで使用できます。

于 2015-02-19T07:59:05.357 に答える