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);
}
}
}
i am trying to create a site from a site template, but i cant seem to get the appropriate site template. in fact, i cant seem to get any site template. i know that there are templates installed, since i can see them listed in the solution gallery, and they are all activated.
ive tried everything i can find to try, but still my "templates" variable returns empty.
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);
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
也许 IsCustomTemplate 不是你的朋友
我尝试这个(PowerShell)
开始-SPA分配-全局
$w = Get-SPWeb -Identity 'http://............'
$ils=$w.RegionalSettings.InstalledLanguages
弗罗里
maybe IsCustomTemplate is not your friend
I try this (PowerShell)
Start-SPAssignment -Global
$w = Get-SPWeb -Identity 'http://............'
$ils=$w.RegionalSettings.InstalledLanguages
flori