Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

0 Пользователей и 1 Гость просматривают эту тему.

*

shoto

  • ***
  • 235
  • +4/-0
    • Просмотр профиля
Вывод атрибутов у IMG
« : 02 Мая 2012, 13:55:12 »
Добрый день.
вывести атрибут например title для <a href> получается с помощью:
<xsl:attribute name="title"><xsl:value-of select="name"/></xsl:attribute>

а вот как вывести alt для картинки, особенно если они выводятся вот подобным образом:
<img src="{$logo//property[@name='logo']/value}" width="100"/>
и
<xsl:call-template name="catalog-thumbnail">
<xsl:with-param name="element-id" select="$document-page-id" />
<xsl:with-param name="field-name"><xsl:value-of select="@name"/></xsl:with-param>
        <xsl:with-param name="empty">empty-photo;</xsl:with-param>
<xsl:with-param name="width">150</xsl:with-param>
</xsl:call-template>

*

shoto

  • ***
  • 235
  • +4/-0
    • Просмотр профиля
Re:Вывод атрибутов у IMG
« Ответ #1 : 02 Мая 2012, 14:07:47 »
так, с первым вариантом получилось вывести alt, если прописать так:
<img src="{$logo//property[@name='logo']/value}" width="100">
<xsl:attribute name="alt"><xsl:value-of select="name"/></xsl:attribute>
</img>

но вот со вторым вариантом... не понимаю.
хотя и нашла вроде как шаблон вывода /library/thumbnails.xsl

*

sergeron

  • **
  • 59
  • +2/-0
    • Просмотр профиля
Re:Вывод атрибутов у IMG
« Ответ #2 : 02 Мая 2012, 15:39:52 »
а как вы заполняете этот alt к изображению? делаете доп поле в шаблоне данных для типа Фотография?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Вывод атрибутов у IMG
« Ответ #3 : 02 Мая 2012, 17:39:07 »
в первом случае, что мешает вам сделать так
<img src="{$logo//property[@name='logo']/value}" width="100" alt="{name}" />

а во втором к сожалению alt никак не предусмотрен для передачи в шаблон  с name="catalog-thumbnail", так что можете сделать с моего урезанного варианта
<xsl:variable name="src">
<xsl:choose>
<xsl:when test="$logo//property[@name='logo']/value">
<xsl:value-of select="$logo//property[@name='logo']/value" />
</xsl:when>
<xsl:otherwise>&empty-photo;</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="thumbsrc" select="document(concat('udata://system/makeThumbnailFull/(.',$src,')/100/100/void/0/1/'))/udata/src" />
<img src="{$thumbsrc}" alt="{$photo-name}"/>

или для тех кто использует лайтбоксы (на примере prettyphoto)
<xsl:variable name="src">
<xsl:choose>
<xsl:when test="$logo//property[@name='logo']/value">
<xsl:value-of select="$logo//property[@name='logo']/value" />
</xsl:when>
<xsl:otherwise>&empty-photo;</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="thumbsrc" select="document(concat('udata://system/makeThumbnailFull/(.',$src,')/100/100/void/0/1/'))/udata/src" />
<a href="{$src}" >
<img src="{$thumbsrc}" alt="{$photo-name}"/>
</a>

« Последнее редактирование: 02 Мая 2012, 17:42:06 от admin »

*

andreych

  • *
  • 6
  • +3/-0
    • Просмотр профиля
Re:Вывод атрибутов у IMG
« Ответ #4 : 03 Мая 2012, 00:47:10 »
Если хочется автоматизированно заполнить alt, к примеру для изображений товаров каталога, то достаточно в шаблон catalog-thumbnail дописать к тегу изображения следующий код:
alt="{document(concat('upage://', $element-id))/udata/page/name}"
Так я получаю название товара в альт.

*

shoto

  • ***
  • 235
  • +4/-0
    • Просмотр профиля
Re:Вывод атрибутов у IMG
« Ответ #5 : 03 Мая 2012, 08:46:24 »
в первом случае, что мешает вам сделать так
<img src="{$logo//property[@name='logo']/value}" width="100" alt="{name}" />

:) мешало сделать так то, что я перед name пыталась ставить либо $, либо @, и естественно ничего не получалось:) теперь получилось. спасибо.