SharePoint2013 功能区的配置
遇到了很多次对网站功能区个性化定义的任务,包括标签按钮之类的修改,每次都要重新翻书,这次总结一下,留作备用。
添加内容
下面的XML我认为主要的内容是四部分,一个是CommandUIDefinition下的tab,一个是scaling,一个是button,一个是CommandUIHandler。
如果是完整的重新添加按钮,主要是分为以下几个主要内容:
- 定义location
- 添加tab
- 添加group,指定grouptemplate
- 添加button,指定commond
- 添加grouptemplate,id和在group中的引用保持一致
- 添加commond,和button中指定的保持一致。
注意在:
Section Alignment="Top" Type="OneRow"
Type="OneRow" 即一个按钮
Type="TwoRow" 即布局两个按钮
并且尽量使所有的id都不重复。
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction
Id="listApproval"
Location="CommandUI.Ribbon.DisplayForm"
RegistrationId="100"
RegistrationType="List"
Rights="EditListItems">
<CommandUIExtension>
<CommandUIDefinitions>
<CommandUIDefinition
Location="Ribbon.Tabs._children" >
<Tab
Id="Ribbon.ApprovalRibbon"
Title="审批流程"
Description="审批流程"
Sequence="1001">
<Scaling //缩放比例
Id="Ribbon.ApprovalRibbon.Scaling">
<MaxSize
Id="Ribbon.ApprovalRibbon.MaxSize"
GroupId="Ribbon.ApprovalRibbon.ApprovalGroup"
Size="OneLargeTwoMedium"/>
<Scale
Id="Ribbon.ApprovalRibbon.Scaling.CustomTabScaling"
GroupId="Ribbon.ApprovalRibbon.ApprovalGroup"
Size="OneLargeTwoMedium" />
</Scaling>
<Groups Id="Ribbon.ApprovalRibbon.Groups">
<Group
Id="Ribbon.ApprovalRibbon.ApprovalGroup"
Description="审批流程"
Title="审批流程"
Sequence="52"
Template="Ribbon.Templates.CustomTemplateExample">
<Controls Id="Ribbon.ApprovalRibbon.ApprovalGroup.Controls">
<Button
Id="Ribbon.ApprovalRibbon.ApprovalGroup.HelloWorld"
Command="ApprovalRibbon.SubmitCommand"
Sequence="15"
Description="提交"
LabelText="提交"
TemplateAlias="cust1"
Image32by32="/_layouts/images/ALLMTGS.gif"/>
<Button
Id="Ribbon.ApprovalRibbon.ApprovalGroup.Approval"
Command="ApprovalRibbon.ApprovalCommand"
Sequence="15"
Description="审批"
LabelText="审批"
TemplateAlias="cust2"
Image32by32="/_layouts/images/ALLMTGS.gif"/>
</Controls>
</Group>
</Groups>
</Tab>
</CommandUIDefinition>
<CommandUIDefinition Location="Ribbon.Templates._children">
<GroupTemplate Id="Ribbon.Templates.CustomTemplateExample">
<Layout
Title="OneLargeTwoMedium"
LayoutTitle="OneLargeTwoMedium">
<Section Alignment="Top" Type="OneRow">
<Row>
<ControlRef DisplayMode="Large" TemplateAlias="cust1" />
</Row>
</Section>
<Section Alignment="Top" Type="OneRow">
<Row>
<ControlRef DisplayMode="Large" TemplateAlias="cust2" />
</Row>
</Section>
</Layout>
</GroupTemplate>
</CommandUIDefinition>
</CommandUIDefinitions>
<CommandUIHandlers>
<CommandUIHandler
Command="ApprovalRibbon.SubmitCommand"
CommandAction="javascript:MakeModelDialog('提交审批', 560, 200, '/_layouts/15/DVT.SharePoint.Portal.RLGS.Resources/ConfirmSubmitDetail.aspx?selectdata=' + GetDetailID());"/>
<CommandUIHandler
Command="ApprovalRibbon.ApprovalCommand"
CommandAction="javascript:approval();"/>
</CommandUIHandlers>
</CommandUIExtension>
</CustomAction>
</Elements>
修改现有按钮
修改现有按钮,只需要重写Location的定义就可以了,下面的代码修改了列表的工作流按钮
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction
Id="ReplaceWorkFlow"
Location="CommandUI.Ribbon.ListView"
RegistrationId="100"
RegistrationType="List"
Rights="EditListItems">
<CommandUIExtension>
<CommandUIDefinitions>
<CommandUIDefinition
Location="Ribbon.ListItem.Workflow.ViewWorkflows" >
<Button
Id="Ribbon.ListItem.Workflow.ViewWorkflows"
Sequence="10"
Command="ReplaceWorkFlowCommand"
Image16by16="/_layouts/$Resources:core,Language;/images/formatmap16x16.png" Image16by16Top="-48" Image16by16Left="-208"
Image32by32="/_layouts/$Resources:core,Language;/images/formatmap32x32.png" Image32by32Top="-192" Image32by32Left="-416"
LabelText="$Resources:core,cui_ButWorkflows;"
ToolTipTitle="$Resources:core,cui_ButWorkflows;"
ToolTipDescription="$Resources:core,cui_STT_ButItemManageWorkflow;"
TemplateAlias="o1"
/>
</CommandUIDefinition>
</CommandUIDefinitions>
<CommandUIHandlers>
<CommandUIHandler
Command="ReplaceWorkFlowCommand"
CommandAction="javascript:alert('请点击左上角的审批“流程-提交” 进行发布数据');"/>
</CommandUIHandlers>
</CommandUIExtension>
</CustomAction>
</Elements>
修改现有按钮时比较重要的一点就是,找到location,以下是参考的内容:
- msdn 默认服务器功能区自定义位置,这些 ID 可在 CMDUI.xml 文件中找到,该文件存储在前端 Web 服务器上的 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\GLOBAL\XML 目录中。
- 找到正确的location定义
SharePoint2013 功能区的配置的更多相关文章
- VS2012上添加SharePoint2013模板,SharePoint2013 Tool安装配置
今天需要在SharePoint2013上做开发,但是安装的VS2012默认只有sharepoint2010的模板,因此需要安装配置好,这里我们通过Web平台安装程序4.0来配置的 Web 平台安装程序 ...
- 深入浅出SharePoint2013——Search Schema配置
如果增加了新的Metadata,请上传文件到文档库后,并确保每个字段都填充了数据.然后执行全文爬网. 这样才会产生对应新的管理属性.
- ASP.NET 网站管理工具
ylbtech-Miscellaneos:ASP.NET 网站管理工具 1. 网站管理工具概述返回顶部 网站管理工具概述 介绍 使用网站管理工具,可以通过一个简单的 Web 界面来查看和管理网站配置. ...
- Sitecore CMS中更改项目的模板
如何在Sitecore CMS中创建项目后更改项目的模板. 在创建项目时选择了错误的模板,或者创建了新模板并将现有项目更新为新模板时,这非常有用. 警告! 更改模板时要小心.如果原始模板具有不在新 ...
- 【SpringBoot1.x】SpringBoot1.x 分布式
SpringBoot1.x 分布式 分布式应用 Zookeeper&Dubbo ZooKeeper 是用于分布式应用程序的高性能协调服务.它在一个简单的界面中公开了常见的服务,例如命名,配置管 ...
- 【springcloud】Zuul 超时、重试、并发参数设置
转自:https://blog.csdn.net/xx326664162/article/details/83625104 一. Zuul 服务网关 服务网关 = 路由转发 + 过滤器 1.路由转发: ...
- ADFS3.0与SharePoint2013安装配置(原创)
现在越来越多的企业使用ADFS作为单点登录,我希望今天的内容能帮助大家了解如何配置ADFS和SharePoint 2013.安装配置SharePoint2013这块就不做具体描述了,今天主要讲一下怎么 ...
- SharePoint2013工作流workflow manager配置
SharePoint2013版本的工作流较sharepoint 2010变化较大,将工作流部分从sharepoint中分离出来为单独的服务,通过与sharepoint关联使用. SharePoint2 ...
- Sharepoint2013商务智能学习笔记之Performancepoint service 配置(九)
1)配置Performance Service服务 第一步,新建performance service.先在管理中心,系统设置区域点击管理服务器上的服务,确认Performance Service服务 ...
随机推荐
- UNIX环境高级编程——Linux系统调用列表
以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数.这可能是你在互联网上所能看到的唯一一篇中文注释的Linux系统调用列表,即使是简单的字母序英文列表,能做到这么完 ...
- Cocos2D:塔防游戏制作之旅(二)
一个象牙塔的视图 如果你并不熟悉此类型的游戏,塔防游戏是一个战略游戏,你需要购买和将武装塔放置在战略位置,去阻止一波又一波的敌人到达并摧毁你的基地 每一波敌人都更强,这些更强的对手有着更快的速度和对于 ...
- Android进阶(十)Android 发邮件
最近在做的APP涉及到发邮件,总结如下: 在android里进行邮件客户端开发可以有两种方式: 在邮件客户端的设计中,可以采用两种方法. 一种是调用android系统自带的邮件服务 优点:这种方法比较 ...
- Mybatis插件原理分析(三)分页插件
在Mybatis中插件最经常使用的是作为分页插件,接下来我们通过实现Interceptor来完成一个分页插件. 虽然Mybatis也提供了分页操作,通过在sqlSession的接口函数中设置RowBo ...
- 基于IMX515EVK+WINCE6.0---支持PB6.0通过USB下载镜像文件
基于IMX515EVK+WINCE6.0---支持PB6.0通过USB下载镜像文件 在INAND还没有写入镜像文件之前,通过ATK工具烧录xldr.nb0和eboot.nbo到INAND中,见相关链接 ...
- oracle中去重复记录 不用distinct
用distinct关键字只能过滤查询字段中所有记录相同的(记录集相同),而如果要指定一个字段却没有效果,另外distinct关键字会排序,效率很低 . select distinct name fro ...
- Android代码(Handler的运用),HttpURLConnection的应用,将url图片地址转换成图片。
1 布局文件, <LinearLayout 秒, 抛异常 conn.connect(); // 开始链接 int responseCode = conn.getResponseC ...
- rt-thread的位图调度算法分析
转自:http://blog.csdn.net/prife/article/details/7077120 序言 期待读者 本文期待读者有C语言编程基础,后文中要分析代码,对其中的一些C语言中的简单语 ...
- html5学习之旅-html5的简易数据库开发(18)
实际上是模拟实现html5的数据库功能,用键值对的方式. !!!!!!废话不多说 ,代码 index.html的代码 <!DOCTYPE html> <html lang=" ...
- cocos2d-x 游戏开发之有限状态机(FSM) (四)
cocos2d-x 游戏开发之有限状态机(FSM) (四) 虽然我们了解了FSM,并且可以写自己的FSM,但是有更好的工具帮我们完成这个繁琐的工作.SMC(http://smc.sourceforge ...