0

私は現在、初めて 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() も試しましたが、どちらも何のアクションも引き起こしませんでした。

ティア!

4

2 に答える 2

0

シェン、

カスタム ナビゲーション コントロールの構築を検討したことはありますか? 過激に聞こえるかもしれませんが、探しているものかもしれません。

http://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspx、特にオプション 5 と 6 を 見てください。

于 2012-11-14T21:13:30.207 に答える
0

これを達成するために SPSecurityTrimmedControl を使用できました。

私はもともと、表示プロパティを s4-leftpanel に「none」に設定してから、このパネルの後に次のコード ブロックを設定しました。

<Sharepoint:SPSecurityTrimmedControl runat="server" Permissions="FullMask">
        <script type="text/javascript">
            document.getElementById("s4-leftpanel").style.display = "block";
        </script>
        </Sharepoint:SPSecurityTrimmedControl>

MSO_ContentTable のマージンについても同じことを実行しました。0px に設定し、その div の後に次のコードを実行しました。

        <Sharepoint:SPSecurityTrimmedControl runat="server" Permissions="FullMask">
        <script type="text/javascript">
            document.getElementById("MSO_ContentTable").style.marginLeft = "155px";
        </script>
        </Sharepoint:SPSecurityTrimmedControl>
于 2012-11-14T21:59:32.907 に答える