UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: atach от 18 Июля 2013, 19:53:24

Название: Подскажите про XSLT (ну совсем как то плохо)
Отправлено: atach от 18 Июля 2013, 19:53:24
Народ, кто работает на XSLT шаблонизаторе - подскажите.
С tpl дружу на все 100, но вот xslt не моё, но надо ...

В шаблонах не могу найти, кто отвечает за блок меню блок.
В дефолтном шаблоне написано:

<xsl:call-template name="catalog_main_list">
<xsl:with-param name="level" select="1"/>
<xsl:with-param name="show_objects" select="1" />
</xsl:call-template>

Не могу понять где настроить вывод данного блока в каталожных разделах. Все перелазил, ищу секцию catalog_main_list, или что то не то делаю?
Название: Re:Подскажите про XSLT (ну совсем как то плохо)
Отправлено: atach от 19 Июля 2013, 11:10:47
Что то где то разобрался ...
Но остался вопрос:
Как вывести подменю текущего раздела.
На TPLS делал так:
%content menu('template', 1, %pid %) %

А на XSLT не получается подставить текущую ID
 <xsl:apply-templates select="document(concat('udata://content/menu/1/1/', result/@pageId))/udata" mode="menu"/>
Название: Re:Подскажите про XSLT (ну совсем как то плохо)
Отправлено: thecoder от 19 Июля 2013, 13:23:14
http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/struktura_i_kontent/content_menu/

сам не делал подменю.

Попробуй
Цитировать
<xsl:apply-templates select="document(concat('udata://content/menu/default/1/1/', result/@pageId))/udata" mode="menu"/>
Название: Re:Подскажите про XSLT (ну совсем как то плохо)
Отправлено: atach от 19 Июля 2013, 13:32:21
Спасибо за ссылку, но документацию я изучал.
И ваш пример ничем не отличается от моего ...

Я поэтому и написал, потому что он не работает
Название: Re:Подскажите про XSLT (ну совсем как то плохо)
Отправлено: thecoder от 19 Июля 2013, 13:44:10
может это поможет :)
http://umihelp.ru/forum/index.php?topic=194.20;wap2
Название: Re:Подскажите про XSLT (ну совсем как то плохо)
Отправлено: thecoder от 19 Июля 2013, 13:47:48
а адресной строке напиши
домен/udata/content/menu/1/1/
и посмотри результат
Название: Re:Подскажите про XSLT (ну совсем как то плохо)
Отправлено: atach от 19 Июля 2013, 13:48:54
Спасибо ... тут более менее понятно и можно разобраться
Название: Re:Подскажите про XSLT (ну совсем как то плохо)
Отправлено: atach от 19 Июля 2013, 14:10:21
Код отработал - спасибо!
Только вот почему то именно при этом году ещё выводится ID страницы ...
непонятно почему
Название: Re:Подскажите про XSLT (ну совсем как то плохо)
Отправлено: thecoder от 19 Июля 2013, 14:19:56
покажи шаблон
Название: Re:Подскажите про XSLT (ну совсем как то плохо)
Отправлено: atach от 19 Июля 2013, 14:26:13
Шаблон ниже:

Но дело не в шаблоне, т.к. если я удаляю его ID всеравно весит ...
<xsl:template match="items" mode="menu">
<xsl:param name="id" />
<xsl:param name="level" />
            <div class="main_catalog_list">
                <ul class="level-{$level}" umi:element-id="{$id}" umi:add-text="&add-text-menu;" umi:add-method="popup" umi:region="list" umi:sortable="sortable" umi:button-position="top right" umi:method="menu" umi:module="content" >
                    <xsl:apply-templates select="item" mode="multilevel_menu">
                        <xsl:with-param name="level" select="$level + 1" />
                    </xsl:apply-templates>
                </ul>
            </div>
</xsl:template>
Название: Re:Подскажите про XSLT (ну совсем как то плохо)
Отправлено: thecoder от 19 Июля 2013, 14:32:37
вот этот шаблон покажи

<xsl:apply-templates select="item" mode="multilevel_menu">
Название: Re:Подскажите про XSLT (ну совсем как то плохо)
Отправлено: atach от 19 Июля 2013, 14:42:17
Ну у меня его нет, наверно он берет из дефолтного ...
Я конечно скрыл его путем CSS, но это не правильно ... не могу понять от куда вылезает.
Название: Re:Подскажите про XSLT (ну совсем как то плохо)
Отправлено: thecoder от 19 Июля 2013, 14:49:16
ну тут надо ждать помощи админа. Для меня это то же сложновато :)
Название: Re:Подскажите про XSLT (ну совсем как то плохо)
Отправлено: atach от 19 Июля 2013, 14:55:12
Ну всеравно спасибо .... что то как то к XSLT сложно привыкнуть
Название: Re:Подскажите про XSLT (ну совсем как то плохо)
Отправлено: thecoder от 19 Июля 2013, 15:32:02
Цитировать
Ну всеравно спасибо .... что то как то к XSLT сложно привыкнуть

После tpl возможно, я сразу с xslt начал, для меня tpl темный лес :)
Название: Re:Подскажите про XSLT (ну совсем как то плохо)
Отправлено: admin от 21 Июля 2013, 13:30:58
Ну у меня его нет, наверно он берет из дефолтного ...
Я конечно скрыл его путем CSS, но это не правильно ... не могу понять от куда вылезает.


Atach, давай по порядку, ты хочешь вывести многоуровневое меню или ты хочешь понять где шаблон по которому оно выводиться или хочешь понять почему у тебя не выводиться подменю или... твой вариант?

При этом напиши пожалуйста:
1. где у тебя вызов макроса для вывода меню и как он выглядит
2. где у тебя шаблон для вывода меню и как он выглядит
3. чего хочется получить в итоге и что из этого получилось, а что нет
Название: Re:Подскажите про XSLT (ну совсем как то плохо)
Отправлено: atach от 21 Июля 2013, 13:53:48
Честно говоря проблему решил (но id шка вылазиет всеравно от куда непонятно).

Если по порядку, то я вывожу не многоуровневое меню, а простое меню дочерней страницы. Что бы на каждой страницы если у неё есть дочерниие элементы выводились в меню. Проблема была в подстановки pageId - ё решил (неверный синтаксис был).

Вызов макроса такой, в дефолтном layouts/default
<xsl:apply-templates select="document(concat('udata://content/menu/leftmenu/1/',/result/@pageId))/udata" mode="menu"/>  

И на этой же страницы шаблон:
<xsl:template match="items" mode="menu">
<xsl:param name="id" />
<xsl:param name="level" />
            <div class="main_catalog_list">
                <ul class="level-{$level}" umi:element-id="{$id}" umi:add-text="&add-text-menu;" umi:add-method="popup" umi:region="list" umi:sortable="sortable" umi:button-position="top right" umi:method="menu" umi:module="content" >
                    <xsl:apply-templates select="item" mode="multilevel_menu">
                        <xsl:with-param name="level" select="$level + 1" />
                    </xsl:apply-templates>
                </ul>
            </div>
</xsl:template>

Возможно ещё что то подкружается по умолчанию из /content/menu.xsl
Я просто не очень понимаю структру работы xsl