Sharepoint ItemStyle.xsl для CQWP с использованием изображений из типа контента - PullRequest
5 голосов
/ 19 февраля 2009

Я создаю настраиваемую веб-часть «Запрос контента» для отображения сводной информации из типа контента сотрудника. Этот тип контента имеет столбец сайта Publishing Image, который называется 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, так что я могу упустить очевидное решение!

Любая помощь высоко ценится,

Jonny

Ответы [ 2 ]

4 голосов
/ 19 февраля 2009

Это обман ... и он делает предположения об атрибуте src. Но вот оно!

<xsl:variable name="EmpPhotoUrl" select="substring-before(substring-after(@EmpPhoto, 'src=&quot;'), '&quot;')" />
1 голос
/ 19 февраля 2009

Учитывая, что значение @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" />
...