sharepointのナビゲーションでページの表示をプログラムでオフにする方法
-
03-07-2019 - |
質問
私はプログラム的にSharePointサイトを作成しています
SPWeb spWeb = spSite.AllWebs.Add(...);
「ナビゲーションでページを表示」をオフにするようにspWebを設定するには、どのコードを実行する必要がありますか?オプション?
回答:
publishingWeb.IncludePagesInNavigation = false;
解決
わからないが、 this を見つけることができた:
別の一般的なナビゲーションの変更 ブランディングタスク ユーザーが見ることができ、どのように進むことができる サイト階層を通じて。の Microsoft.SharePoint.Publishing 名前空間はいくつかのクラスを公開します 出版サイトをターゲットに PublishingWebなどのインフラストラクチャ およびPublishingPage。これらを使用して クラス、簡単に変更できます 各サイトのナビゲーション。お望みならば ルートレベルとして表示する子Web グローバルナビゲーションのサイト、最初のターン 親サイトからの継承をオフにする、 そのように:
publishingWeb.InheritGlobalNavigation = false;
すべてのサイトを非表示にすることもできます グローバルナビゲーションからのページ。セッティング IncludePagesInNavigationをfalseに サイト内のすべてのページを非表示にし、 かどうかに関係なく PublishingPage.IncludeInGlobalNavigation プロパティがtrueに設定されています
// do not show pages in navigation
publishingWeb.IncludePagesInNavigation = false;
デフォルトのサイトを扱っている場合 PublishingWebを継承しない、 これらを隠すことはまだ可能です グローバルナビゲーションバーからのサイト。 たとえば、サイトを作成する場合 コラボレーションを使用したコレクション ポータルテンプレートと除外したい グローバルナビゲーションのニュースサイト、 そのサイトを追加する __GlobalNavigationExcludesプロパティ:サイト:
string globalNavExcludes = String.Empty;
SPWeb webSite = MSDNSiteCollection.RootWeb;
// _GlobalNavigationExcludes property contains a delimited string of
// GUIDs identifying the Id of each site to be excluded from global
// navigation
if (webSite.AllProperties.ContainsKey("__GlobalNavigationExcludes")) {
globalNavExcludes =
webSite.AllProperties["__GlobalNavigationExcludes"].ToString();
}
SPWeb newsSite = MSDNSiteCollection.AllWebs["News"];
// string is delimited "{GUID};{GUID};",
// use format code B to convert to string
globalNavExcludes += String.Concat(currentWeb.ID.ToString("B"), ";");
webSite.AllProperties["__GlobalNavigationExcludes"] = globalNavExcludes;
webSite.Update();
ナビゲーションノードを直接追加する SPNavigationNodeCollectionは良いです 必要なノードのみを表示する方法 ノードとリンクをグループ化するだけでなく 外部サイト。図10は、 内部リンク、外部リンクを追加し、 そしてグローバルナビゲーションへの見出し バー。この例では、 SPNavigationのプロパティ リンクかどうかに影響するクラス 新しいウィンドウで開きます 空のURLを処理します。
他のヒント
SP 2010の場合は以下を使用...
publishingWeb.Navigation.GlobalIncludePages = false;