SharePoint 2010 母版页定制和权限定制

 

 

      介绍:我们使用SharePoint2010做门户网站,经常需要定制母版页,但是2010提供的Ribbon的方式,定制干掉了他以后,使用起来会发生不便,很多功能接口都需要从Ribbon里面进入,编辑也会无法编辑等出现各种问题,或者弹出脚本异常等。所以,我们要考虑下其他的方式,更加合理的使用Ribbon和左侧导航。

     方法一 使用JS脚步的方式

     所以就想用JS隐藏的方式,处理一下母版页,把不需要的默认隐藏掉,然后通过url传参,在需要的时候,把Ribbon还原回来。这就是我的思路,给大家看看我做的例子吧。

     如下图,是引用的SharePoint默认母版页的一个页面,大家很熟悉吧,V4.master就是我引用的母版页,效果就是这样的,我要处理掉Ribbon和左侧导航,因为要做门户首页嘛,这两个挺碍事儿的,呵呵。

                 

     

     通过IE开发工具栏,找到Ribbon和左侧导航区域的id,分别是” s4-ribbonrow”和” s4-leftpanel”,使用脚本把这两个东西隐藏掉,就变成了下图我们需要的效果,中间灰色区域是PlaceHolderMain的区域,我加了一个Div,方便识别和调整。

     我们要做的不仅仅是隐藏,还要在Url上传一个参数,我这里明明为“show”,通过JS获取到参数,然后进行操作,如果有参数show并且show的值是“true”的情况下,我们把ribbon和左侧导航还显示出来。

<script>

function QueryString(item)

{

         var sValue=location.search.match(new   RegExp("[?&]"+item+"=([^&]*)(&?)","i"))  

         return sValue?sValue[1]:sValue

}

var   ShowID=QueryString("ShowAll");

document.getElementById("s4-leftpanel").style.display='none';

document.getElementById("s4-ribbonrow").style.display='none';

document.getElementById("MSO_ContentTable").style.margin='0';

if(ShowID=="true")

{

document.getElementById("s4-leftpanel").style.display='block';

document.getElementById("s4-ribbonrow").style.display='block';

document.getElementById("MSO_ContentTable").style.margin='0   0 0 155px';

}

</script>

     下图就是加脚本隐藏Ribbon和左侧导航后效果,大家如果想隐藏其他的东西,也可以采取这样的方法,自己感觉比直接隐藏在母版页上style=”display:none”的方法要稍微合理一点,或者直接删除是最不可取的方法了。

 

     下面是传参数返回正常效果的图,大家可以看一下,ribbon和左侧导航都显示出来了,也可以正常的使用。当然,这样的操作,有可能在网络比较差的情况出现先加载出来ribbon和左侧导航的,然后消失掉,这样可以在母版页里隐藏掉,然后通过脚步显示出来也是可以的。

 

隐藏方法二

2.利用权限隐藏Ribbon菜单,需要用到SPSecurityTrimmedControl 控件,它有个PermissionsString属性用来指定权限只有拥有该权限的用户,它里面的代码才会执行。

下面就详细介绍具体操作:

1.用SPD 2010打开需要隐藏Ribbon菜单的站点,并打开正使用的母版页,默认是v4.master

2.右击该母版页,选择在高级模式下编辑文件,找到下面的代码(修改前注意备份v4.master,以免造成不可挽回的灾难):

<div id="s4-ribbonrow" class="s4-pr s4-ribbonrowhidetitle">

将其改成:

<div id="s4-ribbonrow" class="s4-pr s4-ribbonrowhidetitle" style="display:none">

3.在我们上的找到的div标签的结束标签的后面,添加如下代码:

<Sharepoint:SPSecurityTrimmedControl ID="SPSecurityTrimmedControl2" runat="server" PermissionsString="AddAndCustomizePages">     <script type="text/javascript">         document.getElementById("s4-ribbonrow").style.display = "block";     </script> </Sharepoint:SPSecurityTrimmedControl>

 

 

 

 

