1- Crear una columna tipo Hyperlink
2- Abrir la lista desde SharePoint Designer
3- Crear vista
4- Editar vista en modo avanzado
5- Habilitar la vista codigo avanzado
6- Codigo fuente del web part
7- El codigo generado de la vista es
<xsl:template name="FieldRef_Hyperlink_URL_body.enlace" ddwrt:dvt_mode="body" match="FieldRef[(@Format='Hyperlink') and @Name='enlace']" mode="URL_body" ddwrt:ghost="hide">
<xsl:param name="thisNode" select="."/>
<xsl:variable name="url" select="$thisNode/@*[name()=current()/@Name]" />
<xsl:variable name="desc" select="$thisNode/@*[name()=concat(current()/@Name, '.desc')]" />
<xsl:choose>
<xsl:when test="$url=''">
<xsl:if test="$desc=''">
<xsl:value-of select="$desc"/>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<a href="{$url}" >
<xsl:choose>
<xsl:when test="$desc=''">
<xsl:value-of select="$url"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$desc"/>
</xsl:otherwise>
</xsl:choose>
</a>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
8- El codigo que coloca a la columna enlace una url concatenada con un valor que se encuentra en las columnas de la lista es el siguiente:
Reemplace el codigo generado que se visualiza en (7) con el siguiente:
<xsl:template name="FieldRef_Hyperlink_URL_body.enlace" ddwrt:dvt_mode="body" match="FieldRef[(@Format='Hyperlink') and @Name='enlace']" mode="URL_body" ddwrt:ghost="">
<xsl:param name="thisNode" select="."/>
<xsl:variable name="url" select="$thisNode/@*[name()=current()/@Name]" />
<xsl:variable name="desc" select="$thisNode/@*[name()=concat(current()/@Name, '.desc')]" />
<a href="{concat('http://server/Reuniones/SitePages/ToPDF.aspx?IDReunion=',$thisNode/@ID)}" >
<xsl:value-of select="concat('Convertir a',' PDF')"/>
</a>
</xsl:template>
9- Ver los resultados en el browser
10- De esta manera podemos generar url con parametros dinamicos, sin necesidad de escribir javascript adicional, simplemente usando el xslt del que disponemos y el resultado es el siguiente:
No hay comentarios:
Publicar un comentario