Sharepoint ItemStyle.xsl для CQWP с использованием изображений из типа контента
-
05-09-2019 - |
Вопрос
Я создаю пользовательскую веб-часть запроса контента для отображения сводной информации из типа контента сотрудника.Этот тип контента имеет столбец сайта «Изображение публикации» под названием EmpPhoto.Мой CQWP работает отлично, и все нужные мне столбцы сайта доступны.
Сейчас я создаю собственный шаблон xsl для правильного отображения информации, но застрял в использовании изображения EmpPhoto.
Если я использую код:
<xsl:value-of select="@EmpPhoto" disable-output-escaping="yes" />
...Я получаю правильно визуализированное изображение, и это здорово.Однако я хочу создать событие onmouseover для этого изображения, и этот подход не будет работать.
Я подумал создать переменную xsl, чтобы получить фактический URL-адрес изображения, затем создать свой собственный html-img и записать в него onmouseover, например.
<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" />
Однако он не получает URL-адрес из столбца сайта EmpPhoto.Я новичок в xsl, поэтому, возможно, мне не хватает очевидного решения!
Любая помощь очень ценится,
Джонни
Решение
Это обман...и он делает предположения об атрибуте src.Но вот оно!
<xsl:variable name="EmpPhotoUrl" select="substring-before(substring-after(@EmpPhoto, 'src="'), '"')" />
Другие советы
Учитывая, что значение @EmpPhoto представляет собой просто строку, представляющую тег изображения HTML, вы можете «вставить» сценарий наведения курсора мыши в значение, например
<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" />