0

I have an issue, basically I've installed a web template and it was installed fine. When i try to create a website I see this template in the list and I can choose it and based on this template create a site.

But strangly enought, it maybe not registered well or I don't know why, but when I run powershell command Get-SPWebTemplate it is not there. I can also find it in the hive in SiteTemplate ...

I did clean the cache and did iisreset but still it is not there, although it works, how do I fix it?

5

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

  • Ok, but how do I make it then globally deployed? Normally it should be globally deployd this web template. I deployed with the Install-SPSolution ... which normally is not really sandboxed – Shkipper Apr 29 '14 at 9:53
  • And just to note, this web template is note there either :( – Shkipper Apr 29 '14 at 9:55
  • Can you please add your feature information? Like scope, module etc – Robert Lindgren Apr 29 '14 at 9:56
  • It is not really deployed by the feature, it is webtemplate from here: microsoft.com/en-us/download/details.aspx?id=1493 – Shkipper Apr 29 '14 at 10:09
  • That is for WSS 3.0, not SP 2010. – Robert Lindgren Apr 29 '14 at 10:17
1

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()
0

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

  • I did restart Like everything, did IISRESET, cleared the cached, restarted timer ... everything many times :/ still nothing :( – Shkipper Apr 29 '14 at 10:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.