在WSS 3.0中为站点设置菜单添加一个Feature

  WSS 3.0 中为站点设置菜单添加一个Feature

应用:Microsoft Windows SharePoint Services 3.0Microsoft Office SharePoint Server 2007Microsoft Visual Studio 2005

Ted PattisonTed Pattison Group

2007 5

概要:在Microsoft Windows SharePoint Services中,你可以通过创建一个带有CustomAction节点的Feature来向默认的站点设置菜单中添加一个自定义菜单条目。通过这种方式,你可以向默认的SharePoint用户界面上添加一个自定义命令。这些命令可以使用户在SharePoint站点中具有类似在不同页面跳转的功能。当你创建一个站点设置的菜单条目,你可以配置它使它能够将用户转向任意URL。例如,你可以将用户转到另一个站点。你也可以将用户转到一个自定义的应用程序页面,这个页面不仅能让他们看到自定义的显示的数据,也能在当前站点下执行自定义的内容操作。

Code It

首先,创建一个自定义Feature。你必须定义这个Feature,或者是在一个站点集的范围,或者是在站点范围。如果这个Feature是定义在一个站点集的范围,(也就是说,Scope=”Site”),构建的菜单条目将会出现在当前站点集下的每一个站点的站点设置菜单中。如果Feature是定义在站点范围(也就是说,Scope=”Web”),构建的菜单条目将会在它被激活的那个特定站点下的站点设置菜单。下面的Feature是定义在站点集合范围内,并包含一个名字为elements.xmlCAML文件的引用。

Xml

<Feature

Id="AA929AFF-4602-4d7f-A501-B80AC9A4BB52"

Title="A Sample Feature: Item Auditing"

Description="A sample feature with an ECB menu item"

Scope="Site"

xmlns="http://schemas.microsoft.com/sharepoint/">

<ElementManifests>

<ElementManifest Location="elements.xml" />

</ElementManifests>

</Feature>

为站点设置菜单条目定义一个自定义设置

使用CustomAction节点来在默认的SharePoint用户界面上定义不同类型的菜单条目和链接。下面的CustonAction节点包含在名字为elements.xmlCAML文件中,它来向站点设置菜单中添加一个自定义的菜单条目来将用户转达一个自定义的应用程序页面。

 Xml

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

<CustomAction

Id="ApplicationPage1"

GroupId="SiteActions"

Location="Microsoft.SharePoint.StandardMenu"

Sequence="2000"

Title="Hello World Application Page"

Description="Getting up and going with inline code" >

<UrlAction Url="~site/_layouts/Litware/ApplicationPage1.aspx"/>

</CustomAction>

</Elements>

结论:当你创建一个CustomAction节点时,你必须添加一个包含Url属性的内置UrlAction节点。当你将用户转到一个应用程序页面,例如ApplicationPage1.aspx,你必须考虑希望应用程序页面运行在当前站点下还是当前站点集下。在下面的示例中,动态的标志~site被添加到URL的开始位置。当Windows SharePoint Services 解析这个CustomAction节点并创建菜单条目时,它将把~site替换为实际的当前站点URL

~site/_layouts/Litware/ApplicationPage1.asp

当你在站点设置菜单中为自定义的菜单条目创建节点时,你可以配置它使其仅仅对拥有管理员权限的用户可见。注意下面的例子中,添加了一个名为RequireSiteAdministrator的新字段。

Xml

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

<CustomAction

Id="ApplicationPage1"

GroupId="SiteActions"

Location="Microsoft.SharePoint.StandardMenu"

Sequence="2000"

Title="Hello World Application Page"

Description="Getting up and going with inline code"

RequireSiteAdministrator="True" >

<UrlAction Url="~site/_layouts/Litware/ApplicationPage1.aspx"/>

</CustomAction>

</Elements>

当你添加了RequireSiteAdministrator字段,Windows SharePoint Services不会将菜单条目向不具有管理员权限的用户显示。那些在标记为站点集层的Feature中的一个CustomAction节点,菜单条目仅仅对站点集所有者或者管理员可见。那些在标记为站点层的Feature中的一个CustomAction节点,菜单条目仅仅对当前站点下具有管理员权限的用户可见。

你可能感兴趣的:(翻译)