Si necesitas cambiar el aspecto básico y típico de Project Server 2010, tendrás que hacer 2 cosas:
1. Habilitar el código servidor en las páginas de SharePoint (http://www.projectserver2010blog.com/2010/01/project-server-2010-changing-master.html)
2. Habilitar la caractarística de publicación de Site Collection (Site Settings)
3. Hacer una solución para desplegar la masterPage que quieres poner
A partir de ahí verás que cuando pones la masterpage de publicación, te habilitará las secciones de SharePoint únicamente. Si luego lo configuras de manera que la misma masterpage también actúe como MasterPage de sistema funcionará, pero cuando se abran cuadros de diálogo tendrás un problema....
Hay varias opciones, pero una muy sencilla es incorporar un Control de Usuario que, agregado a la MasterPage, inserte un CSS que oculte todas las secciones que no queremos visualizar en las lightbox que muestra SharePoint.
Siguiendo con los pasos:
4. Crear un UserControl que en el RenderWebpart(...) tenga un código parecido al siguiente:
protected override void Render(HtmlTextWriter writer)
{
base.Render(writer);
if (Page.Request.QueryString["IsDlg"] != null && Page.Request.QueryString["IsDlg"] != string.Empty && Page.Request.QueryString["IsDlg"] == "1")
{
Page.Response.Output.WriteLine("
");
}
}
5. Desplegamos la solución con el UserControl que hemos creado y lo registramos en la masterpage. Para éste último paso os facilito una referencia muy útil:
http://2010help.wordpress.com/2011/02/16/add-a-custom-user-control-to-a-sharepoint-2010-master-page/
No deja de ser una imitación de un cambio real de masterpage, aunque fijaros que podemos ocultar sólo parte de la masterpage customizada, que eso sí suele resultar útil.
Si preferís cambiar la masterpage en tiempo de ejecución deberéis hacerlo en el PreInit de la página, cosa que en SharePoint no estña soportada po rlo que deberéis interceptar vía HttpModule el evento y sobreescribir el código que ejecuta.
No hay comentarios:
Publicar un comentario