Personalizar entradas de blog en SharePoint 2007

A medida que vamos acumulando una gran cantidad de entradas en nuestro blog de SharePoint, vemos que la forma predeterminada en que estas se muestran no es muy práctica para navegar por ellas. Por que digo esto, porque nos aparecen todos los artículos enteros de forma que, tenemos que ir desplazándonos verticalmente por nuestra página para localizar uno en concreto.

Una forma de hacer que nuestro blog sea más “visual” e intuitivo es limitar el contenido de nuestras entradas para que se muestre sólo un determinado número de palabras. Esta técnica no sólo se puede utilizar en blogs, sino que también sirve para cualquier tipo de lista cuyo “Cuerpo” sean múltiples líneas de texto, como pueden ser listas de artículos, noticias, posts…

El primer paso a dar, consiste en convertir nuestro Web Part a vista de datos XLST, de esta forma podremos trabajar con el código de forma más sencilla. Para ello seleccionamos el elemento web al que queremos aplicar esta vista, y hacemos clic con el botón derecho donde nos aparecerá la opción “Convertir a vista de datos XSLT”

image 

Dentro de la etiqueta <DataSources> que se nos crea, modificamos la definición de nuestros parámetros, para que podamos identificarlos de manera más sencilla. Para ello sustituimos los valores iniciales de DefaultValue y Name

  1. DefaultValue="{FE289146-94E7-4004-814E-7EF446C52100}" Name="ListID

por:

  1. DefaultValue="Entradas de blog" Name="ListName

A continuación localizamos la definición de la plantilla <xsl:template name =”dvt_1”>, y justo encima de ella definimos una plantilla, mediante el código que vemos a continuación, que se encargará de eliminar las etiquetas HTML que se añaden, cada vez que creamos un elemento nuevo en nuestra lista.

  1. <xsl:template name="removeHtmlTags">
  2.     <xsl:param name="html"/>
  3.     <xsl:choose>
  4.         <xsl:when test="contains($html, ‘&lt;’)">
  5.             <xsl:value-of select="substring-before($html, ‘&lt;’)"/>
  6.             <!– Recurse through HTML –>
  7.             <xsl:call-template name="removeHtmlTags">
  8.                 <xsl:with-param name="html" select="substring-after($html, ‘&gt;’)"/>
  9.             </xsl:call-template>
  10.         </xsl:when>
  11.         <xsl:otherwise>
  12.             <xsl:value-of select="$html"/>
  13.         </xsl:otherwise>
  14.     </xsl:choose>
  15. </xsl:template>

Para usar esta plantilla, vamos al elemento <div> donde se muestra el “Cuerpo” (Body) de nuestras entradas, y que podremos identificar mediante la clase “ms-PostBody”, y  sustituimos el siguiente código:

  1. <div class="ms-PostBody">
  2.     <div dir="{ddwrt:GetVar(‘Direction’)}">
  3.         <xsl:value-of disable-output-escaping="yes" select="@Body" />
  4.     </div>
  5. </div>

por :

  1. <div class="ms-PostBody">
  2.     <div dir="{ddwrt:GetVar(‘Direction’)}">
  3.         <xsl:variable name="pureText">
  4.             <xsl:call-template name="removeHtmlTags">
  5.                 <xsl:with-param name="html" select="@Body" />
  6.             </xsl:call-template>
  7.         </xsl:variable>
  8.         <span><xsl:value-of select="substring($pureText, 0, 250)" /></span><br/>
  9.     </div>
  10. </div>

   

Como se puede ver, lo que hacemos es crear un variable pureText que se encargará de almacenar el texto limpio de etiquetas tras llamar a la plantilla removeHtmlTags, y a la que se le aplicará una consulta mediante el método substring que nos devolverá el “Body” de nuestras entradas, desde el carácter 0 al 250, en nuestro caso.

Y para terminar, decir, que he utilizado esta “técnica” porque me parece una de las formas más sencillas que se pueden encontrar para hacer este tipo de personalizaciones.

Tutoriales jQuery

No hace falta que diga que jQuery me tiene encantada. Cada vez que navego por Internet encuentro nuevas y más potentes aplicaciones. Como sería imposible ponerme a implementar todas ellas en mis sitios web, principalmente porque no tendría mucho sentido, me parece interesante dejaros aquí los links donde podéis encontrar varios tutoriales sobre aplicaciones jQuery que podéis utilizar en vuestros propios sitios. En estos tutoriales se puede encontrar tanto una demo en la que se ve el funcionamiento de la aplicación como el código de la misma. Así que disfrutad de ellos:

jQuery Tools Scrollable

Sliding Boxes and Captions with jQuery

10 Fresh jQuery Tutorials to Enhance Navigation Menus

14 Easy to Implement Drop Down Menu Solutions

14 jQuery Plugins for Enhanced Content Viewing

12 Excellent jQuery Plugins for Enhancing Forms

12 Useful jQuery Plugins for Working with Tables

Step By Step To Create Content Slider using jFlow

Create Beautiful jQuery slider tutorial

Using the Wonderful jFlow Plugin

jCarousel

ImageSwitch

Moving Boxes

Making a Content Slider with jQuery UI

Sliding Boxes and Captions with jQuery

AnythingSlider jQuery Plugin

Y para terminar 50 técnicas del uso de jQuery, todas juntas…Posiblemente se repitan alguna de las comentadas anteriormente, pero nunca esta de más:

http://www.smashingmagazine.com/2009/08/23/50-useful-new-jquery-techniques/

😉