venerdì 16 ottobre 2009

Custom Master Page

Mi sono sempre domandato quando mai avrei usato le custom master page di Sharepoint, ora l'ho scoperto.

Per un progetto ho creato una site definition graficamente molto gradevole ma del tutto inadatta ad ospitare le pagine delle liste (list form page), quindi ho dovuto trovare un sistema per poter applicare la mia master page alle sole pagine aspx presentate al visitatore, lasciando la default master page associata al resto delle pagine. Siccome le pagine associate alle liste usano la ~/_layouts/default.master, non posso associare la mia master page alla default.
A questo punto entra in gioco la custom master page, ovvero nella mia site definition, nel file ONET.XML, ho usato configuration id="1" name="Blank" custommasterurl="/_catalogs/masterpage/clinicalmaster/ClinicalBasic.master", mentre nel codice SPweb.CustomMasterUrl e nelle pagine aspx ~masterurl/custom.master.

In questo modo tutte le pagine originali di WSS continuano a lavorare come prima.