我正在尝试从网站模板创建一个网站,但我似乎无法获得相应的网站模板。事实上,我似乎无法获得任何网站模板。我知道安装了模板,因为我可以看到它们在解决方案库中列出,并且它们都被激活了。
我尝试了所有可以尝试的东西,但我的“模板”变量仍然是空的。
foreach (SPLanguage lang in web.RegionalSettings.InstalledLanguages)
{
foreach (SPWebTemplate template in web.Site.GetWebTemplates((uint)lang.LCID))
{
if (template.IsCustomTemplate)
{
templates.Add(template.Title, template);
}
}
foreach (SPWebTemplate template in web.Site.GetCustomWebTemplates((uint)lang.LCID))
{
if (template.IsCustomTemplate && !templates.ContainsKey(template.Title))
{
templates.Add(template.Title, template);
}
}
foreach (SPWebTemplate template in web.GetAvailableWebTemplates((uint)lang.LCID, true))
{
if (template.IsCustomTemplate && !templates.ContainsKey(template.Title))
{
templates.Add(template.Title, template);
}
}
foreach (SPWebTemplate template in web.GetAvailableCrossLanguageWebTemplates())
{
if (template.IsCustomTemplate && !templates.ContainsKey(template.Title))
{
templates.Add(template.Title, template);
}
}
}
答案 0 :(得分:1)
也许IsCustomTemplate不是你的朋友
我试试这个(PowerShell) Start-SPAssignment -Global $ w = Get-SPWeb -Identity'http:// ............' $ ILS = $ w.RegionalSettings.InstalledLanguages
$ils | %{
$lcid = $_.LCID
$lcid
$wts=$w.GetAvailableWebTemplates(1031, $true)
$wts = $wts | ?{ -not $_.IsRootWebOnly}
$wts | ft -Property Lcid,Name,Title,DisplayCategory
}
$w=$null
Stop-SPAssignment -Global
弗洛里