我有一个问题,基本上我已经安装了一个Web模板,它已安装得很好。当我尝试创建一个网站时,我在列表中看到这个模板,我可以选择它,并基于此模板创建一个站点。

但奇怪的是,它可能没有很好地注册,或者我不知道为什么,但是当我运行powershell命令get-spwebtemplate时它不存在。我也可以在SiteTemplate中找到它在蜂巢中...

我确实清理了缓存,并做了iisreset,但它仍然是不是那里,虽然它有效,我如何解决它?

有帮助吗?

解决方案

Your webtemplate is probably not globally deployed

[..]the documentation for Get-SPWebTemplate which states “Displays all globally installed site templates that match the given identity.” A sandboxed solution is not globally deployed, which explains why the template couldn’t be found. Source

Try this:

$web = get-spweb http://intranet
$template = $web.GetAvailableWebTemplates(1033) | Where-Object {$_.Name -eq "My Custom Template Name"}

#Uncomment to create web..
#New-SPWeb -Url "http://intranet/site1" -Name "Site 1" –Template $template

This will get it from available web templates instead, see more (and source of above script) here

其他提示

After trying to figure this out myself, I got the following that is dynamic. Hope this helps someone else that needs to use a template in multiple places.

$Siteurl = "http://intranet/site/custom"

$SPW = Get-SPweb $Siteurl

$template = $SPW.GetAvailableWebTemplates(1033) | Where-Object {$_.Title -eq "MyCustomTemplate"}

write-host "Applying custom template..."

$SPW.ApplyWebTemplate($template.Name)

$SPW.update()

Perhaps you may need to restart the server. I recently had a similar issue. However, I was migrating from SP 2010 to SP 2013. See here for more info: http://sharepointnadeem.blogspot.com/2014/01/sharepoint-2013-missingsitedefinition.html

许可以下: CC-BY-SA归因
scroll top