UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: Babajka от 06 Декабря 2012, 11:32:53

Название: Не выводится дополнительное меню в версии "Start"
Отправлено: Babajka от 06 Декабря 2012, 11:32:53
У меня версия "Start". Пытаюсь создать боковое меню в которых выводятся заголовки лент новостей. Создал чекбоксы для лент, с идентификатором - "bokovoe_menu".

Вывожу вот этим куском кода:

<xsl:apply-templates select="document('udata://content/menu/(null)/1/')" mode="bokovoe_menu" />

В шаблон вставляю в вот этот код:

<xsl:template match="udata[@method = 'menu']" mode="bokovoe_menu">
<ul umi:element-id="0" umi:module="content" umi:region="list" umi:sortable="sortable" umi:add-method="popup">
<xsl:apply-templates select="items/item" mode="bokovoe_menu" />
</ul>
</xsl:template>

<xsl:template match="item" mode="bokovoe_menu">
<li>
<a href="{@link}" umi:element-id="{@id}" umi:region="row" umi:field-name="name" umi:empty="&empty-section-name;" umi:delete="delete">
<xsl:value-of select="." />
</a>
</li>
</xsl:template>

Но заместо вывода заголовков лент новостей, выводятся все те же что и в main_menu.
Название: Re:Не выводится дополнительное меню в версии "Start"
Отправлено: BaceH от 07 Декабря 2012, 02:40:09
для вывода с помощью content/menu/ новостей, проставте в них галочку "отображать в меню" и выводите udata://content/menu/(null)/1/12, где 12 ид родительского элемента ваших новостей

зы: но лучше приобрести модуль "каталог"  ;)
Название: Re:Не выводится дополнительное меню в верси&#
Отправлено: Babajka от 07 Декабря 2012, 12:39:53
Ммм... у меня подозрение, что вы меня не правильно поняли. Хотя, попробовал - не получилось.
У меня несколько лент новостей, каждая из которых имеет множество новостей. И в каждой из лент есть галочка "Боковое меню". Собственно она подобна галочке "отображать в меню". Так вот, каждый из заголовков "Лент новостей" мне нужно отобразить в дополнительном меню, опираясь на наличие этой самой галочки.
------------------------------------------------------------------------------------------
Нашел выход легче. На dev.docs.umi-cms.ru "Несколько меню на сайте"
Вывод "Ленты новостей". Но, тем не менее не выводится. Чувствую что делаю какую то глупую ошибку, но какую понять не могу.
Прописываю в layouts/default.xsl
<xsl:apply-templates select="document('udata://news/lastlents/(news)')/udata"/>
И в modules/content/menu.xsl
<xsl:template match="udata[@module = 'news'][@method = 'lastlents']">
  <ul>

  </ul>
</xsl:template>
Название: Re:Не выводится дополнительное меню в версии "Start"
Отправлено: BaceH от 09 Декабря 2012, 20:04:31

<xsl:template match="udata[@module = 'news'][@method = 'lastlents']">
  <ul>
   <xsl:apply-templates select="items/item"/>
  </ul>
</xsl:template>

<xsl:template match="item">
<li><a href="{@link}">
   <xsl:value-of select="." />
</a></li>
</xsl:template>
Название: Re:Не выводится дополнительное меню в версии "Start"
Отправлено: admin от 10 Января 2013, 10:08:04
Babajka, если вы хотите сделать альтернативное меню, которое будет выводиться при проставленной галочке в вашем произвольном поле (в вашем случае это поле bokovoe_menu), то вам подойдет usel запрос (см. тут http://umihelp.ru/articles/usel-multilevel-menu/) , так как макрос content menu() учитывает только галочку "выводить в меню" и никае произвольные галочки на него не влияют.

Если вы хотите вывести ленты новостей, то вам действительно можно воспользоваться макросам для вывода лент новостей news lastlents(), используя тот шаблон, что написал BaceH  выше.