この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

ステップ 4: 縦方向ナビゲーションメニューを作成する

サイドバーに縦方向ナビゲーションメニューを追加するには、抽象forceCommunity:navigationMenuBase コンポーネントを拡張する新しいコンポーネントを verticalNav という名前で作成します。
このコンポーネントには、コミュニティの [ナビゲーションメニュー] コンポーネントで定義されるナビゲーションメニュー項目へのアクセス権が自動的に付与されます。実際にその様子を見るために、ナビゲーションメニュー項目の順序なしリストを作成します。

このシンプルな順序なしリストは、拡張抽象コンポーネントで定義されている menuItems の配列を反復し、配列の各エントリに対して <li> を出力します。

コンポーネントをテストするため、condensedThemeLayout マークアップで、ナビゲーションのプレースホルダコメントがある 3 番目の列にコンポーネントを追加します。

エクスペリエンスビルダーを更新すると、メニュー項目が箇条書きになった縦方向のナビゲーションメニューが表示されます。コミュニティのデフォルトナビゲーションメニューと同じデータセットを使用しています。この例では、縦方向のナビゲーションメニューをトピックのナビゲーションには使用しません。項目を削除するには、[設定] | [テーマ] 領域の [ナビゲーションメニュー] ボタンをクリックして、ナビゲーションからトピックを削除します。

verticalNav メニューに戻って整理しましょう。次は完成したコンポーネントのコードです。

この例では、Aura 式構文を利用して便利な処理を行っています。リスト項目が有効であるかどうかに応じて、slds-is-active クラスを条件的にリスト項目に追加できます。また、data-menu-item-id を項目の一意の ID として設定します。この ID は、後で対応する項目への移動に使用できます。このように、各リスト項目にクリックリスナを 1 つずつ追加するのではなく、リスト全体で必要なクリックリスナは 1 つだけで済みます。

コンポーネントのコントローラメソッドにクリックハンドラを追加します。HTML 要素のデータ属性にアクセスするための (項目の ID を取得できるようにする) JavaScript 構文に注意してください。
次の CSS ルールをテーマレイアウトコンポーネントに追加して、不要な余白を削除し、メインコンテンツの幅を設定します。