本文以Feature的形式对SharePoint的界面元素进行定制,实现了对网站中的Site Action下拉菜单添加自定义菜单项的功能,实现了对文档库的工具条上的菜单增加自定义菜单项的功能.
步骤1: 创建一个Feature.xml文件
在Features目录下创建一个目录例如mymenu,在其中创建一个Feature.xml文件,文件内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<!-- _lcid="1033" _version="12.0.4017" _dal="1" -->
<!-- _LocalBinding -->
<Feature Id="6098EC11-8128
Title="my custom menu"
Description="this is a custom menu"
Version="
Scope="Web"
Hidden="FALSE"
DefaultResourceFile="customDocumentLibrary"
xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="lightup.xml" />
</ElementManifests>
</Feature>
步骤2: 创建Feature的描述文件lightup.xml
文档的内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<!-- create command link site setting page -->
<CustomAction Id="SiteSettings" GroupId="Customization"
Location="Microsoft.SharePoint.SiteSettings"
Sequence="106"
Title="Custom Litware Site Setting Command">
<UrlAction Url="/_layouts/litwarefeaturelab.aspx?command=SiteSettingCommand"/>
</CustomAction>
<!-- Add command to site action dropdow -->
<CustomAction Id="SiteActionsToolbar111111111111"
GroupId="SiteActions"
Location="Microsoft.SharePoint.StandardMenu"
Sequence="1000"
Title="Litware custom Action"
Description="custom litware site action"
ImageUrl="/_layouts/images/ACL16.GIF">
<UrlAction Url="/_layouts/litwarefeaturelab.aspx?command=SiteActionCommand"/>
</CustomAction>
<!-- Document Library Toolbar New Menu DropDown -->
<CustomAction Id="DocLibNewToolbar"
RegistrationType="List"
RegistrationId="101"
GroupId="NewMenu"
Rights="ManagePermissions"
Location="Microsoft.SharePoint.StandardMenu"
Sequence="1000"
Title="Litware Custom New Command"
Description="THis Command Creates a new Litware doc"
ImageUrl="/_layouts/images/ACL16.GIF">
<UrlAction Url="/_layouts/litwarefeaturelab.aspx?command=NewDocCommand"/>
</CustomAction>
<!-- Document library Toolbar Actions Menu Dropdown -->
<CustomAction Id="DocLibActionsToolbar"
RegistrationType="List"
RegistrationId="101"
GroupId="ActionsMenu"
Rights="ManagePermissions"
Location="Microsoft.SharePoint.StandardMenu"
Sequence="1000"
Title="Litware Command on Document Library"
Description="THis Command Creates a new Litware doc"
ImageUrl="/_layouts/images/ACL16.GIF">
<UrlAction Url="/_layouts/litwarefeaturelab.aspx?command=DocLibCommand"/>
</CustomAction>
<CustomAction Id="ECBItemToolbar"
RegistrationType="List"
RegistrationId="101"
Type="ECBItem"
Location="BugWorkaround:LocationShouldEqualEditControlBlock"
Sequence="106"
Title="Litware ECB item Command">
<UrlAction Url="/_layouts/litwarefeaturelab.aspx?command=SiteSettingCommand"/>
</CustomAction>
</Elements>
其中第一个CustomAction在Site Setting页面中的LOOK AND FEEL标题下创建了一个自定义链接.第二个CustomAction在页面的Site Action菜单下增加了一个用户自定义菜单项.第三个CustomAction在文档库的New下拉菜单下创建了一个自定义菜单项.第四个CustomAction在文档库的Action下拉菜单下创建了一个自定义菜单项.
注意第五个CustomAction本来是在文档库的每个列表项的菜单上增加一个菜单项,但是不知什么原因不能正确加入,有待进一步的研究.
步骤3 安装Feature
在Cammand窗口下运行:
iisreset
Stsadm -o installfeature -filename mymenu\feature.xml