Pregunta

Usamos MOSS 2007 (SharePoint) para nuestra intranet. Hace poco nos encargamos de respaldar la marca de varias empresas en nuestra granja. Rápidamente nos dimos cuenta de que las páginas de la aplicación (producidas por un application.master modificado) no pueden mostrar múltiples plantillas de marca (que no sean temas).

Creo que la solución correcta es mantener la marca de Microsoft predeterminada en las páginas de la aplicación (ya estábamos trabajando en esto en dev, sin modificaciones a los archivos alojados en el servidor).

Sin embargo, como una solución rápida, estaba pensando que podría usar jQuery para reemplazar un logotipo, un puñado de imágenes de navegación y algunos colores en las páginas de la aplicación. Básicamente, se pasa de la marca A a la marca B antes de que la página esté completamente representada.

Mi pregunta es ... ¿qué tan mala es esta idea? ¿Cuáles son las dificultades asociadas con hacer esto? Dado que solo es una solución provisional, ¿debería intentarlo?

¿Fue útil?

Solución

Creo que la mayoría de tus problemas se pueden resolver con un buen archivo CSS. Esto es mejor que javascript, en mi experiencia, ya que se carga mucho más rápido. Tenga en cuenta que SharePoint produce páginas pesadas (en lo que respecta a DOM), por lo que jQuery tarda mucho tiempo en llegar a $ (document) .ready , e incluso más tiempo para manipular ese DOM de gran tamaño en IE6 Esto puede demorar varios segundos, lo que da la misma impresión que un sitio o servidor lento.
He hecho muchas personalizaciones a SharePoint usando CSS: puede tomar algunos ! Important malolientes, pero el resultado es mejor que javascript.
Además, recuerde que puede configurar un archivo CSS por sitio (en la misma página que configura la página maestra del subsitio): se puede usar en lugar de crear una página maestra para cada marca.

Otros consejos

Para agregar a La respuesta de Kobi , puede utilizar una función de control de delegado para la implementación.

Coloque un control de usuario en _controltemplates , como por ejemplo:

<%@ Control Language="C#" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Import Namespace="Microsoft.SharePoint" %>
<SharePoint:CssRegistration name="/_layouts/custom/app.css" runat="server"/>

Escriba la función de control de delegado (aquí está elements.xml):

<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
 <Control ControlSrc="~/_ControlTemplates/CustomBranding.ascx"
                 Id="AdditionalPageHead" Sequence="1" />
</Elements>

Incluir CSS personalizado en _layouts/custom/app.css.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top