站点内容 Web 部件 (WSS 3.0)





0/5 (0投票)
以可展开和可折叠的分层树状结构显示站点和子站点内容

引言
此站点内容 Web 部件用于 Microsoft Windows SharePoint Services 3.0 和 Office SharePoint Server 2007,以可展开和折叠的层次结构树显示站点和子站点内容。
描述
Web 部件使用 SPHierarchyDataSourceControl
来呈现站点和子站点内容。 SPHierarchyDataSourceControl
是一个数据绑定控件,它实现 IHierarchicalDataSource
接口并派生自 HierarchicalDataSourceControl
。与导航提供程序 SPNavigationProvider
不同,它除了当前站点之外,还呈现所有子站点中的内容。它与 SharePoint 用于在快速启动中呈现树视图的控件相同。与树视图不同,此 Web 部件呈现 HTML 列表标记而不是表格标记。
Web 部件具有多个 public
属性
TopSiteUrl
- (顶级站点 URL)起始子站点的服务器相对 URL。
例如:/ 表示根站点,/PressReleases/2010 表示子站点。 默认为当前站点。ExpandMap
- (展开地图?) 在页面加载时展开所有节点。默认为true
ShowWebChildren
- (显示子站点?) 显示子站点。默认为true
ShowFolderChildren
- (显示文件夹?) 显示库和列表中的文件夹。默认为true
IncludeDiscussionFolders
- (显示讨论主题?) 显示讨论列表中的文件夹。 如果为true
,则必须同时将ShowFolderChildren
设置为true
才能生效。默认为false
。MaxLevels
- (最大级别) 节点的最大级别数。默认为 0,表示无限制ListCssClass
- 最外层<ul>
标签的 CSS 类名称NodeCssClass
- 常规超链接节点的 CSS 类名称
Web 部件使用两种方法来包含资源。JavaScript 文件被视为嵌入资源,图像被视为类资源。 要在代码中引用嵌入资源,请使用 Page.ClientScript.GetWebResourceUrl
并以 [默认命名空间].[包含资源的文件夹].[资源文件名]
的形式传入文件。 在 AssemblyInfo.cs 中,包含如下文件:
[assembly: System.Web.UI.WebResource
("QuestechSystems.SharePoint.ClientScripts.SiteContentWebPart.js", "text/javascript")]
类资源文件通过调用 SPWebPartManager.GetClassResourcePath
在代码中引用。 要将图像打包为解决方案中的类资源,请将其包含在 Manifest.xml 中,如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<Solution xmlns="http://schemas.microsoft.com/sharepoint/"
SolutionId="SolutionGuid" ResetWebServer="false">
<Assemblies>
<Assembly Location="QuestechSystems.SharePoint.SiteMapWebPart.dll"
DeploymentTarget="GlobalAssemblyCache">
<ClassResources>
<ClassResource Location="images\node-closed.gif" />
<ClassResource Location="images\node-open.gif" />
<ClassResource Location="images\node.gif" />
</ClassResources>
<SafeControls>
<SafeControl
Assembly="QuestechSystems.SharePoint.SiteContentWebPart,
Version=1.0.0.0,
Culture=neutral, PublicKeyToken=AssemblyToken"
Namespace=
"QuestechSystems.SharePoint.WebControls.WebParts"
TypeName="*" Safe="True" />
</SafeControls>
</Assembly>
</Assemblies>
<FeatureManifests>
<FeatureManifest Location="SiteContentWebPart\Feature.xml" />
</FeatureManifests>
</Solution>
由于项目程序集已部署到 GAC,因此类资源文件的部署路径将类似于:
/_wpresources/QuestechSystems.SharePoint.SiteContentWebPart/1.0.0.0__9804e574157bbcb6/.
Web 部件还使用资源文件来存储所有消息和属性特性 UI 字符串。 它演示了如何开发一个自定义类,该类继承 WebDescriptionAttribute
、WebDisplayNameAttribute
或 CategoryAttribute
并从您自己的资源管理器返回本地化的 string
。
提供的 Visual Studio 2008 解决方案包含构建和部署此 Web 部件所需的所有支持文件,但缺少强名称密钥文件 (key.snk)。 它包含三个项目:Deployment、Features 和 SharePoint。SharePoint 项目包含 Web 部件的源代码。Features 项目包含支持 SharePoint 项目的所有功能。Deployment 项目包含一个预构建脚本,用于聚合部署所需的所有文件。 它包含一个 Solution 目录,其中 WSP 文件由后构建脚本生成和部署。
这种 Visual Studio 项目的结构可以扩展到完整的 MOSS/WSS 开发和部署。 您可以添加其他项目,例如 SharePoint.ApplicationPages 用于自定义管理布局页面。 在您的项目中,您可以拥有其他自定义组件,例如用户和 Web 控件、自定义字段、功能接收器等。
安装
使用 stsadm
,在 \Deployments\Solution\: 中安装解决方案文件 QuestechSiteContentWebPart.wsp:
stsadm -o addsolution -filename QuestechSiteContentWebPart.wsp
转到 SharePoint 管理中心/操作/全局配置-解决方案管理。 将已安装的解决方案部署到选定的 Web 应用程序。 在部署解决方案的网站集中,激活功能 Questech Systems Site Content Web Part。 之后,您应该可以使用站点内容 Web 部件将其添加到页面。
可以将 CSS 添加到母版页或页面布局,以增强 Web 部件的样式。 例如,如果将 ListCssClass
设置为 scList,则以下定义将对 Web 部件进行样式设置,使其看起来像上面的屏幕截图。
.scList, .scList ul
{
list-style: none;
padding: 0;
}
.scList, .scList li
{
margin: 0.66em 0;
}
.scList ul
{
margin: 0.66em 2em;
}