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服务 ...
随机推荐
- Tomcat的管道
Tomcat中按照包含关系一共有四个容器--StandardEngine.StandardHost.StandardContext和StandardWrapper,对这四个容器的详细解析后面会涉及,请 ...
- JAVA代理机制
JAVA代理相关主要知识如下: (1)利用代理可以在运行时创建一个实现了一组给定接口的新类. 这种功能只有在编译时无法确定需要实现哪个接口时才有必要使用. (2)假设有一个表示接口的C ...
- 【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门示例
一. 工作区域详解 1. Scence视图 (场景设计面板) scence视图简介 : 展示创建的游戏对象, 可以对所有的游戏对象进行 移动, 操作 和 放置; -- 示例 : 创建一个球体, 控制摄 ...
- 如何在Git中撤销一切 | 干货
翻译:李伟 审校:张帆 译自:Github JF杰微刊:如何在Git中撤销一切 任何一个版本控制系统中,最有用的特性之一莫过于 "撤销(undo)"操作.在Git中,"撤 ...
- maven settings 配置文件
maven settings 配置文件 <?xml version="1.0" encoding="UTF-8"?> <settings xm ...
- Linux Shell 脚本攻略学习--四
linux中(chattr)创建不可修改文件的方法 在常见的linux扩展文件系统中(如ext2.ext3.ext4等),可以将文件设置为不可修改(immutable).某些文件属性可帮助我们将文件设 ...
- 使用OC和Swift两种语言写一个发射烟花的小项目
OC与Swift两种实现方式基本上区别不大,主要是在一些对象或方法的调用方式不同,附带源码. OC代码样式: self.view.backgroundColor = [UIColor blackCol ...
- LCS问题(最长公共子序列)-动态规划实现
问题描述: 问题] 求两字符序列的最长公共字符子序列 注意: 并不要求子串(字符串一)的字符必须连续出现在字符串二中. 思路分析: 最优子结构和重叠子问题的性质都具有,所以要采取动态规划的算法 最长公 ...
- 100个iOS开发面试题汇总
100个iOS开发面试题汇总 关于iOS开发面试,不管对于招聘和应聘来说,面试都是很重要的一个环节,特别对于开发者来说,面试中的技术问题环节不仅是企业对应聘者技能和积累的考察,也是一个开发者自我检验的 ...
- (十九)TableView的点击监听和数据刷新(Alert的多种样式) -tag传值的技巧
要实现监听,要使用代理,控制器要成为TableView的代理. 注意下面的方式是代理方法: - (void)tableView:(UITableView *)tableView didSelectRo ...