SharePoint Foundation 2010 を使用しており、複数レベルのナビゲーションを作成したいと考えています。(SharePoint Standard で発行サイトが許可するものと同様です。これは、私が調査したカスタム サイトマップ プロバイダーを使用しておそらく構築できることを認識しています。
ここでのキッカーは、ログインしたユーザーがアクセス許可を持っているページとサイトのみを表示したいということです。
現在、Web パーツの開発を開始しています。この Web パーツ内で、ループしてすべてのサイトとサブページを取得し (ユーザーがアクセス許可を持っているかどうかを確認し)、それらをラベルに追加する C# コードを記述しました。最終的には、それらをasp:menuに追加するか、作成してから、cssまたはjqueryを使用して操作し、ドロップダウン機能を実行したいと考えています。
これが私のコードの一部です:
using (SPWeb oWebsite = new SPSite(webUrl).OpenWeb())
{
SPWebCollection collWebsite = oWebsite.Webs;
foreach (SPWeb subSite in collWebsite)
{
if (subSite.DoesUserHavePermissions(SPContext.Current.Web.CurrentUser.LoginName, SPBasePermissions.Open))
{
Label1.Text += SPEncode.HtmlEncode(subSite.Title) + "<BR>";
}
SPList pagelist = subSite.Lists["Site Pages"];
foreach (SPListItem item in pagelist.Items)
{
if (item.DoesUserHavePermissions(SPContext.Current.Web.CurrentUser, SPBasePermissions.Open))
{
Label1.Text += item.Name + "<BR>";
}
}
Label1.Text += "<BR><BR>";
subSite.Close();
}
Label1.Text += "<BR><BR><BR><BR>";
}
}
サイトやページをラベルに追加する代わりに、ここでリストを作成したいと思います。最終的な目標は、この Web パーツをマスターページに配置し、アクセス許可に基づいてユーザーに何らかのナビゲーションを提供できるようにすることです。
また、単純に要素を
私はここで正しい軌道に乗っていますか、それとも同じように、またはそれ以上に機能する別の方法がありますか?
ティア。