GetAvailableWebTemplates什么都不返回

时间:2012-01-25 01:06:22

标签: sharepoint templates

我正在尝试从网站模板创建一个网站,但我似乎无法获得相应的网站模板。事实上,我似乎无法获得任何网站模板。我知道安装了模板,因为我可以看到它们在解决方案库中列出,并且它们都被激活了。

我尝试了所有可以尝试的东西,但我的“模板”变量仍然是空的。

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);
        }
    }
}

1 个答案:

答案 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

弗洛里