SharePoint 2010 母版页定制小思路介绍
转:http://tech.ddvip.com/2013-11/1384521515206064.html
介绍:我们使用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和左侧导航的,然后消失掉,这样可以在母版页里隐藏掉,然后通过脚步显示出来也是可以的。

方法二 通过权限进行控制
<Sharepoint:SPSecurityTrimmedControl   ID="SPSecurityTrimmedControl2" runat="server"   PermissionsString="AddAndCustomizePages">
       <script type="text/javascript">
        JS脚步          
       </script>
 </Sharepoint:SPSecurityTrimmedControl>
给大家权限控制的脚步,有兴趣的可以试试,其实效果和上面的是一样的,只是js执行由传参控制,变成了权限控制。当然,PermissionsString不仅仅是这一个权限的,还有很多权限,顺便给列一个吧。
微软官方PermissionsString所有值:

*************************************************************************************
SharePoint 2010 母版页定制小思路介绍的更多相关文章
- SharePoint 2010 母版页制作的简单介绍
		
转:http://www.cnblogs.com/jianyus/archive/2012/01/11/2319621.html 1. 首先打开SharePoint Designer 2010,找到 ...
 - 使用SharePoint 2010 母版页
		
SharePoint 2010母版页所用的还是ASP.NET 2.0中的技术.通过该功能,实现了页面框架布局与实际内容的分离.虽然在本质上自定义母版页的过程和以前版本的SharePoint大致相同,但 ...
 - 在SharePoint 2010 母版页里添加自定义用户控件
		
在SharePoint 2010 母版页里添加自定义用户控件(译) 使用自定义用户控件的好处: 1.容易部署:2.易于控制显示或隐藏. (在使用的过程中)可能要面对的问题是:如何在用户控件里使用Sha ...
 - SharePoint 2010 网站备份还原简单介绍
		
今天尝试了SharePoint2010网站的备份和还原,从网上搜一些文档看看,然后自己试试,感觉和2007的操作没什么太大的区别,跟大家分享下自己尝试的命令行方式和数据库的方式,2007自己常用的也是 ...
 - [SharePoint 2010] 如何在小組網站內頁面上撥放影片或是音效檔
		
在SharePoint 2010中, 我們可以像是Youtube一樣在網頁上撥放影片或是音效檔案. 影片或音效是採取串流的方式來撥放. 也就是說我們不需要把整個檔案都下載回來才開始撥放. 點選沒多久我 ...
 - SharePoint 2010 master page 控件介绍(1)
		
转:http://blog.csdn.net/lgm97/article/details/6409204 以下所有的内容都是根据Randy Drisgill (MVP SharePoint Serve ...
 - SharePoint 2010 master page 控件介绍(3) :页面主体内容
		
转:http://blog.csdn.net/lgm97/article/details/6409217 <!-- ===== 页面滚动区域开始 ====================== ...
 - SharePoint 2010 master page 控件介绍(5):其他
		
转:http://blog.csdn.net/lgm97/article/details/6409227 <!-- 处理搜索按下"enter"键和点击后退按钮 --> ...
 - SharePoint 2010 master page 控件介绍(4):隐藏placeholder
		
转:http://blog.csdn.net/lgm97/article/details/6409225 <!-- form digest 安全控件用来进行form的安全校验--> &l ...
 
随机推荐
- CSS当中color的四种表示方法
			
这是我的第一篇博客,所以写的东西会比较简单. css当中,好多地方都会用到color属性,用来使html内容丰富多彩,例如:background-color:border-color: 第一种表示法使 ...
 - PAT_1016 部分A+B
			
问题描述: 正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA.例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6. 现给定A.DA.B ...
 - LINUX开机启动过程
			
LINUX开机启动过程 启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息 ...
 - ArrayList 转换为DataTable
			
, }; ArrayList list = new ArrayList(arr); var dt = new DataTable(); DataColumn dc = new DataColumn(& ...
 - ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法
			
sass文件编译时候使用ruby环境,无论是界面化的koala工具还是命令行模式的都无法通过,真是令人烦恼. 容易出现中文注释时候无法编译通过,或者出现乱码,找了几天的解决方法终于解决了. 这个问题的 ...
 - 不同版本PHP之间cURL的区别(-经验之谈)
			
之前在做一个采集的工具,实现采集回来的文章,图片保存起来.文章内容是保存在数据库,图片是先需要上传到图片服务器,再返回图片地址,替换掉文章的图片地址. 问题来了:都能成功采集都东西,但是,本地测试是正 ...
 - MVC中Area的使用
			
1.Area是什么? MVC 2 中引进了区域的概念,它允许将模型,视图和控制器分成单独的功能节点,换句话说,可以在大型复杂的网站中建立几个区域(模块),每一个区域都有Model,View,Contr ...
 - 用vld分析C++内存泄漏
			
最近发现项目里有内存泄漏,到网上搜了一些资料,决定用vld来分析解决这个问题. 直接在vs里的"工具和扩展"中搜索vld,然后下载安装就可以了. 我下载下来的是个exe文件,安装在 ...
 - magento install
			
1: apt-get insatll apache2 mysql php5 2: 把下载的magneto 解压后放到 /var/www/magento 3: 进入 http://127. ...
 - Git中的fetch和pull
			
http://blog.haohtml.com/archives/12674 Git中从远程的分支获取最新的版本到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本到本地,不会 ...