在 SharePoint WSS 3.0 中,若要提供專屬的清單範本讓使用者在「新增」頁面直接選用,最標準的做法是開發一個 Feature(功能)。本文將完整示範如何從零建立一個自訂清單定義 Feature,並說明所需的三個核心檔案:Feature.xml、Elements.xml 以及 Schema.xml。
<ListTemplate> 元素將清單範本加入「新增」頁面,指定顯示名稱、描述、基底類型 (BaseType) 以及唯一的 Type ID (需大於 10000 且不重複)。在下列路徑下建立資料夾(範例命名為 SimpleListFeature):
Local_Drive:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATES\FEATURES\SimpleListFeature
在資料夾中建立 Feature.xml,內容如下:
<Feature Title="Simple List Feature" Id="{GUID}" Scope="Web" xmlns="https://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="Elements.xml" />
</ElementManifests>
</Feature>
注意:請使用 guidgen.exe (位於 Program Files\Microsoft Visual Studio 8\Common7\Tools) 產生新的 GUID 取代 {GUID} 佔位符。
建立 Elements.xml 以註冊清單範本:
<Elements>
<ListTemplate Name="SimpleList" DisplayName="Simple List" Type="10001"
Description="This is my simple list." BaseType="0" OnQuickLaunch="FALSE" SecurityBits="11" />
</Elements>
在 Feature 目錄下建立同名子資料夾 SimpleList,並在其中新增 Schema.xml。以下示範定義一個「最愛顏色」的選擇型欄位,並加入預設視圖:
<List Name="SimpleList" Title="Simple List" BaseType="0" Direction="" Url="">
<MetaData>
<Fields>
<Field Type="Choice" Name="FavoriteColor" DisplayName="Favorite Color">
<CHOICES>
<CHOICE>Red</CHOICE>
<CHOICE>Green</CHOICE>
<CHOICE>Blue</CHOICE>
</CHOICES>
</Field>
</Fields>
<Views>
<View BaseViewID="1" Type="HTML" WebPartZoneID="Main"
DisplayName="$Resources:core,objectiv_schema_mwsidcamlidC24;"
DefaultView="TRUE" SetupPath="pages\viewpage.aspx"
ImageUrl="/_layouts/images/generic.png" Url="AllItems.aspx">
<ViewFields>
<FieldRef Name="DocIcon"/>
<FieldRef Name="Attachments"/>
<FieldRef Name="LinkTitle"/>
<FieldRef Name="FavoriteColor"/>
</ViewFields>
</View>
</Views>
</MetaData>
</List>
提示:可複製現有清單定義 (如 12\TEMPLATE\FEATURES\CustomList\Schema.xml) 為基礎修改,加速開發。
開啟命令提示字元,執行下列 stsadm 指令:
stsadm -o installfeature -filename SimpleListFeature\Feature.xml
stsadm -o activatefeature -name SimpleListFeature -url https://Server/Site/Subsite
瀏覽至該子網站的「新增」頁面,即可看到「Simple List」範本,套用後即可建立擁有自訂欄位的清單。