Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Вывод количества объектов в категории. XSLT

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

Ответов: 6
Просмотров: 4752
Последний ответ 18 Октября 2014, 17:39:24
от idu.kuru
Сортировка по алфавиту в xslt

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

Ответов: 2
Просмотров: 4255
Последний ответ 14 Января 2012, 17:25:36
от admin
Не выводятся все теги в xslt

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

Ответов: 2
Просмотров: 3880
Последний ответ 03 Июня 2014, 13:52:04
от goodprofy
webforms & XSLT & модальное окно

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

Ответов: 8
Просмотров: 8612
Последний ответ 13 Июня 2011, 00:41:56
от talanter
Как вывести itemprop="position" content="" в XSLT?

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

Ответов: 0
Просмотров: 1583
Последний ответ 15 Ноября 2018, 09:30:06
от makarov2979

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

*

grave

  • *****
  • 32
  • +4/-0
    • Просмотр профиля
    • Студия Webartika
Re:Меню из подстаниц на XSLT
« Ответ #15 : 04 Августа 2011, 09:15:43 »
это мое сообщение было, и я сам его удалил.. так как заданный вопрос оно не решало )

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Меню из подстаниц на XSLT
« Ответ #16 : 04 Августа 2011, 09:30:30 »
ок, тогда я его тоже удаляю, я уж подумал что вместе со спамом кого настоящего репрессировал )

*

PHOENIX-75

  • *
  • 22
  • +3/-0
    • Просмотр профиля
Re:Меню из подстаниц на XSLT
« Ответ #17 : 04 Августа 2011, 09:54:33 »
насчет того что выводит вам шаблон, он все правильно выводит

перечитал еще раз всю переписку и понял что видимо не так вас понял.
у вас нет каталога, но вы хотите видеть слева(предположим слева или справа, не суть) список.... товаров из какого-то дочернего псевдо каталога, то есть

у вас есть:
псевдокаталог1
--псевдокаталог1.1
----псевдотовар1.1.1
----псевдотовар1.1.2
--псевдокаталог1.2
----псевдотовар1.2.1
----псевдотовар1.2.2

на каких страницах какие ссылки вы хотите видеть?
Да, именно так. Как такового модуля каталога нет (если бы он был, то всё решалось бы наверное проще, но увы). И именно с использованием псевдокаталога и была идея решить сей вопрос. В идеале хочу дойти до того, чтоб выводить на странице псевдокаталога ссылки на товары. Т.е если взять за пример уже то что привели Вы, то на выходе получить следующее. Вывести на странице "Псевдокаталог1.1" ссылки на "Псевдотовар1.1.1", "Псевдотовар1.1.2", а также эти же ссылки выводить на страницах с описанием самих товаров.
Т.е. на странице "Псевдотовар1.1.1" у нас есть ссылки на "Псевдотовар1.1.1", "Псевдотовар1.1.2".
Аналогично и с "Псевдокаталогом1.2" , там выводить ссылки на "Псевдотовар1.2.1", "Псевдотовар1.2.2".

А вообще довести решение до того, что если у пседвдокаталога есть псевдотовар, то формировать и выводить меню из псевдотовара. Причем не важно какой уровень вложенности псевдокаталог у нас будет.

Фактически мы должны сформировать меню только для страниц, а возможно даже и из страниц которые имеют определенный тип данных (который фактически мы можем сами задать благодаря модулю Шаблоны Данных). Или более детально даже так.
Мы формируем псевдокаталог и доходим в итоге до какого-то уровня вложенности. Когда мы заносим страницы псевдокаталога на сайте, мы знаем, где у нас будет последний уровень псевдокаталога внутри которого уже будут псевдотовары. Для этого последнего уровня псевдокаталога мы можем присвоить определенный тип данных, и вот как раз от него и начинаем строить наше меню из псевдотоваров. И в итоге вывести его как на странице последнего уровня псевдокаталога, так и на страницах с псевдотоваром.

Уфф, многа букв, но надеюсь не зря столько понаписал.

*

PHOENIX-75

  • *
  • 22
  • +3/-0
    • Просмотр профиля
