Etiquetas

, , , , , , ,

En algunas ocasiones nos encontraremos con la necesidad de mostrar en el texto que se muestra en el resultados de las búsquedas de SharePoint propiedades de los elementos que han sido indexados que no vienen incluidas en el XSL que formatea los resultados, para ello es necesario que modifiquemos el web part que muestra los resultados siguiendo los siguientes pasos.

Una vez en la página de resultados que queremos modificar se debe ir a Acciones del sitio y seleccionar la opción Editar página.

Una vez en modo de edición es necesario ubicar la web part de resultados y en su menú contextual hacer clic en Editar elemento web.

Se abrirá un panel a la derecha de la página con las propiedades del web part, tendremos que ir a la opción “Mostrar propiedades”.

Entre las opciones disponibles se deberá modificar las propiedades recuperadas, para ello basta insertar la columna que se quiere recuperar (debe ser una propiedad administrada existente).

El siguiente paso es formatear los resultados para incluir la columna que se ha agregado para ello usaremos el botón editor XSL.

Guardar  el contenido del editor como XML y abrir con  visual estudio.

En visual studio tendremos que ubicar el comentario <!– This template is called for each result –>

A partir de aquí encontraremos las instrucciones que son aplicadas para formatear los resultados.

Por ejemplo si quisiéramos incluir una propiedad administrada llamada TipoCliente usaríamos:

Tipo Cliente:<xsl:value-of select=”TipoCliente” />

Es importante darse cuenta que el XSL da distinto formato según el tipo de contenido devuelto en los resultados por ejemplo en la sección donde se muestra

<xsl:choose>

<xsl:when test=”substring($url,1,5) = ‘file:’ and $IsDesignMode = ‘False'”>

Vemos que en este condicional se da formato a resultados provenientes de la indexación de archivos físicos de un directorio NTFS por ejemplo.

Una sección importante que nos podrá ayudar a ubicar el contenido que queremos incluir es la siguiente:

<xsl:when test=”hithighlightedsummary[. != ”]”>

         <xsl:call-template name=”HitHighlighting”>

           <xsl:with-param name=”hh” select=”hithighlightedsummary” />

         </xsl:call-template>

    </xsl:when> 

Aquí se incluye en el resultado  la propiedad administrada hithighlightedsummary  la cual se mapea automáticamente contra varias propiedades de rastreo y es lo primero que vemos en cada resultado después del título.

Al final del archivo veremos que hay una cantidad importante de plantillas (Template) que nos permiten aplicar un formato especifico a las propiedades administradas que incluyamos sin necesidad de repetir código, alguna de las que se ven son DisplayAuthors, DisplayDate, DisplaySize.

Después de modificar el XSL  copiar el contenido editado de nuevo en el editor XSL, hacer clic en aceptar para guardar los cambios.

Para guardar los cambios del web part hacer clic en el botón aceptar del panel de propiedades.

Para guardar la página hacer clic en Guardar y cerrar en el menú de la página.

Dejo un enlace de la w3schools donde podemos encontrar un tutorial sobre XSL que seguramente será de utilidad a la hora de modificar nuestro XSL .

http://www.w3schools.com/xsl/