27 diciembre, 2011

SharePoint Branding: Propiedad After de CssRegistration

Hoy me he encontrado con la maravillosa propiedad After de la clase CssRegistration... Bien, explico rápidamente la situación:

Cuando creamos una Master Page desde cero, solemos tener varios CSS que nos definen la página, style.css, reset.css, ie7.css (ejem), etc etc... Y como todos sabéis, no es lo mismo:

  • <sharepoint:cssregistration name="reset.css" runat="server"></sharepoint:cssregistration>
  • <sharepoint:cssregistration name="style.css" runat="server"></sharepoint:cssregistration>
  • <sharepoint:cssregistration name="ie7.css" runat="server"></sharepoint:cssregistration>
Que por ejemplo:
  • <sharepoint:cssregistration name="ie7.css" runat="server"></sharepoint:cssregistration>
  • <sharepoint:cssregistration name="style.css" runat="server"></sharepoint:cssregistration>
  • <sharepoint:cssregistration name="reset.css" runat="server"></sharepoint:cssregistration>
Probablemente la segunda no muestre lo que nos ha enseñado el diseñador...

Bien pues para ésto hay solución! La propiedad "After" que se utilizaría de la siguiente forma:
  • <sharepoint:cssregistration name="reset.css" After="corev4.css" runat="server"></sharepoint:cssregistration>
  • <sharepoint:cssregistration name="style.css" After="reset.css" runat="server"></sharepoint:cssregistration>
  • <sharepoint:cssregistration name="ie7.css" After="style.css" runat="server"></sharepoint:cssregistration>
Bueno pues a pesar de ser ésta la propiedad a utilizar, hay que ser rigurosos ya que para los CSS propios, la ruta de acceso al mismo (etiqueta Name) tiene que ser exactamente la misma que pongamos en el After:
  • <sharepoint:cssregistration name="/_layouts/app1/css/reset.css" After="corev4.css" runat="server"></sharepoint:cssregistration>
  • <sharepoint:cssregistration name="/_layouts/app1/css/style.css" After="/_layouts/app1/css/reset.css" runat="server"></sharepoint:cssregistration>
  • <sharepoint:cssregistration name="/_layouts/app1/css/ie7.css" After="/_layouts/app1/css/style.css" runat="server"></sharepoint:cssregistration>
Notar que el corev4.css no es necesario que siga dicha regla.

Espero que os ahorre algo de tiempo cuando os encontréis con algo parecido.

Os dejo una buena referencia al respecto: Blog de SingChan

No hay comentarios: