I Windows SharePoint Services offrono la possibilità di utilizzare i temi che possono tornare utili per implementare piccole personalizzazioni senza dover ricorrere ASP.NET 2.0 e SharePoint Designer per la modifica di pagine o la creazione di Master Page.
Per un'indicazione dei passi necessari alla creazione di un tema personalizzato si veda il seguente How to: Customize Themes.
I temi si basano sul fatto che per i siti SharePoint sono state definite classi per le componenti principali delle pagine. Tali definizioni si trovano nel file %CommonProgramFiles%\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\1040\STYLES\CORE.CSS che è anche il file css usato dal tema predefinito, per maggiori informazioni circa le classi utilizzabili si faccia riferimento al seguente Cascading Style Sheets Class Definitions for Microsoft Windows SharePoint Services.
Se si eseguono modifiche al tema dopo che questo è stato applicato occorre riavviare IIS tramite il comando iisreset.
Dopo aver applicato il tema questo sarà importato in SharePoint ed accesibile tramite la seguente share \\ServerName\SiteName\_themes
In caso si verificassero problemi per le visualizzazione di modifiche apportate al tema il mio consiglio è quello di rapplicare il tema predefinito così facendo automaticamente dovrebbe essere eliminato il tema importato, ma se così non fosse eliminarlo tramite la share \\ServerName\SiteName\_themes quindi riapplicare il tema.
Una personalizzazione che può essere velocemente implementata tramite i temi è quella di nascondere la visualizzazione del titolo del sito mostrata di default di financo la logo che può essere ottenuta utilizzando la classe .ms-sitetitle a:
.ms-sitetitle a
{
display: none;
}
Un altra personalizzazione potrebbe essere quella di impostare un'immagine di sfondo sulla prima pagina di un sito utilizzando la classe .ms-bodyareaframe e le proprietà dinamiche dei css:
.ms-bodyareaframe {
background-image: url("Background.gif");
background-image: expression((location.pathname=="/SiteName/default.aspx")? '': 'none');
}