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

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

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

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

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

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

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

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

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

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

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

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

*

Prus

  • *
  • 46
  • +1/-0
    • Просмотр профиля
Добавление фотоальбома в каталог
« : 31 Января 2012, 16:05:40 »
Делаю сейчас первый сайт на xslt. До этого делал на tpl.

Так как времени мало на разработку. То я переделываю шаблон Современный и за одно разбираюсь.

Сейчас мне нужно вместо изображения товара в странице полного описания товара, вывести несколько изображений и сделать слайдшоу.

Подключил в шаблонах данных поле фотоальбом с типом "ссылка на дерево". Теперь хочу понять как выводить эти изображения в описания товара и дальше с ними манипулировать.

В tpl это было довольно легко. Как это делается на xslt?

Спасибо.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Добавление фотоальбома в каталог
« Ответ #1 : 01 Февраля 2012, 17:44:58 »
точно так же как и в tpl.

Опиши? каким способом ты выводил фотоальбом в tpl и что не получается адаптировать при использовании xslt?

*

Prus

  • *
  • 46
  • +1/-0
    • Просмотр профиля
Re:Добавление фотоальбома в каталог
« Ответ #2 : 01 Февраля 2012, 19:05:22 »
В тпл делал вывод типа такого:

$FORMS['view_block'] = <<<END
% data getProperty(% id %,'fotka','my_template2',1) %
/tpls/data/my_template2.tpl:
$FORMS['symlink_block'] = <<<END
% items %
END;
$FORMS['symlink_item'] = <<<END
 % data getProperty(% id %,'photo','preview_image') %!
 END;

это не совсем-то, конечно. Но вывод делает по дереву.

Смотрю как сделал в шаблоне современный вывод похожих товаров.


   <xsl:apply-templates select=".//property[@name = '&property-recommended;']" />


но не могу понять, что такое property-recommended, потому что поле называется recommended_items.

Я готов согласиться с мнением, что я туповат) Главное хочу понять, как его сделать.

Еще такой вопрос. Может я сделал не привильно. В ссылке на дерево, я указал просто альбом, может быть нужно выбирать все фотографии? Но тогда это не очень удобно, если фотографий будет 100.

Может у кого-то есть просто готовый шаблон? Вроде тема должна быть популярна, обычно в инет-магазинах выводятся несколько фотографии товара, а не одна.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Добавление фотоальбома в каталог
« Ответ #3 : 01 Февраля 2012, 19:23:30 »
на данном форуме нет "туповатых", так что с этим соглашаться не стоит, есть вопросы на которые надо найти ответы, и на многие из них ответы уже либо найдены либо сам задающий может самостоятельно решить вопрос.

Теперь по поводу того, как ты решаешь вопрос с выводом значения поля "ссылка на дерево".
Направление "подсмотреть как это делается с рекомендованными товарами" верное, а &property-recommended; - это языковая сущность. Про них подробнее можешь посмотреть в интернете по запросу "xslt сущности".

Если кратко, это что-то вроде языковой переменной, и значение которое подставиться вместо  &property-recommended; ты можешь найти в файле /xsltTpls/i18n/constants.ru.dtd поискав строчку property-recommended, дальше думаю будет проще, но если что не получиться пиши подскажем

*

Prus

  • *
  • 46
  • +1/-0
    • Просмотр профиля
Re:Добавление фотоальбома в каталог
« Ответ #4 : 01 Февраля 2012, 20:55:28 »
круто
я вместо фотоальбома, добавил фотографии.
ввел <xsl:apply-templates select=".//property[@name = 'fotoalbom']" />
получил все значения все значения, то есть названия фотографий.

А как получить их путь?

как я понимаю путь следующий такой примерно
<xsl:apply-templates select=".//property[@name = 'fotoalbom']" mode="slideshow" />

.....

<xsl:template match="fotoalbom" mode="slideshow">
      ......
   </xsl:template>

Правильно?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Добавление фотоальбома в каталог
« Ответ #5 : 01 Февраля 2012, 21:16:07 »
можещь для верности глянуть как выглядит xml с которым тебе придеться работать написав вот такой код

<textarea><xsl:copy-of select=".//property[@name = 'fotoalbom']" /></textarea>

как ты правильно написал делаем выборку всех узлов property с именем fotoalbom

<xsl:apply-templates select=".//property[@name = 'fotoalbom']" mode="slideshow" />

пишем шаблон для вывода результатов:
<xsl:template match="property[@name = 'fotoalbom']" mode="slideshow">
      ...какой-то html код
</xsl:template>

*

Prus

  • *
  • 46
  • +1/-0
    • Просмотр профиля
Re:Добавление фотоальбома в каталог
« Ответ #6 : 01 Февраля 2012, 22:56:39 »
 это я понял))

Я хочу понять как адреса фотографий вытащить от туда)
Как оформить я понимаю.

Могу предположить следующие:
<xsl:template match="property[@name = 'fotoalbom']" mode="slideshow">
    <ul>
<xsl:apply-templates select="items/item" mode="photo" />
</ul>
</xsl:template>

<xsl:template match="item" mode="photo">
    <li>
вот что тут писать? =)
</li>
</xsl:template>

*

BaceH

  • ***
  • 141
  • +21/-0
    • Просмотр профиля
Re:Добавление фотоальбома в каталог
« Ответ #7 : 01 Февраля 2012, 23:23:17 »
http://help-dev.umi-cms.ru/
XSLT-шаблонизатор UMI.CMS
все данные передаются в xml формате, в главе описано как получить и как просмотреть эти данные.

*

Prus

  • *
  • 46
  • +1/-0
    • Просмотр профиля
