Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Добавление страницы в "Избранное"

Автор diii3Раздел Шаблоны XSLT

Ответов: 4
Просмотров: 3290
Последний ответ 13 Февраля 2013, 06:18:50
от admin
Добавление товаров в корзину с количеством товаров ajax

Автор tatfoxРаздел JS и AJAX

Ответов: 12
Просмотров: 6551
Последний ответ 24 Мая 2016, 17:00:10
от tatfox
Добавление поля "объем" в карточку товара, которое влияло бы на цену

Автор prukonРаздел Настройка системы и модулей

Ответов: 5
Просмотров: 2933
Последний ответ 06 Ноября 2016, 14:44:49
от aghigay
Добавление данных из объекта в форму "Заказ в 1 клик"

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 4
Просмотров: 4017
Последний ответ 11 Ноября 2014, 11:14:45
от Axiomateria
Магазин "Современный" - добавление заголовка к левому меню каталога

Автор manadsgnРаздел Шаблоны XSLT

Ответов: 4
Просмотров: 4066
Последний ответ 25 Июня 2012, 17:33:00
от manadsgn

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

*

KTI

  • **
  • 72
  • +1/-0
    • Просмотр профиля
суть в чем, есть вызов шаблона:
<a href="{.//property[@name ='photo']/value}">
<xsl:call-template name="catalog-thumbnail">
<xsl:with-param name="element-id" select="page/@id" />
<xsl:with-param name="field-name">photo</xsl:with-param>
<xsl:with-param name="width">200</xsl:with-param>
</xsl:call-template>
</a>
который возвращает тег <img>, вопрос в том как в него (в этот тег) вставить атрибут alt?
менять штатный шаблон thumbnails.xsl не хотелось-бы

*

Rodogor

  • ***
  • 189
  • +24/-0
    • Просмотр профиля
Re:Добавление атрибута ALT в шаблон catalog-thumbnail
« Ответ #1 : 11 Октября 2012, 09:44:14 »
Если не хотите менять штатный, скопируйте его полностью, подключите (или прям там же оставьте, изменив, а точнее добавив только mode) и сделайте изменения.
К вызову добавьте
<xsl:with-param name="alt">alt</xsl:with-param>

А в шаблоне <xsl:template name="thumbnail"> вызов макроса makeThumbnailFull так же разветвите через mode="my_thumb"

Вызов этого макроса так же нужно снабдить 
<xsl:with-param name="alt">alt</xsl:with-param>

Ну и соответственно в my_thumb сделайте <xsl:param name="alt" />

 <xsl:attribute name="alt"><xsl:value-of select="$alt"/>         </xsl:attribute> внутри img

*

KTI

  • **
  • 72
  • +1/-0
    • Просмотр профиля
Re:Добавление атрибута ALT в шаблон catalog-thumbnail
« Ответ #2 : 11 Октября 2012, 10:34:20 »
Примерно так я и представлял, просто в штатном thumbnails.xsl, шаблон name="catalog-thumbnail" вызывает просто name="thumbnail" а тот в свою очередь вызывает еще шаблон.
Когда и где его делить?  :-\

А нет возможности вставить атрибут в тег, которые уже создался?

*

Rodogor

  • ***
  • 189
  • +24/-0
    • Просмотр профиля
Re:Добавление атрибута ALT в шаблон catalog-thumbnail
« Ответ #3 : 11 Октября 2012, 11:47:19 »
<xsl:template name="catalog-thumbnail"> .......
если не хочешь вносить изменения в оригинальнео, то полностью копируешь и меняешь имя catalog-thumbnail-MY

Потом так же с thumbnail.

На сколько я понимаю, то возможность добавить атрибут в созданный тег можно реализовать таким образом. К примеру, когда создаём thumb картинке припишем id="thumb_111", где 111 - id картинки/объекта. Далее генерируем на jquery $('#thumb_111").attr("alt","ololo");

*

KTI

  • **
  • 72
  • +1/-0
    • Просмотр профиля
Re:Добавление атрибута ALT в шаблон catalog-thumbnail
« Ответ #4 : 11 Октября 2012, 12:10:42 »
ну во первых, чтобы добавить id нужно тоже шаблон менять, т.к. он выдает уже готовый <img>, замкнутый круг
во вторых не хотелось бы приплетать jquery для такой простой задачи.
Наверно придется штатный шаблон менять. Он же при обновлении не перезатрется?
Только тогда не вижу смысла его (шаблон) разделять, просто добавлю обработку параметра alt, если есть (в параметрах) то добавляем, если нет, то нет.
Народ, кто как добавляет alt к превьюшкам, через вызов шаблона thumbnail?
Или по другому спрошу: кто как делает превьюшки?
Или как с помощью xslt добавить атрибут к созданному тегу?

*

Rodogor

  • ***
  • 189
  • +24/-0
    • Просмотр профиля
Re:Добавление атрибута ALT в шаблон catalog-thumbnail
« Ответ #5 : 11 Октября 2012, 13:39:19 »
Я действительно не подумал, что что бы id прописать надо менять. Но ничто не запрещает задать id или класс ссылки, в которую помещается превью, а там уже через find('img') найти

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Добавление атрибута ALT в шаблон catalog-thumbnail
« Ответ #6 : 16 Октября 2012, 12:21:16 »
jQuery все таки мешать сюда без надобности не стоит. Хотя для некоторых случаев удобно.

А насчет alt и прочих параметров, все как и выше описано. Создал свой вариант templates для вывода картинок, которому передаются все необходимые параметры, в том чисте и alt

*

KTI

  • **
  • 72
  • +1/-0
    • Просмотр профиля
Re:Добавление атрибута ALT в шаблон catalog-thumbnail
« Ответ #7 : 17 Октября 2012, 09:55:58 »
Я так и сделал: изменил шаблон thumbnails.xsl - там ничего сложного нет
Вопрос все-таки открытый: возможно-ли после создания элемента добавить к нему атрибут или значение? мне кажется что средствами xslt никак..

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Добавление атрибута ALT в шаблон catalog-thumbnail
« Ответ #8 : 17 Октября 2012, 10:36:32 »
средствами xslt легко добавить атрибут, но делается это так

<input type="text" name="some_name" value="дефолтное значение" >
<xsl:attribute name="value">новое значение</xsl:attribute>
</input>

то есть инструкция по добавлению атрибута должна быть между открывающимся и закрывающимся тегом, а img возвращается уже закрытым тегом вида
<img src="..." width="..." height="..." />