WSS3SDK之:如何通过Feature预置一个文件

想要在SharePoint网站中预先放置一个文件,您必须用到Feature或站点定义中的Module元素。 Module 元素允许您添加一个或多个文件,或文件集,到SharePoint网站或文档库中。

注意

WSS 3.0最大支持通过Feature预置1000个文件,无论是1000个模块分别包含1个文件,还是一个模块包含了1000个文件。

Module 元素包含了 File 元素,用来定义每个预置的文件,也可以是一些需要添加的WebPart的定义。如果您将文件通过Module预置到子文件夹,WSS会自动确保目录结构已创建,来匹配您的文件。

通过 Module 元素您既可以预置文件到文档库,也可以添加一般的文件(如default.aspx)到文档库以外的位置。当添加到文档库时,您必须指定 File 元素的属性Type="GhostableInLibrary" 。这个设置告诉WSS当把文件添加到库中之后创建一个对应得列表项。如果您是要在文档库以外放置文件,则指定 Type="Ghostable"

下面的例子将预置一些新的母版页到母版页库。

Feature.xml

复制代码
<Feature Id="947F6C32-E898-45f5-A595-C46F07DA6BF7"
Title
="New Master Pages"
Scope
="Web"
xmlns
="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="newmasterpages.xml" />
</ElementManifests>
</Feature>
复制代码

 

newmasterpages.xml

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Module Name="MPages" List="116" Url="_catalogs/masterpage">
<File Url="Minimal.master" Type="GhostableInLibrary" />
<File Url="ContosoRed.master" Type="GhostableInLibrary" />
</Module>
</Elements>

 

下面的例子来自一个WSS 2.0的网站定义,展示了如何通过Onet.xml文件预置一个文件。您要区分出放在本地硬盘上的文件和预置的文件。请注意 default.aspx 存放在 dws\default.aspx 是相当于站点定义的根,但是它被预置到网站的根 /default.aspx

该例子同时也展示了如何使用View元素来包含列表视图WebPart,或任意WebPart(AllUsersWebPart元素,用于添加非列表视图WebPart)到页面中。该例还包含了NavBarPage元素,用于声明该页为SharePoint网站的主页。

复制代码
<Module Name="DWS" Url="" Path="dws">
<File Url="default.aspx">
<View List="104" BaseViewID="3" WebPartZoneID="Top"/>
<View List="103" BaseViewID="3" WebPartZoneID="Right" WebPartOrder="2"/>
<View List="101" BaseViewID="6" WebPartZoneID="Left">
<![CDATA[
<WebPart xmlns="http://schemas.microsoft.com/WebPart/v2">
<Title>Members</Title>
</WebPart>
]]>
</View>
<View List="107" BaseViewID="7" WebPartZoneID="Left" WebPartOrder="2"/>
<AllUsersWebPart WebPartZoneID="Right" WebPartOrder="1">
<![CDATA[
<WebPart xmlns="http://schemas.microsoft.com/WebPart/v2">
<Assembly>Microsoft.SharePoint, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>
<TypeName>Microsoft.SharePoint.WebPartPages.MembersWebPart</TypeName>
<Title>Members</Title>
<Description>Use the Members Web Part to see a list of the site members and their online status.</Description>
<FrameType>Standard</FrameType>
<IsVisible>true</IsVisible>
</WebPart>
]]>
</AllUsersWebPart>
<NavBarPage Name="Home" ID="1002" Position="Start"> </NavBarPage>
<NavBarPage Name="Home" ID="0" Position="Start"> </NavBarPage>
</File>
</Module>
复制代码

 

预置一个文件夹

通过Module元素的 Url 属性可以预置把文件夹作为模块的一部分来预置。下面的例子将在一个网站中预置一个名为MyImages的文件夹,其中包含了一个特定的图片文件。

<Module Name="MyImage" Url="MyImages" Path="">
<File Url="MyImage.jpg" Type="GhostableInLibrary" />
</Module>
posted @   Sunmoonfire  阅读(527)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示