Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Шаблон отображения списка категорий (магазин "Современный")

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

Ответов: 2
Просмотров: 3087
Последний ответ 03 Июля 2012, 15:22:23
от manadsgn
DOCTYPE - если нужен <!DOCTYPE html>

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

Ответов: 1
Просмотров: 2389
Последний ответ 03 Июля 2012, 11:11:43
от manadsgn
Шаблон для вывода новостей с 3 разными блоками

Автор koroganРаздел Шаблоны TPL

Ответов: 3
Просмотров: 3325
Последний ответ 01 Октября 2011, 03:05:48
от admin
Добавление атрибута ALT в шаблон catalog-thumbnail

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

Ответов: 8
Просмотров: 6200
Последний ответ 17 Октября 2012, 10:36:32
от admin
Шаблон вывода редактирования типа данных

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

Ответов: 2
Просмотров: 2421
Последний ответ 29 Мая 2013, 21:28:33
от crazygeorgio

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

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #30 : 11 Февраля 2016, 13:18:33 »
Нижнее меню все равно берет стили верхнего Т___Т

*

crazygeorgio

  • ***
  • 140
  • +7/-0
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #31 : 11 Февраля 2016, 13:20:22 »
1. я так делаю
<xsl:if text="result/page/@is-default">слайдер</xsl:if>

2. можно по позиции в списке, можно по id, смысл один и тот же
<li>
  <xsl:choose>
    <xsl:when test="position() = 1"><xsl:attribute name="class">item-1</xsl:attribute></xsl:when>
    <xsl:when test="position() = 2"><xsl:attribute name="class">item-2</xsl:attribute></xsl:when>
    <xsl:otherwise><xsl:attribute name="class">item</xsl:attribute></xsl:otherwise>
  </xsl:choose>
...
</li>

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #32 : 11 Февраля 2016, 13:28:34 »
@is-default - что этим вызывается?

и для чего используется otherwise?

*

crazygeorgio

  • ***
  • 140
  • +7/-0
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #33 : 11 Февраля 2016, 13:33:27 »
блин, что может вызываться атрибутом узла??? смотрите http://www.umi-cms.ru/.xml

Цитировать
и для чего используется otherwise?
http://xsltdev.ru/xslt/xsl-choose/


*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #34 : 11 Февраля 2016, 13:53:27 »
Когда я поместила слайдер в шаблоне в
<xsl:if text="result/page/@is-default">... </xsl:if>

Сайт выдал вот эту ошибку:
Цитировать
Warning: XSLTProcessor::importStylesheet(): compilation error:

*

crazygeorgio

  • ***
  • 140
  • +7/-0
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #35 : 11 Февраля 2016, 14:00:16 »
<xsl:if teSt="result/page/@is-default">... </xsl:if>

http://xsltdev.ru/xslt/xsl-if/

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #36 : 11 Февраля 2016, 14:41:46 »
@_@ понятно вроде
а этот метод применим ко всем блокам?
Например, если у меня для главной странице один класс меню, а для внутренних другой? И на некоторых страницах нету этого меню.

И вот маленький вопрос. Я сделала на основе модуля новостей акции, и мне надо подцепить фото, его уже я загрузила, оно в поле anons_pic, я поле указала в extProps, но картинка все равно не грузится
Цитировать
<xsl:if test=".//property[@name='anons_pic']/value">
   <img src=".//property[@name='anons_pic']/value" alt="" />
</xsl:if>

*

crazygeorgio

  • ***
  • 140
  • +7/-0
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #37 : 11 Февраля 2016, 15:11:40 »
попробуйте extended//property[@name='anons_pic']/value

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #38 : 11 Февраля 2016, 15:24:12 »
Не помогает,  картинка есть и она загружена это точно.

*

crazygeorgio

  • ***
  • 140
  • +7/-0
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #39 : 11 Февраля 2016, 15:56:36 »
вы посмотрите как делается в стандартном шаблоне... что за src=".//property[@name='anons_pic']/value"??? что у вас выводится в итоге в html, немного анализа-то можно провести...

