シャドウサイト構造のサポート
場合によっては、実際のサイト構造とは異なるナビゲーションメニューを訪問者向けに作成する必要があります。例えば、プロモーションの場合は、コンテンツリストを並べ替えて、メニュー内の特定のコンテンツを強調表示するかもしれません。シャドウページは他のコンテンツページにリダイレクトするだけですが、これを使用して、ナビゲーションコンポーネントは必要に応じて任意のナビゲーション構造を生成できます。
それには、以下の手順を実行します。
- 目的のサイト構造を表すシャドウページを、空のページとして作成します。これは、多くの場合、シャドウサイト構造と呼ばれます。
- これらのページのページプロパティで、実際のコンテンツページを指すように リダイレクト 値を設定します。
- シャドウページのページプロパティで、「ナビゲーション内で非表示にする」オプションを設定します。
- ナビゲーションコンポーネントの ナビゲーションルート 値を、新しいシャドウサイト構造のルートを指すように設定します。
この結果、ナビゲーションコンポーネントは、シャドウサイト構造に基づいてメニューをレンダリングします。コンポーネントによってレンダリングされるリンクは、シャドウページそのものではなく、シャドウページのリダイレクト先となる実際のコンテンツページを指しています。さらに、シャドウページに基づいたナビゲーションの場合でも、コンポーネントには実際のページの名前が表示されると共に、アクティブなページが正しく強調表示されます。ナビゲーションコンポーネントにより、事実上、シャドウページは訪問者に対して完全に透過的になります。
ナビゲーションでのリダイレクト
ページにリダイレクトターゲットがある場合(外部 URL を指しているか別の AEM ページを指しているかに関係なく)、そのターゲットへのリンクを含むナビゲーションコンポーネントは、リダイレクトターゲットの URL を直接示します。
例
- ページ B にリダイレクトするページ A を作成します。
https://aemcomponents.dev
にリダイレクトするページ C を作成する- ページ D で、ページ A とページ C を含むナビゲーションコンポーネントを挿入します。
- 生成された各リンクは、ページ B と
https://aemcomponents.dev
を直接指します。
コンポーネント出力のサンプル
ナビゲーションコンポーネントを体験し、その設定オプションや HTML および JSON 出力の例を確認するには、コンポーネントライブラリを参照してください。
技術的詳細
ナビゲーションコンポーネントに関する最新の技術ドキュメントについては、GitHub を参照してください。
コアコンポーネントの開発について詳しくは、コアコンポーネント開発者向けドキュメントを参照してください。
編集ダイアログ
編集ダイアログでは、ナビゲーションのルートページとナビゲーション構造の深さをコンテンツ作成者が定義できます。
「プロパティ」タブ
-
ナビゲーションルート - ルートページ(ナビゲーションツリーの生成に使用されます)。
-
ルートレベルの除外 - 多くの場合、ルートはナビゲーションに含める必要はありません。このオプションを使用すると、除外するルートから上のレベル数を指定できます。次に例を示します。
- 0 =ルートレベルを表示
- 1 =ルートレベルを除外
- 2 =ルートとさらに 1 つ上のレベルを除外
- 等。
-
すべての子ページを収集 - ナビゲーションルートの下位ノードであるすべてのページを収集します。
-
ナビゲーション構造の深さ - ナビゲーションツリーのルートを起点に表示する下位レベルの数を定義します(「すべての子ページを収集」が選択されていない場合のみ使用可能)。
-
シャドウイングを無効にする - 階層内のページがリダイレクトの場合、リダイレクト先のページの名前がターゲットの代わりに表示されます。詳細については、シャドウサイト構造のサポート を参照してください。
-
ID - このオプションを使用すると、HTML 内およびデータレイヤー内のコンポーネントの一意の識別子を制御できます。
- 空白のままにした場合、一意の ID が自動的に生成されます。生成された ID は結果のページを調べることで確認できます。
- ID を指定した場合、作者はその ID が一意であることを確認する必要があります。
- ID を変更すると、CSS、JS、およびデータレイヤーのトラッキングに影響を与える可能性があります。
- ラベル - コンポーネントの ARIA ラベル属性の値