Domanda

Utilizziamo MOSS 2007 (SharePoint) per la nostra intranet. Di recente ci è stato assegnato il compito di supportare il marchio per più aziende nella nostra fattoria. Ci siamo resi rapidamente conto che le pagine dell'applicazione (prodotte da un application.master modificato) non possono servire più modelli con marchio (diversi dai temi).

Penso che la soluzione giusta sia mantenere il marchio Microsoft predefinito nelle pagine delle applicazioni (ci stavamo già lavorando su questo argomento - nessuna modifica ai file ospitati sul server).

Tuttavia, come soluzione rapida, stavo pensando che avrei potuto usare jQuery per sostituire un logo, una manciata di immagini di navigazione e alcuni colori nelle pagine dell'applicazione. Fondamentalmente passando dal marchio A al marchio B prima che la pagina sia completamente renderizzata.

La mia domanda è ... quanto è cattiva questa idea? Quali sono le insidie ??associate a fare questo? Dato che è solo una soluzione temporanea, dovrei provarla?

È stato utile?

Soluzione

Penso che la maggior parte dei tuoi problemi possa essere risolta con un buon file CSS. Questo è meglio di JavaScript, nella mia esperienza, poiché si carica molto più velocemente. Tieni presente che SharePoint produce pagine pesanti (per quanto riguarda il DOM), quindi jQuery impiega molto tempo per arrivare a $ (document) .ready e ancora più tempo per manipolare quel DOM sovradimensionato - su IE6 questo può richiedere alcuni secondi, dando la stessa impressione di un sito o server lento.
Ho fatto molte personalizzazioni su SharePoint usando CSS: potrebbero volerci alcuni ! Important s puzzolenti, ma il risultato è migliore di javascript.
Inoltre, ricorda che puoi impostare un file CSS per sito (sulla stessa pagina hai impostato la pagina principale del sito secondario) - questo può essere usato invece di creare effettivamente una pagina principale per ogni marchio.

Altri suggerimenti

Per aggiungere a la risposta di Kobi , è possibile utilizzare una funzione di controllo delegato per la distribuzione.

Posiziona un controllo utente in _controltemplates , ad esempio:

<%@ 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"/>

Scrivi la funzione di controllo del delegato (qui 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>

Includi CSS personalizzati in _layouts/custom/app.css.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top