题
是否可以使用 SharePoint 对象模型枚举应用程序中的所有网站以确定基本网站定义是什么?(还要知道该站点是否是从模板提供的?)THX
解决方案
您可以迭代网站集合并检查每个SPWEB以发现WebTemplate,WebTemplateID和配置。
这些值与用于创建站点的模板和配置匹配(API中的Web)。然后,您可以将其与在SharePoint root中找到的站点定义(14 Hive unive You Dives)中的网站定义进行比较。xml文件和WebTemp*.xml文件中的网站定义。
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spweb_members.aspx
在SP2007中 不 发现您的网站是否是通过站点定义模板或模板文件(STP)提供的方法。由于现在已退休STP文件(无论如何对于站点模板)而有利于WSP文件,因此我认为仍然看不到它。
其他提示
要添加到 Anders 答案中,您也可以在 2010 年和 2013 年通过 API 获取名称。
使用 SPWeb.GetAvailableWebTemplates. 。另一个 SharePoint.stackexchange.com 线程有 使用 API 的一个很好的例子 通过 PowerShell。