Re:Меню из подстаниц на XSLT
« Ответ #18 : 10 Августа 2011, 12:30:48 »
Спасибо всем. Вопрос более не актуален. Не найдя решения просто воспользовался подстановкой макроса %content menu()% в область контента с необходимыми параметрами. XSLT в моем случае прошёл лесом.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Меню из подстаниц на XSLT
« Ответ #19 : 10 Августа 2011, 13:34:34 »
о боже, мой ответ потерся!!!! а я то думал что все заработало и не заглядывал в эту тему(

*

grave

  • *****
  • 32
  • +4/-0
    • Просмотр профиля
    • Студия Webartika
Re:Меню из подстаниц на XSLT
« Ответ #20 : 10 Августа 2011, 21:20:40 »
о боже, мой ответ потерся!!!! а я то думал что все заработало и не заглядывал в эту тему(
ну дык продублируй )

*

PHOENIX-75

  • *
  • 22
  • +3/-0
    • Просмотр профиля
Re:Меню из подстаниц на XSLT
« Ответ #21 : 21 Августа 2011, 17:23:06 »
о боже, мой ответ потерся!!!! а я то думал что все заработало и не заглядывал в эту тему(
ну дык продублируй )

Ну в общем-то можно ничего и не дублировать, хотя если будет ещё одно решение, то только плюсом в копилку как и что можно обыграть.
А вообще как вариант можно сделать вот что. Придумал работая над очередным сайтом. В системе в версии Start для реализации каталога или чего-то другого что требует реализации вложенных категорий можно использовать модуль "Новости". Создать в шаблоне данных новый тип данных (вернее подтип для "Лента новостей"), и для этого подтипа прописать свои шаблоны. И как говориться в путь. Можно в итоге вывести и меню для необходимого раздела, и организовать постраничную разбивку и.т.д.
В общем всё реализуется без проблем.

*

pro2type.ru

  • *
  • 3
  • +0/-0
    • Просмотр профиля
Re:Меню из подстаниц на XSLT
« Ответ #22 : 01 Декабря 2011, 14:11:30 »
Решение проблемы с Подменю...
Просто необходимо сделать проверку, если мы находимся в  Папке, то выводим подразделы, а если находимся в самом подразделе, то выводим все подразделы папки нашего подраздела в котором находимся.
Вот и все...

Папка
- Подраздел 1
- Подраздел 2
Папка 2
- Подраздел 1
- Подраздел 2

Это вставляем где надо выводить подменю:
<!-- Дополнительное меню -->
<xsl:for-each select="/result">
<xsl:choose>
<xsl:when test="/result/page/@parentId='0'">
<xsl:apply-templates select="document(concat('udata://content/menu/0/1/',/result/@pageId))/udata" mode="menu"/>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="document(concat('udata://content/menu/0/1/',/result/page/@parentId))/udata" mode="menu"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<!-- #Конец доп. меню -->

И сам шаблон подменю:
<!-- Menu -->
<xsl:template match="udata[@module = 'content'][@method = 'menu']" mode="menu">
<ul umi:add-method="popup"
umi:sortable="sortable"
umi:method="menu"
umi:module="content"
umi:element-id="{../@id}">
<xsl:apply-templates select="items/item" mode="menu"/>
</ul>
</xsl:template>
<xsl:template match="item" mode="menu">
<li>
— <a href="{@link}" class="left" umi:element-id="{@id}" umi:region="row" umi:field-name="name" umi:empty="&empty-section-name;" umi:delete="delete">
<xsl:value-of select="@name" />
</a>
</li>
</xsl:template>
<xsl:template match="item[@status = 'active']" mode="menu">
<li class="active">
— <a href="{@link}" class="left">
<xsl:value-of select="@name"/>
</a>
</li>
</xsl:template>
<!-- #Menu -->

Внимание! В приведенном шаблоне подключен Edit-in-Place. Будьте внимательны!

*

Axiomateria

  • ****
  • 322
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Re:Меню из подстаниц на XSLT
« Ответ #23 : 10 Мая 2013, 15:28:13 »
Решение проблемы с Подменю...
Просто необходимо сделать проверку, если мы находимся в  Папке, то выводим подразделы, а если находимся в самом подразделе, то выводим все подразделы папки нашего подраздела в котором находимся.

Попробовал вставить в объект каталога и не работает...
Вы эти шаблоны создали для простой информационной страницы (тип данных "Страница контента") ?

*

BaceH

  • ***
  • 141
  • +21/-0
    • Просмотр профиля
Re:Меню из подстаниц на XSLT
« Ответ #24 : 12 Мая 2013, 01:17:30 »
Цитировать
@module = 'content'][@method = 'menu'
- да
для каталога используйте http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/katalog/catalog_getcategorylist/#xslt-templating - catalog getCategoryList()