sharepoint xslt cqwp

Sharepoint ItemStyle.xsl para CQWP utilizando imágenes de un tipo de contenido



xslt (2)

Dado que el valor de @EmpPhoto es solo una cadena que representa una etiqueta de imagen html, podría "inyectar" la secuencia de comandos del mouseover en el valor, por ejemplo

<xsl:variable name="EmpPhoto"><xsl:value-of select=sub-string(@EmpPhoto) />[and some other code to add the mouseover etc]</xsl:variable> <xsl:value-of select="$EmpPhoto" />

Estoy creando un elemento web de consulta de contenido personalizado para mostrar la información de resumen de un tipo de contenido de empleado. Este tipo de contenido tiene una columna del sitio de publicación de imágenes llamada EmpPhoto. Mi CQWP está funcionando muy bien y todas las columnas del sitio que necesito están disponibles.

Ahora estoy creando una plantilla xsl personalizada para representar la información correctamente, pero estoy atascado con la imagen de EmpPhoto.

Si uso el código:

<xsl:value-of select="@EmpPhoto" disable-output-escaping="yes" />

... Obtengo una imagen renderizada correctamente que es genial. Sin embargo, quiero construir un evento onmouseover para esta imagen y este enfoque no funcionará.

Pensé en crear una variable xsl para tomar la URL de la imagen real, luego crear mi propia html img y escribir el onmouseover en eso, por ejemplo

<xsl:variable name="EmpPhotoUrl"> <xsl:call-template name="OuterTemplate.GetSafeStaticUrl"> <xsl:with-param name="UrlColumnName" select="@EmpPhoto"/> </xsl:call-template> </xsl:variable>

...

<img src="{$EmpPhotoUrl}" onmouseover="" alt="test" />

Sin embargo, esto no obtiene la URL de la columna del sitio EmpPhoto. ¡Soy nuevo en xsl así que podría estar perdiendo una solución obvia!

Cualquier ayuda muy apreciada,

Jonny


Esto es trampa ... y está haciendo suposiciones sobre el atributo src. ¡Pero aquí está!

<xsl:variable name="EmpPhotoUrl" select="substring-before(substring-after(@EmpPhoto, ''src=&quot;''), ''&quot;'')" />