2012-01-25 112 views
0

我想從網站模板創建一個網站,但我似乎無法得到適當的網站模板。事實上,我似乎無法獲得任何網站模板。我知道有安裝的模板,因爲我可以看到它們在解決方案庫中列出,並且它們都已激活。GetAvailableWebTemplates沒有任何返回

我嘗試了一切,我可以找到嘗試,但仍然我的「模板」變量返回空。

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

也許IsCustomTemplate是不是你的朋友

我試試這個(PowerShell中) 啓動SPAssignment - 全球 $ 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 

弗洛裏