Passaggio all'ora legale 31 marzo 2024 02:00 03:00 sposta avanti l'orologio di 1 ora (si dorme 1 ora in meno)
In SharePoint Server 2010 i siti salvati come template non sono più dei file con estensione STP, ma sono delle solution (.WSP).
Le solution sono salvate in Site Actions / Site Settings / Galleries / Solutions (http://sharepoint2010/_catalogs/solu...llItems.aspx ).

Per recuperare via codice il template di sito bisogna usare il metodo GetWebTemplates dell'oggetto SPSite, questo ritorna una collection di template.
Per trovare un template specifico bisogna ciclare e confrontare il nome.
I template custom hanno il nome composto secondo questa convenzione:
Text
{guid}#nomeTemplate
ad esempio
Text
{AC75BCC4-EF27-4F72-B7ED-02E5B80E123E}#ProjectTemplate

C#
//get custom template
public SPWebTemplate GetWssTemplate(uint lcid, SPSite site, string templateName)
{
  //SPWebTemplateCollection templates = site.GetCustomWebTemplates(lcid);
  SPWebTemplateCollection templates = site.GetWebTemplates(lcid);
  SPWebTemplate template = null;
  foreach (SPWebTemplate t in templates)
  {
    if (t.Name.EndsWith("#" + templateName
              , StringComparison.InvariantCultureIgnoreCase) == true)
    {
       template = t;
       break;
    }
  }
  return template;
}
In SharePoint 2007 si usava il metodo GetCustomWebTemplates

Per creare un sito con un template in inglese (1033) salvato con nome ProjectTemplate:
C#
using (SPSite site = new SPSite("http;//sharepoint2010"))
{
  using (SPWeb web = site.OpenWeb())
  {
    SPWebTemplate template = GetWssTemplate(1033, site, "ProjectTemplate");
    SPWebCollection webs = web.Webs;
    SPWeb newWeb = webs.Add(url, "titolo", "description", 1033, template, false, false);
  }
}
Potrebbe interessarti anche: