程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> WSS3SDK之在網站集中給用戶界面添加操作

WSS3SDK之在網站集中給用戶界面添加操作

編輯:關於.NET

Feature使得添加操作到Windows SharePoint Services用戶界面的菜單變得更容易。下面的例子展示了如何通過Feature在各種菜單中添加操作,並實際的部署和激活它。

Location和Group ID

在為特定的菜單定義自定義操作前,您必須通過設置其區域信息為適當的WSS命名空間,並使用WSS用於標識特定區域的ID來標識該菜單。。

舉個例子,如果要添加一個自定義操作到網站設置頁面,需要設置CustoMaction的 Location 屬性為Microsoft.SharePoint.SiteSettings。然後,通過GroupId 屬性指定該頁面的特定區域。

不同的操作可能需要使用不同的CustomAction屬性來標識放置自定義操作的菜單。但是您可能還需要為該操作指定其他參數,比如,指定一個版本號,執行該操作的用戶權限要求,或者與已有操作在菜單中的前後關系等。下面的自定義操作例子展示了各種的屬性。

URL Tokens

WSS支持下列可用於相對URL地址前的記號:

~site - 網站(SPWeb)相對鏈接。

~sitecollection - 網站集(SPSite)相對鏈接。

同時,您還可以在URL中使用下列記號:

{ItemId} - 整數 ID 代表了列表中的列表項。

{ItemUrl} - 受控列表項的URL 。僅用於庫中的文檔。 [在Beta 2中無效]

{ListId} - 代表該列表的GUID。

{SiteUrl} - 網站URL (SPWeb).

{RecurrenceId} - 重復項ID。該記號不可以用於列表項的上下文菜單。

步驟

在 C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES下創建一個 UserInterfaceLightUp 文件夾.

在新建的UserInterfaceLightUp文件夾中創建一個 Feature.xml 文件來提供該Feature的元素清單,如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<Feature Id="GUID"
Title="Light Up"
Description="This example shows how you can light up various areas inside Windows SharePoint Services."
Version="1.0.0.0"
Scope="Site"
xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="Lightup.xml" />
</ElementManifests>
</Feature>

通過運行guidgen.exe(位於Local_Drive:\Program Files\Microsoft Visual Studio 8\Common7\Tools目錄中)生成一個GUID來替換上面的 GUID 占位符。

創建一個LightUp.xml文件來定義Feature中的各種元素。為了在例子中展示效果,每個操作的URL將指向一個.aspx文件,並傳給它一個表示請求來源的值,如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<!-- Document Library Toolbar New Menu Dropdown -->
<CustoMaction Id="UserInterfaceLightUp.DocLibNewToolbar"
RegistrationType="List"
RegistrationId="101"
GroupId="NewMenu"
Rights="ManagePermissions"
Location="Microsoft.SharePoint.StandardMenu"
Sequence="1000"
Title="MY DOCLIB NEW MENU TOOLBAR BUTTON">
<UrlAction Url="/_layouts/LightupHello.aspx?NewMenu"/>
</CustomAction>
<!-- Document Library Toolbar Upload Menu Dropdown -->
<CustomAction Id="UserInterfaceLightUp.DocLibUploadToolbar"
RegistrationType="List"
RegistrationId="101"
GroupId="UploadMenu"
Rights="ManagePermissions"
Location="Microsoft.SharePoint.StandardMenu"
Sequence="1000"
Title="MY DOCLIB UPLOAD MENU TOOLBAR BUTTON">
<UrlAction Url="/_layouts/LightupHello.aspx?UploadMenu"/>
</CustomAction>
<!-- Document Library Toolbar Actions Menu Dropdown -->
<CustomAction Id="UserInterfaceLightUp.DocLibActionsToolbar"
RegistrationType="List"
RegistrationId="101"
GroupId="ActionsMenu"
Location="Microsoft.SharePoint.StandardMenu"
Sequence="1000"
Title="MY DOCLIB ACTIONS MENU TOOLBAR BUTTON">
<UrlAction Url="/_layouts/LightupHello.aspx?ActionsMenu"/>
</CustomAction>
<!-- Document Library Toolbar Settings Menu Dropdown -->
<CustomAction Id="UserInterfaceLightUp.DocLibSettingsToolbar"
RegistrationType="List"
RegistrationId="101"
GroupId="SettingsMenu"
Location="Microsoft.SharePoint.StandardMenu"
Sequence="1000"
Title="MY DOCLIB SETTINGS MENU TOOLBAR BUTTON">
<UrlAction Url="/_layouts/LightupHello.aspx?SettingsMenu"/>
</CustomAction>
<!-- Site Actions Dropdown -->
<CustomAction Id="UserInterfaceLightUp.SiteActionsToolbar"
GroupId="SiteActions"
Location="Microsoft.SharePoint.StandardMenu"
Sequence="1000"
Title="MY SITE ACTIONS BUTTON">
<UrlAction Url="/_layouts/LightupHello.aspx?SiteActions"/>
</CustomAction>
<!-- Per Item Dropdown (ECB)-->
<CustomAction
Id="UserInterfaceLightUp.ECBItemToolbar"
RegistrationType="List"
RegistrationId="101"
Type="ECBItem"
Location="EditControlBlock"
Sequence="106"
Title="MY ECB ITEM">
<UrlAction Url="/_layouts/LightupHello.aspx?ECBItem"/>
</CustomAction>
<!-- Display Form Toolbar -->
<CustomAction
Id="UserInterfaceLightUp.DisplayFormToolbar"
RegistrationType="List"
RegistrationId="101"
Location="DisplayFormToolbar"
Sequence="106"
Title="MY DISPLAY FORM TOOLBAR">
<UrlAction Url="/_layouts/LightupHello.aspx?DisplayFormToolbar"/>
</CustomAction>
<!-- Edit Form Toolbar -->
<CustomAction
Id="UserInterfaceLightUp.EditFormToolbar"
RegistrationType="List"
RegistrationId="101"
Location="EditFormToolbar"
Sequence="106"
Title="MY EDIT FORM TOOLBAR">
<UrlAction Url="/_layouts/LightupHello.aspx?EditFormToolbar"/>
</CustomAction>
<!-- Site Settings -->
<CustomAction
Id="UserInterfaceLightUp.SiteSettings"
GroupId="Customization"
Location="Microsoft.SharePoint.SiteSettings"
Sequence="106"
Title="MY SITE SETTINGS LINK">
<UrlAction Url="/_layouts/LightupHello.aspx?Customization"/>
</CustomAction>
<!-- Content Type Settings -->
<CustomAction
Id="UserInterfaceLightUp.ContentTypeSettings"
GroupId="General"
Location="Microsoft.SharePoint.ContentTypeSettings"
Sequence="106"
Title="MY CONTENT TYPE SETTINGS LINK">
<UrlAction Url="/_layouts/LightupHello.aspx?General"/>
</CustomAction>
</Elements>