1. не src=".//property[@name='anons_pic']/value", а src="{.//property[@name='anons_pic']/value}"
2. .//property ищет дочерний узел любой вложенности относительно текущего с которым работаете, поэтому смотреть нужно что откуда берется

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #40 : 11 Февраля 2016, 16:34:19 »
Ааа...
Как я не обратила внимание на это...>.<

А вот вопрос, сделала меню, вроде норм, решила подцепить всплывающее меню, я так поняла надо создать еще одно меню и к нему обратиться из меню основного, получилось у меня так?
	<xsl:template match="udata[@module = 'menu']" mode="info-pages-head">
<nav class="menu">
<ul class="blockeasing">
<xsl:apply-templates select="item" mode="info-pages-head" />
</ul>
</nav>
</xsl:template>

<xsl:template match="udata[@module = 'menu']/item" mode="info-pages-head">
<li>
<a href="{@link}"><xsl:value-of select="." /></a>
<div class="menu__drop">
<div class="menu__wrap">
<ul>
<xsl:apply-templates select="document(concat('udata://menu/draw/1273', @id))/udata[items/item]" />
</ul>
</div>
</div>
</li>
</xsl:template>

Теперь у меня есть всплывающий фон меню, но проблема в том, что у всех пунктов меню... Т_т  и как вызвать ссылки ко второму меню?

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #41 : 11 Февраля 2016, 17:03:20 »
Я поняла как вывести ссылки, точнее как вывести текст подменю.
Но вот как вывести ссылки осталась.
т.е. если пишу код так, то два пункта из подменю идут единой ссылкой (
	<xsl:template match="udata[@module = 'menu']/item" mode="info-pages-head">
<li>
<a href="{@link}"><xsl:value-of select="." /></a>
<div class="menu__drop">
<div class="menu__wrap">
<ul>
<li><a href="{@link}"><xsl:apply-templates select="document(concat('udata://content/menu/0/2/', @id))/udata[items/item]" /></a></li>
</ul>
</div>
</div>
</li>
</xsl:template>


И чтобы всплывающее меню было только у нижнего меню.. только заметила...


Кстати, а если у меня две менюшки на сайте, как вывести вторую?><

P.S.: черт... и плашка от всплывающего меню тоже у всех пунктов появляется (
« Последнее редактирование: 11 Февраля 2016, 17:09:57 от Sumrakrnd »

*

crazygeorgio

  • ***
  • 140
  • +7/-0
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #42 : 12 Февраля 2016, 16:32:34 »
да не, этот код дичь какая-то... Вообще лучше выводить в меню все дерево, если нет большой вложенности, на мой взгляд! тогда по идее должно быть меньше запросов и быстрее отрабатывать, если же отдельными ветками грузить, то так примерно

	<xsl:template match="udata[@module = 'menu']/item" mode="info-pages-head">
<li>
<a href="{@link}"><xsl:value-of select="." /></a>
                        <xsl:apply-templates select="document(concat('udata://content/menu/0/2/', @id))/udata" mode="drop" />
</li>
</xsl:template>

        <xsl:template match="udata" mode="drop" />

<xsl:template match="udata[items]" mode="drop">
<div class="menu__drop">
       <div class="menu__wrap">
    <ul>
  <xsl:apply-templates select="items/item" mode="drop" />
    </ul>
       </div>
</div>
</xsl:template>

<xsl:template match="item" mode="drop">
<li><a href="{@link}"><xsl:value-of select="@name" /></a></li>
</xsl:template>

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #43 : 12 Февраля 2016, 16:48:53 »
ооо... даже на глаз видно, что работает быстрее о.О
Но блин в футере выпадающее меню висит (


Я вот решила тему разбить все-таки, так как менюшки у меня какое-то проблемные вышли >< :

http://umihelp.ru/forum/index.php/topic,2113.0.html

*

crazygeorgio

  • ***
  • 140
  • +7/-0
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #44 : 12 Февраля 2016, 16:53:00 »
нет, так как раз не быстрее, так как для каждой ветки отдельный запрос udata://content/menu/0/2/xxx