ナビゲーションをカスタマイズする

最終更新日: 2011年3月11日

適用対象: SharePoint Server 2010

ほとんどの Web サイトは、ユーザーがサイトを容易にナビゲートして必要な情報や Web ページを見つけることができるように、視覚的なヒントをユーザーに提供するカスタマイズ ユーザー インターフェイス (UI) を使用しています。外観 (ブランド化) はサイトごとに異なる可能性がありますが、通常は、各種オプションを含むナビゲーション バーまたはメニューなどの形で同じ基本要素が存在します。ユーザーはこれらのオプションを選択して、サブサイトやページにナビゲートできます。

以下のトピックでは、Microsoft SharePoint Server 2010 のナビゲーションの仕組みと、プログラミングや UI によってナビゲーションをカスタマイズする方法について説明します。

  • プロバイダとデータ ソース API を使用して縦型メニューと横型メニューの構造と動作をカスタマイズする

  • [サイトのナビゲーション設定] の UI オプションを理解してサイトのナビゲーション階層を設定する

  • SharePoint Server 2010 に含まれる既定のナビゲーション プロバイダーをカスタム プロバイダーで置き換える

  • サイトに複数のナビゲーション プロバイダを構成する

ナビゲーションの基本

効果的なナビゲーション要素 (横型メニュー、縦型メニュー、ブレッドクラム ナビゲーションなど) の構築をより簡単にするために、SharePoint Server 2010 は ASP.NET のプラグ可能ナビゲーションであるProvider modelを利用します。プロバイダー モデルでは、プロバイダーがサービスとデータベースの間に統一インターフェイスを提供するソフトウェア モジュールとして定義されます。プロバイダーは、デバイス ドライバーが物理ハードウェア デバイスを抽象化するのとほぼ同じ方法で記憶メディアを抽象化します。ユーザーはプロバイダーを使用して状態データを、ほぼどこにでも格納できます。たとえば、カスタム プロバイダーを開発することで、状態データを、フロントエンド Web サービス、XML ファイル、データベースなどさまざまな外部データ プロバイダーに格納できます。SharePoint Server 2010 のナビゲーション API には、サイト マップ データを抽象化するサイト マップ プロバイダーと、ナビゲーション UI の Web コントロールに表示するためにナビゲーション構造とプロバイダーのデータをマップおよびフィルター処理するデータ ソース オブジェクトが含まれます。プロバイダーおよびデータ ソース API には両方とも、サイトをカスタマイズするために柔軟性の高い動的なオプションを有効にするプロパティが含まれており、ユーザーがそのプロパティを取得して設定できます。

SharePoint Server 2010 のナビゲーションはサイトを中心としています。つまり、サイト コレクション内の各 Web サイトは、次のサイトに至るまで、サイト階層内でその Web サイトよりも下位にある各ナビゲーション アイテムをアプリケーションで表示する方法を決定できます。この結果、各サイトには、UI またはプログラミングを使用してユーザーが設定できるナビゲーション オプションが複数含まれます。

作成する Web サイトおよびページで必要な階層を事前に決定することで、必要なナビゲーションを作成できます。また、[サイトの操作] メニューから利用できる [ナビゲーションの設定] ページを使用して階層を細かく調整したり、SharePoint Server 2010 の [サイトの設定] ページを使用したりできます。

既定のナビゲーション システムはサイトの階層に基づいており、サイトのナビゲーションは、UI またはプログラミングによる選択に基づいて実行されます。設定できるオプションには、ナビゲーションでサブサイトまたはページを表示するかどうか、ナビゲーション アイテムを手動または自動でソートするかどうか、個々のソートを処理する方法、および個々のナビゲーション アイテムの属性と動作を表示する方法があります。

縦型メニューと横型メニューを定義するときは、1 つ以上の静的または動的メニュー レベルを含む 1 つのナビゲーション セクションを展開します。

  • 静的メニュー アイテムは階層のレベルを表し、通常はハイパーリンクになっています。最上位ナビゲーション アイテム (ルート) の下に静的または動的メニュー アイテムのレベルを追加作成することができます。

  • SharePoint Server 2010 では、サイト構造に基づいて動的に表示される (フライアウト) メニュー オプションが作成されます。サイト階層によってナビゲーション メニューのレベルが定義されます。

サイトには任意の数の静的および動的レベルを含めることができます。

設計により、ナビゲーション コントロールがサイト構造内での自らの場所を検出し、複雑な方法でデータ ストアからノードを返す順序を決定します。ナビゲーション アイテムをソートするときは、SharePoint Server 2010 によってデータ ストアのノードがまず返されてから、ナビゲーション アイテムがソートされます。

関連項目

参照

Microsoft.SharePoint.Publishing.Navigation

Microsoft.SharePoint.Navigation

その他の技術情報

How to: Work with Menus and Navigation Objects

How to: Customize Navigation Controls and Providers

ベスト プラクティス: 破棄可能な Windows SharePoint Services オブジェクトの使用