Um SharePoint 2007 etwas zu verschönern, kann man sich der beliebten JavaScript Library jQuery bedienen. Neben den Basisfunktionalitäten die jQuery Core bietet, bringt jQueryUI noch einige nette Oberflächenplugins mit.
Da Sharepoint ein komplexes Produkt ist, welches selbst jede Menge Stylesheets definiert, kann es unter Umständen dazu kommen, dass sich einige Styles in die Quere kommen. Ich selbst hatte neulich das Problem mit dem CSS File von jQueryUI. Daher ist gerade bei der Einbindung der CSS Dateien Vorsicht geboten.
Wenn externe Stylesheets nicht korrekt in Sharepoint eingebunden werden, kann es dazu kommen, dass die Basis-Themes von Sharepoint ebenfalls nicht mehr korrekt gerendert werden können und somit das Design des Portals zerstört wird.
Doch durch die korrekte Verwendung der Klasse CssRegistration aus dem Namespace Microsoft.SharePoint.WebControls kann dieser Stolperfalle aus dem Weg gegangen werden.
Die Klasse CssRegistration stellt eine statische Methode namens Register, die dazu verwendet wird um ein weiteres “externes” Stylesheet in der Page einzubinden.
Die Signatur der Methode ist sehr einfach:
Microsoft.SharePoint.WebControls.CssRegistration.Register(string cssRef)
Die Methode erhält einen einzigen Parameter “cssRef”, welchem man zum Beispiel eine relative URL zu einem Stylesheet geben kann
CssRegistration.Register(@"/_layouts/MySolution/styles/MyStyle.css");
oder man kann auch einfach nur den Namen des Stylesheets angeben. Auch hierzu noch ein kleines Beispiel dass diese Verwendung etwas veranschaulicht
CssRegistration.Register("OtherOne");
// OhterOne wird von SharePoint als
// http://<serverurl>/_layouts/<WEB LCID>/styles/OtherOne.css
// interpretiert
Wichtig
Stylesheets die mit CssRegistration geladen wurden, überschreiben keine Styles aus der core.css! Des Weiteren werden die Stylesheets nicht auf Layoutpages angewendet.