ルート サイトを作成するツールがあり、そのツールはその中にいくつかのサブサイトも作成します。ここで、これらのサブサイトを のルート サイトのクイック起動に表示したいと考えていますSharePoint 2010
。
これらは、クイック起動のヘッダー「サイト」の下にあるはずです。デフォルトでSharePoint 2010
は、クイック起動に「サイト」ヘッダーはありません。ヘッダー「サイト」は、ブラウザからのクイック起動時に表示するオプションをチェックして、新しいサブ サイトが作成された場合にのみ表示されます。話し合うシナリオが 2 つあります。
最初のケース (ヘッダー「Sites」は既にクイック起動に存在します) 新しいサブ サイトを作成すると、「Sites」ヘッダーの下に新しいサイトが追加され、正常に機能しています。
2 番目のケース (ヘッダー「Sites」がクイック起動に存在しない) この場合、ルート サイトのクイック ランチにはサブサイトがありません。これは、クイック ランチに「サイト」ヘッダーがないことを意味します。ツールがこのルート サイトにサブサイトを作成するとき、クイック ランチに「Sites」ヘッダーを配置し、「Sites」ヘッダーの下にサブサイトも表示したいと考えました。
これを達成するためにさまざまなアプローチを試みましたが、成功しませんでした。以下のコードを使用してクイック ランチに「Sites」ヘッダーを追加しようとしましたが、この「Sites」ヘッダーの下にサブサイトを表示できました。しかし、ブラウザからサブサイトを追加すると、別の「Sites」ヘッダーが表示され、このサブサイトはこの「Sites」ヘッダーの下に表示されます。そのため、簡単なランチには 2 つの「サイト」ヘッダーが含まれていますが、これは避けたかったのです。
単一の「Sites」ヘッダーと、そのヘッダーの下にすべてのサブサブサイトを含める必要がありました。
このコードを使用して、Quick Lunch に「Sites」ヘッダーを追加しました
quickLaunchSitesNode = web.ParentWeb.Navigation.GetNodeById(1026);
If (quickLaunchSitesNode == null)
{
SPNavigationNode newNode = new SPNavigationNode("Sites", parentWeb.ServerRelativeUrl + "/_layouts/viewlsts.aspx?ShowSites=1", true);
quickLaunchSitesNode = parentWeb.Navigation.QuickLaunch.AddAsFirst(newNode);
quickLaunchSitesNode.Update();
parentWeb.Update();
}
SharePoint 2010
プログラムによるクイック起動で、ヘッダー「サイト」の下に新しく作成されたサブサイトを追加する方法はありますか?