Re:Добавление фотоальбома в каталог
« Ответ #8 : 01 Февраля 2012, 23:42:57 »
Спасибо за ссылку. Я ее знаю. Если бы я это понимал, я бы не спрашивал.
В xml файле есть имена файлов, но не путь к ним. Как вывести имена я понимаю.

*

BaceH

  • ***
  • 141
  • +21/-0
    • Просмотр профиля
Re:Добавление фотоальбома в каталог
« Ответ #9 : 02 Февраля 2012, 00:03:03 »
было бы немного быстрее если бы вы показывали что вы видите.
если есть имя есть и id, если есть id значит можно получить данные upage (см. сылку) по id, а если есть данные о странице есть и путь :)

*

Prus

  • *
  • 46
  • +1/-0
    • Просмотр профиля
Re:Добавление фотоальбома в каталог
« Ответ #10 : 02 Февраля 2012, 02:13:47 »
Вижу вот:

<property id="396" name="fotoalbom" type="symlink">
<title>Фотоальбом квартиры</title>
<value>
<page id="112" parentId="111" link="/kvartiry/tel_aviv/yaffo_deref_28/179420--32737306-m750x740/" is-active="1" object-id="695" type-id="63" type-guid="photoalbum-photo" update-time="1327903090" alt-name="179420--32737306-m750x740" xlink:href="upage://112">
<basetype id="40" module="photoalbum" method="photo">Фотография</basetype>
<name>179420--32737306-m750x740</name>
</page>
<page id="113" parentId="111" link="/kvartiry/tel_aviv/yaffo_deref_28/179420--32737309-m750x740/" is-active="1" object-id="696" type-id="63" type-guid="photoalbum-photo" update-time="1327903090" alt-name="179420--32737309-m750x740" xlink:href="upage://113">
<basetype id="40" module="photoalbum" method="photo">Фотография</basetype>
<name>179420--32737309-m750x740</name>
</page>
<page id="114" parentId="111" link="/kvartiry/tel_aviv/yaffo_deref_28/179420--45391227-m750x740-uf8976/" is-active="1" object-id="697" type-id="63" type-guid="photoalbum-photo" update-time="1327903090" alt-name="179420--45391227-m750x740-uf8976" xlink:href="upage://114">
<basetype id="40" module="photoalbum" method="photo">Фотография</basetype>
<name>179420--45391227-m750x740-uf8976</name>
</page>
<page id="115" parentId="111" link="/kvartiry/tel_aviv/yaffo_deref_28/179420--45391232-m750x740-u3c255/" is-active="1" object-id="698" type-id="63" type-guid="photoalbum-photo" update-time="1327903090" alt-name="179420--45391232-m750x740-u3c255" xlink:href="upage://115">
<basetype id="40" module="photoalbum" method="photo">Фотография</basetype>
<name>179420--45391232-m750x740-u3c255</name>
</page>
<page id="116" parentId="111" link="/kvartiry/tel_aviv/yaffo_deref_28/179420--45391242-m750x740-ubb1bf/" is-active="1" object-id="699" type-id="63" type-guid="photoalbum-photo" update-time="1327903090" alt-name="179420--45391242-m750x740-ubb1bf" xlink:href="upage://116">
<basetype id="40" module="photoalbum" method="photo">Фотография</basetype>
<name>179420--45391242-m750x740-ubb1bf</name>
</page>
</value>
</property>

*

Prus

  • *
  • 46
  • +1/-0
    • Просмотр профиля
Re:Добавление фотоальбома в каталог
« Ответ #11 : 02 Февраля 2012, 02:14:50 »
Это я вставил в ссылку на дерево фотографии.
Хотелось бы понять если я вставлю альбом.

Хотя сейчас, я буду рад любому варианту) Потом сам дойду)

*

Prus

  • *
  • 46
  • +1/-0
    • Просмотр профиля
Re:Добавление фотоальбома в каталог
« Ответ #12 : 02 Февраля 2012, 02:15:52 »
Не знаю важно это или нет. Получил эти данные таким способом
http://beinisrael.com/upage/108

*

NOIRMAN

  • *****
  • 101
  • +16/-1
    • Просмотр профиля
Re:Добавление фотоальбома в каталог
« Ответ #13 : 02 Февраля 2012, 02:46:57 »
Ну может быть попробовать поиграть с property с таким очевидным именем как link ?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Добавление фотоальбома в каталог
« Ответ #14 : 02 Февраля 2012, 04:33:21 »
вот кусок шаблона для поля типа "ссылка на дерево" с именем "dopolnitelnye_fotografii", в котором выбирается фотоальбом.

там где нужно вывести фото прикрепленного фотоальбома пишем:
<xsl:apply-templates select="document(concat('udata://photoalbum/album/', //property[@name = 'dopolnitelnye_fotografii']/value/page/@id,'/void/1000'))/udata" mode="tovar_photo_list"/>

и добавляем шаблоны для вывода фотоальбома
        
<!-- tovar_photo_list -->
<xsl:template match="udata[@module = 'photoalbum'][@method = 'album']" mode="tovar_photo_list"/>

<xsl:template match="udata[@module = 'photoalbum'][@method = 'album'][total]" mode="tovar_photo_list">
<xsl:apply-templates select="items/item" mode="tovar_photo_list" />
<xsl:apply-templates select="total" />
</xsl:template>

<xsl:template match="item" mode="tovar_photo_list">
<div class="media ">
<xsl:call-template name="catalog-thumbnail-popup">
<xsl:with-param name="element-id" select="@id" />
<xsl:with-param name="field-name">photo</xsl:with-param>
<xsl:with-param name="width">256</xsl:with-param>
</xsl:call-template>
</div>

</xsl:template>