Ir al contenido
  1. Tags/

XSLT

2012


SharePoint 2010: Usar Content Query Web Part para mostrar los elementos de una lista de enlaces

·393 palabras·2 mins

Escenario:

Supongamos que queremos mostrar los elementos de una lista de enlaces y, para ello queremos hacer uso de un Content Query Web Part (CQWP) por las posibilidades que éste nos da.

En la lista, por ejemplo, tendremos dos enlaces con los siguientes campos:

  • General de Software
    • Link: http://www.gsc.es
    • Descripción: General de Software
  • Turismo de Canarias
    • LInk: http://www.turismodecanarias.com
    • Descripción: Turismo de Canarias

Con esto, esperamos obtener el siguiente resultado:

SharePoint 2010: Formatear fecha en XSLT

·438 palabras·3 mins

Escenario:

Supongamos que queremos editamos la plantilla de estilos de elementos “ItemStyle.xsl” para poner nuestro estilo personalizado y mostrar la fecha  en la que se publicó el contenido, además del título con el enlace, el autor y la descripción.

Para ello no tendríamos más que añadir  una nueva plantilla xsl de la siguiente forma.

   1:        <xsl:template name="YourItemTemplateName" match="Row[@Style=YourItemTemplateName]" mode="itemstyle">
   2:          <xsl:variable name="SafeLinkUrl">
   3:              <xsl:call-template name="OuterTemplate.GetSafeLink">
   4:                  <xsl:with-param name="UrlColumnName" select="'LinkUrl'"/>
   5:              </xsl:call-template>
   6:          </xsl:variable>
   7:          <xsl:variable name="DisplayTitle">
   8:              <xsl:call-template name="OuterTemplate.GetTitle">
   9:                  <xsl:with-param name="Title" select="@Title"/>
  10:                  <xsl:with-param name="UrlColumnName" select="'LinkUrl'"/>
  11:              </xsl:call-template>
  12:          </xsl:variable>
  13:          <div class="divCustomItem">
  14:              <xsl:call-template name="OuterTemplate.CallPresenceStatusIconTemplate"/>
  15:              <div class="divTitle">
  16:                  <a href="{$SafeLinkUrl}" title="{@LinkToolTip}" class="linkTitle">
  17:                    <xsl:if test="$ItemsHaveStreams = 'True'">
  18:                      <xsl:attribute name="onclick">
  19:                        <xsl:value-of select="@OnClickForWebRendering"/>
  20:                      </xsl:attribute>
  21:                    </xsl:if>
  22:                    <xsl:if test="$ItemsHaveStreams != 'True' and @OpenInNewWindow = 'True'">
  23:                      <xsl:attribute name="onclick">
  24:                        <xsl:value-of disable-output-escaping="yes" select="$OnClickTargetAttribute"/>
  25:                      </xsl:attribute>
  26:                    </xsl:if>
  27:                    <xsl:value-of select="$DisplayTitle"/>
  28:                    
  29:                  </a>
  30:              </div>
  31:              <div class="divAdditionalData">
  32:                  por <xsl:value-of select="@Author"/> - <xsl:value-of select="@Created" />
  33:              </div>
  34:              <div class="divDescription">
  35:                  <xsl:value-of select="@Description" /> 
  36:              </div>
  37:          </div>
  38:      </xsl:template>

El resultado obtenido sería el siguiente:

2011


SharePoint 2010: Personalizar XsltListView WebPart

·289 palabras·2 mins

En estos días, hemos necesitado personalizar un XsltListView WebPart correspondiente a una lista. La solución la encontramos en un artículo en inglés y quería compartirlo traducido para aquellos a los que les cueste encontrar soluciones en inglés.

Pasos a seguir:

  1. Crear una nueva página de WebParts.
  2. Añadir WebPart de lista correspondiente a la que quieras personalizar.
  3. Salir de la edición.
  4. Editar WebPart para añadir las columnas específicas que desees ver como resultado.
  5. Abrir la página con SharePoint Designer 2010.
  6. Seleccionar el WebPart, con lo que en la Ribbon aparecerá el tab “Design” (Diseño).
  7. Seleccionar ‘Customize Xslt’ > ‘Customize Entire View’.
  8. Cambiar a la vista de código, con lo que se verá un nuevo nodo con el código Xslt añadido al WebPart.
  9. Buscar ‘mode="Item"’. Esta es la plantilla principal que gestiona la renderización de cada fila.
  10. En esta plantilla, buscar <xsl:for-each select="$Fields">. Este bucle se encarga de hacer las llamadas a las plantillas que necesarias para renderizar los campos de cada fila.
  11. Eliminar u Ocultar el bucle y añadir el HTML personalizado antes del mismo.
  12. Recordar verificar los cambios en el navegador.
  13. Al tiempo que nos hemos desecho del bucle Xslt For-each, también podemos eliminar las plantillas correspondientes a los campos, pero como puede resultar engorroso… no pasa nada por dejarlas.
  14. Una vez tengamos la visualización deseada, hay que copiar el código xslt en un nuevo fichero, por ejemplo “mylistview.xslt” y guardarla en un lugar adecuado.
  15. Ahora, podremos crear una nueva página y añadir el Web Part de lista tal y como hicimos en el paso 2.
  16. Editar el WebPart y en la y enlazar el fichero “mylistview.xslt” desde el XSL Link de la sección Miscellaneous.
  17. Guardar cambios y… ¡Listo! ya tenemos nuestro XsltListView WebPart personalizado.

Fuente Sandeep K Nahta

SharePoint 2010: Mostrar lista de Variaciones en un Sitio de Publicación.

·334 palabras·2 mins

Escenario:

Supongamos que tenemos un Sitio de Publicación de SharePoint 2010 en el que hemos creado diferentes variaciones correspondientes a los idiomas inglés, español, italiano y alemán. Necesitaremos mostrar los diferentes idiomas de alguna forma para que el usuario que navega por el sitio pueda seleccionar el que más le convenga.

Solución:

Para dar solución a esta situación, propongo la creación de un control de usuario de SharePoint con Visual Studio 2010 cuyo funcionamiento sea el siguiente.