Строку, которая вызывает вышеописанные Вами макросы в указанном файле я нашел, а вот как и куда прописать quality='100' не могу понять (в интернете тоже не нашел решение). Вот код вывода этих макросов:
<xsl:template match="udata[@module = 'system' and (@method = 'makeThumbnail' or @method = 'makeThumbnailFull')]">
...не стал весь код указывать... - здесь параметры img...
</xsl:template>
Каким образом можно прописать сюда качество картинок?
P.S. Относительно того, что UMI сжимает картинки я от части был прав (ваше примечание). В отдельных случаях так и поступаем, т.е. загружаем фото через FTP.
Спасибо! Данную строку тоже нашел, прописал аналогично, как на Вашем примере. Правильно ли я понимаю, что "document(concat('udata://system/makeThumbnailFull/(.', $src, ')/', $width, '/', $height, '/void/0/1///100'))/udata" улучшает качество изображений по обоим макросам (makeThumbnail и makeThumbnailFull)?! Или для makeThumbnail надо сделать что-то похожее, например:
<xsl:apply-templates select="document(concat('udata://system/makeThumbnail/(.', $src, ')/', $width, '/', $height, '/void/0/1///100'))/udata">
Данный вопрос вытекает из того, что в категориях, где выводятся превью, незаметно, улучшилось ли качество или нет.
admin, Вы правы, сложности возникли при поиске вызова макроса makeThumbnail (c makeThumbnailFull вопрос закрыт). Ознакомившись документом по Вашей ссылке, я так понял, что макрос вызыватся так, как я уже писал ранее <xsl:apply-templates select="document(concat('udata://system/makeThumbnail/(.', $src, ')/', $width, '/', $height, '/void/0/1///100'))/udata">, т.е. аналогично предыдущему вызову. Но, после подобного вызова на сайте выводиться ошибка. Не хотел Вас грузить кодами, но вот содержимое thumbnails.xsl (нет там вызова макроса makeThumbnail):
<xsl:template name="catalog-thumbnail">
<xsl:param name="element-id" />
<xsl:param name="field-name" />
<xsl:param name="empty" />
<xsl:param name="width">auto</xsl:param>
<xsl:param name="height">auto</xsl:param>
<xsl:variable name="property" select="document(concat('upage://', $element-id, '.', $field-name))/udata/property" />
<xsl:call-template name="thumbnail">
<xsl:with-param name="width" select="$width" />
<xsl:with-param name="height" select="$height" />
<xsl:with-param name="element-id" select="$element-id" />
<xsl:with-param name="field-name" select="$field-name" />
<xsl:with-param name="empty" select="$empty" />
<xsl:with-param name="src">
<xsl:choose>
<xsl:when test="$property/value">
<xsl:value-of select="$property/value" />
</xsl:when>
<xsl:otherwise>&empty-photo;</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template name="thumbnail">
<xsl:param name="src" />
<xsl:param name="width">auto</xsl:param>
<xsl:param name="height">auto</xsl:param>
<xsl:param name="empty" />
<xsl:param name="element-id" />
<xsl:param name="field-name" />
<xsl:apply-templates select="document(concat('udata://system/makeThumbnailFull/(.', $src, ')/', $width, '/', $height, '/void/0/1///100'))/udata">
<xsl:with-param name="element-id" select="$element-id" />
<xsl:with-param name="field-name" select="$field-name" />
<xsl:with-param name="empty" select="$empty" />
</xsl:apply-templates>
</xsl:template>
<xsl:template match="udata[@module = 'system' and (@method = 'makeThumbnail' or @method = 'makeThumbnailFull')]">
<xsl:param name="element-id" />
<xsl:param name="field-name" />
<xsl:param name="empty" />
<xsl:variable name="altimg" select="document(concat('upage://', $element-id, '.', 'h1'))/udata/property/value" />
<xsl:variable name="titleimg" select="document(concat('upage://', $element-id, '.', 'h1'))/udata/property/value" />
<xsl:variable name="photo" select="document(concat('upage://', $element-id, '.', 'photo'))/udata/property/value" />
<img src="{src}" width="{width}" height="{height}">
<xsl:if test="$element-id and $field-name">
<xsl:attribute name="umi:element-id">
<xsl:value-of select="$element-id" />
</xsl:attribute>
<xsl:attribute name="umi:field-name">
<xsl:value-of select="$field-name" />
</xsl:attribute>
<xsl:attribute name="id">
<xsl:value-of select="string('zoom')" />
</xsl:attribute>
<xsl:attribute name="data-zoom-image">
<xsl:value-of select="$photo" />
</xsl:attribute>
</xsl:if>
<xsl:if test="$empty">
<xsl:attribute name="umi:empty">
<xsl:value-of select="$empty" />
</xsl:attribute>
</xsl:if>
<xsl:if test="$altimg and $titleimg">
<xsl:attribute name="alt">
<xsl:value-of select="$altimg" />
</xsl:attribute>
<xsl:attribute name="title">
<xsl:value-of select="$titleimg" />
</xsl:attribute>
</xsl:if>
</img>
</xsl:template>
Уважаемый admin, я не Ваше сообщение интерпретировал. Моё личное наблюдение в счет не берёте? Ели в наших с Вами шаблонах нет этого вызова, значит у большинства также.
Согласен, невнимательно прочитал ваше предыдущее сообщение
Теперь ответ на Ваш вопрос: меня интересует качество, как в объектах каталога, так и категориях с ними (цитата из моего первого сообщения: "как в категориях, так и в карточках товаров"). Макрос makeThumbnailFull улучшил немного качество, кажется в категориях. Понимаю, что один макрос создает просто миниатюру, а другой с возможностью её обрезки. Со вторым (makeThumbnailFull) вопрос вроде решили, а с первым (makeThumbnail) нет.
Раз мы говорим о странице конкретного товара и списка товаров , то смотрим шаблоны /teamplates/demodizzy/xslt/modules/catalog/object-view.xsl и /teamplates/demodizzy/xslt/modules/catalog/common.xsl соответственно. В них есть вызовы
<xsl:call-template name="catalog-thumbnail">
<xsl:with-param name="element-id" select="page/@id" />
<xsl:with-param name="empty">&empty-photo;</xsl:with-param>
<xsl:with-param name="field-name">photo</xsl:with-param>
<xsl:with-param name="width">281</xsl:with-param>
</xsl:call-template>
которые нас опят приводят к файлу /templates/demodizzy/xslt/library/thumbnails.xsl и к макросу makeThumbnailFull.
Получается, что если параметр качества подставлен верно, то картинки нужного качества и тогда вопрос уже чисто графический. То есть, возможно , для получения картинок лучшего качества нужно уже создавать превью руками. Хотя если вам не сложно приведите пример из картинок (оригинал, уменьшенная копия), может там что-то прояснится
Должен же быть выход, если makeThumbnail не вызывается, то как-то вызвать его и указать качество?
Вполне возможно, что у вас на сайте данный макрос вообще не используется. Так что если он в шаблонах не вызывается, то дело не в нем.