Sitecore XSLHelper.fld Метод не работает должным образом

У меня проблемы с методом XSLHelper.fld. У меня есть очень простой XSLT-файл, который я пытаюсь получить доступ к дополнительным значениям, которые находятся внутри моего элемента изображения Sitecore.

Пример кода:

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
  xmlns:sc="http://www.sitecore.net/sc" 
  xmlns:dot="http://www.sitecore.net/dot"
  exclude-result-prefixes="dot sc">

<!-- output directives -->
<xsl:output method="html" indent="no" encoding="UTF-8" />

<!-- parameters -->
<xsl:param name="lang" select="'en'"/>
<xsl:param name="id" select="''"/>
<xsl:param name="sc_item"/>
<xsl:param name="sc_currentitem"/>

<!-- variables -->
<!-- Uncomment one of the following lines if you need a "home" variable in you code -->
<!--<xsl:variable name="home" select="sc:item('/sitecore/content/home',.)" />-->
<!--<xsl:variable name="home" select="/*/item[@key='content']/item[@key='home']" />-->
<!--<xsl:variable name="home" select="$sc_currentitem/ancestor-or-self::item[@template='site root']" />-->

<!-- entry point -->
<xsl:template match="*">
  <xsl:apply-templates select="$sc_item" mode="main"/>
</xsl:template>

<!--==============================================================-->
<!-- main                                                         -->
<!--==============================================================-->  
<xsl:template match="*" mode="main">

  TEST BACKGROUND IMAGE
  <br/>
  ALT: <br/>
  <xsl:value-of select="sc:fld('background',.,'alt')"/>
  <br/>
  SRC: <br/>
  <xsl:value-of select="sc:fld('background',.,'src')"/>
  <br/>
  Field SRC: <br/>
  <xsl:value-of select="sc:field('background',.,'src')"/>


</xsl:template>

</xsl:stylesheet>

Когда я тестирую следующий код, результаты странные, как видно из следующего скриншота:

Тестирование метода XSLHeler.fld

Вы можете ясно видеть, что поле alt имеет значение, а поле src пустое. Так что я определенно имею доступ к своему элементу изображения Sitecore, но не могу получить доступ к полю src.....

Может кто-нибудь пролить свет на то, почему поле src пустое?

С Уважением,

Comic Coder

1 ответ

Решение

Как я уже говорил в вашем другом вопросе, в исходном значении полей изображения больше нет атрибута src. Атрибут alt существует, если вы измените альтернативный текст в свойствах поля изображения, или он обратится к альт-тексту элемента изображения в библиотеке мультимедиа.

Метод sc:field использует средство визуализации поля для вывода полного <img> тег. Предполагается, что третий параметр этого метода предназначен для дополнительных параметров, таких как ширина и высота, или для дополнительных атрибутов. Он должен быть отформатирован как строка запроса (например, width=150&height=100). Вероятно, это просто игнорирование src значение, которое вы передаете, потому что оно недействительно.

Другие вопросы по тегам