其他一些常用的 GroupId 值包括 VIEwToolbar, ViewSelectorMenu, 和 PersonalActions (Welcome 菜單)

在\TEMPLATE\LAYOUTS目錄中添加一個 LightupHello.aspx 文件來定位上一步中創建的那些鏈接。

<%@ Page Language="C#" Inherits="System.Web.UI.Page"%>
<%
string clientQuery = Page.ClientQueryString;
if (clientQuery == "NewMenu")
{
Response.Write("您來自新建文檔菜單。");
}
else if (clientQuery == "UploadMenu")
{
Response.Write("您來自上載文檔菜單。");
}
else if (clientQuery == "ActionsMenu")
{
Response.Write("您來自操作菜單。");
}
else if (clientQuery == "SettingsMenu")
{
Response.Write("您來自設置菜單。");
}
else if (clientQuery == "SiteActions")
{
Response.Write("您來自網站操作菜單。");
}
else if (clientQuery == "ECBItem")
{
Response.Write("您來自文檔的上下文菜單。");
}
else if (clientQuery == "DisplayFormToolbar")
{
Response.Write("您來自顯示列表項屬性的窗體。");
}
else if (clientQuery == "EditFormToolbar")
{
Response.Write("您來自編輯列表項屬性的窗體。");
}
else if (clientQuery == "Customization")
{
Response.Write("您來自網站設置菜單。");
}
else if (clientQuery.StartsWith("General"))
{
Response.Write("您來自內容類型設置菜單。");
}
%>

進入命令行,輸入下列命令來安裝Feature,並在特定子站點上將其激活,然後重啟IIS( Microsoft Internet Information Services )使變更生效。

a. stsadm -o installfeature -filename UserInterfaceLightUp\feature.xml
b. stsadm -o activatefeature -filename UserInterfaceLightUp\feature.xml -url http://Server/Site/Subsite
c. iisreset

想要查看您添加的各種自定義操作,從主頁導航到對應網站的下列位置:

點擊網站操作,查看新增的自定義操作

點擊網站操作中的網站設置,進入網站設置頁面,查看新增的自定義操作。

導航到一個文檔庫,分別打開工具欄上的每個菜單,查看新增的自定義操作。

在一個包含內容的文檔庫中,點擊列表項的下箭頭,查看新增的自定義操作。

點擊查看屬性和編輯屬性進入顯示窗體和編輯窗體,查看工具欄中新增的自定義操作。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved