私は現在、初めて SharePoint のブランディングに取り組んでいます。SharePoint Foundation 2010 を使用しています。「管理者」グループに含まれていないすべての人のページからクイック起動セクションを削除しようとしていました。ここで、次の c# コードを使用して、これを行うための機能または Web パーツを作成してみました。
SPWeb web = SPContext.GetContext(this.Context).Web.ParentWeb;
web.AllowUnsafeUpdates = true;
web.QuickLaunchEnabled = false;
web.Update();
これは、実際のパネル自体を削除せず、メイン コンテンツを左に移動しました。Jqueryルートからこれを試みることにしました。私のコードを以下にコピーします。ただし、マスターページでこれを試したところ、ページが完全に読み込まれ、パネルが削除されました。ページが実際に読み込まれる前にこれを実行して、ユーザーがページのポップアップを表示してから変更しないようにしたいと考えています。私は、JQuery が進むべき道であると 100% 確信しているわけではありません。これに苦労しているので、助けてください。
$(document).ready(function(){
$().SPServices({
operation: "GetGroupCollectionFromUser",
userLoginName: $().SPServices.SPGetCurrentUser(),
async: false,
completefunc: function(xData, Status) {
if($(xData.responseXML).find("Group[Name='Administrator']").length == 1)
{}
else{
var quicklaunchpanel = document.getElementById('s4-leftpanel');
quicklaunchpanel.style.display="none";
var maincontent = document.getElementById('MSO_ContentTable');
maincontent.style.cssText = "margin-left:0px;";
}
}
});
注: $(document).load() と $('#s4-leftpanel').load() も試しましたが、どちらも何のアクションも引き起こしませんでした。
ティア!