<Sharepoint:SPSecurityTrimmedControl ID="SPSecurityTrimmedControl2" runat="server" PermissionsString="AddAndCustomizePages">        <script type="text/javascript">

  document.getElementById("s4-ribbonrow").style.display='block';      //document.getElementById("s4-bodyContainer").style.width=document.getElementById("s4-bodyContainer").clientWidth+155;      //alert(document.getElementById("s4-bodyContainer").style.width);      //document.getElementById("s4-leftpanel").style.display='block';      //document.getElementById("MSO_ContentTable").style.margin='0 0 0 0'; 

       </script>  </Sharepoint:SPSecurityTrimmedControl>

4.保存并发布母版页

这样只有具有AddAndCustomizePages权限的用户访问,才会出现Ribbon菜单

 

     微软官方PermissionsString所有值:

 

基础权限列表:

 

ViewListItems

查看项目  -  查看列表中的项目、文档库中的文档和查看 Web 讨论评论。

OpenItems

打开项目  -  使用服务器端文件处理程序查看文档源。

ViewVersions

查看版本  -  查看列表项或文档的以前版本。

CreateAlerts

创建通知  -  创建电子邮件通知。

ViewFormPages

查看应用程序页面  -  查看表单、视图和应用程序页面。枚举列表。

ViewPages

查看网页  -  查看网站中的网页。

BrowseUserInfo

浏览用户信息  -  查看有关网站用户的信息。

UseRemoteAPIs

使用远程接口  -  使用 SOAP、Web DAV 或 SharePoint Designer 接口访问网站。

UseClientIntegration

使用客户端集成功能  -  使用启动客户端应用程序的功能。如果没有此权限,用户必须本地处理文档并上载更改。

Open

打开  -  允许用户打开网站、列表或文件夹,以便访问该容器中的项目。

 

 

 

 

 

 

ManageLists

管理列表  -  创建和删除列表,添加或删除列表中的栏,以及添加或删除列表的公共视图。

CancelCheckout

替代签出版本  -  放弃或签入已由其他用户签出的文档。

AddListItems

添加项目  -  向列表中添加项目,向文档库中添加文档,以及添加 Web 讨论评论。

EditListItems

编辑项目  -  编辑列表中的项目、文档库中的文档、文档中的 Web 讨论评论以及自定义文档库中的 Web 部件页。

DeleteListItems

删除项目  -  从列表中删除项目、从文档库中删除文档,以及删除文档中的 Web 讨论评论。

ApproveItems

批准项目  -  批准列表项或文档的次要版本。

DeleteVersions

删除版本  -  删除列表项或文档的以前版本。

ManagePermissions

管理权限  -  创建和更改网站上的权限级别,并为用户和用户组分配权限。

ViewUsageData

查看使用率数据  -  查看有关网站使用率的报告。

ManageSubwebs

创建子网站  -  创建子网站,例如工作组网站、会议工作区网站和文档工作区网站。

ManageWeb

管理网站  -  授予执行该网站的所有管理任务并管理内容的能力。

AddAndCustomizePages

添加和自定义网页  -  添加、更改或删除 HTML 网页或 Web 部件页,并使用与 Windows SharePoint Services 兼容的编辑器编辑网站。

ApplyThemeAndBorder

应用主题和边框  -  将主题或边框应用于整个网站。

ApplyStyleSheets

应用样式表  -  将样式表(.CSS 文件)应用于网站。

CreateGroups

创建用户组  -  创建一个用户组,该用户组可用于网站集中的任何位置。

BrowseDirectories

浏览目录  -  使用 SharePoint Designer 和 Web DAV 接口枚举网站中的文件和文件夹。

EnumeratePermissions

枚举权限  -  枚举网站、列表、文件夹、文档或列表项中的权限。

ManageAlerts

管理通知  -  管理网站中所有用户的通知。

EditMyUserInfo

编辑个人用户信息  -  允许用户更改个人用户信息,例如添加图片。

ManagePersonalViews

管理个人视图  -  创建、更改和删除列表的个人视图。

AddDelPrivateWebParts

添加/删除个人 Web 部件  -  在 Web 部件页中添加或删除个人 Web 部件。

UpdatePersonalWebParts

更新个人 Web 部件  -  更新 Web 部件以显示个性化信息

 
 
 
 
 
 

 

 

posted @ 2013-10-31 15:54  914556495  阅读(281)  评论(0编辑  收藏  举报