UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: Axiomateria от 09 Сентября 2013, 00:52:12

Название: Вывод на странице названия (заголовка) главного раздела в его объекте
Отправлено: Axiomateria от 09 Сентября 2013, 00:52:12
У меня такой вот xml получается с данными, при выводе данных объекта каталога:
<parents>
  <page id="149" parentId="142" link="/main/services/hotels/hotels_spb.html" is-visible="1" is-active="1" object-id="738" type-id="138" update-time="1378489691" alt-name="hotels_spb" xlink:href="upage://149">
    <basetype id="54" module="catalog" method="category">Разделы каталога</basetype>
    <name>Гостиницы Санкт-Петербурга</name>
  </page>
</parents>

Необходимо в объекте каталога, то есть в гостинице,  прописать заголовок раздела, в котором этот объект с гостиницей и находится.
То есть заголовок раздела вывести на всех объектах этого раздела.
В хмl этого объекта с гостиницей видно, что заголовок раздела "Гостиницы Санкт-Петербурга" содержится в  
<name>Гостиницы Санкт-Петербурга</name> -
 какой вызов нужен для его вывода на странице в объекте гостиницы?

Дальше этого <xsl:value-of select="result/page/@parentId" /> пока не продвинулся...
Название: Re:Вывод на странице названия (заголовка) главного раздела в его объекте
Отправлено: e.ioffe от 09 Сентября 2013, 08:50:50
У меня такой вот xml получается с данными, при выводе данных объекта каталога:
<parents>
  <page id="149" parentId="142" link="/main/services/hotels/hotels_spb.html" is-visible="1" is-active="1" object-id="738" type-id="138" update-time="1378489691" alt-name="hotels_spb" xlink:href="upage://149">
    <basetype id="54" module="catalog" method="category">Разделы каталога</basetype>
    <name>Гостиницы Санкт-Петербурга</name>
  </page>
</parents>

Необходимо в объекте каталога, то есть в гостинице,  прописать заголовок раздела, в котором этот объект с гостиницей и находится.
То есть заголовок раздела вывести на всех объектах этого раздела.
В хмl этого объекта с гостиницей видно, что заголовок раздела "Гостиницы Санкт-Петербурга" содержится в  
<name>Гостиницы Санкт-Петербурга</name> -
 какой вызов нужен для его вывода на странице в объекте гостиницы?

Дальше этого <xsl:value-of select="result/page/@parentId" /> пока не продвинулся...

<xsl:value-of select="/result/parents/page[1]/name" />

Советую просмотреть видео вебинаров по разработке сайтов на xslt-шаблонизаторе.
Название: Re:Вывод на странице названия (заголовка) главного раздела в его объекте
Отправлено: Axiomateria от 09 Сентября 2013, 10:02:39

<xsl:value-of select="/result/parents/page[1]/name" />

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

Спасибо конечно, но не сработало...
И на последнем вебинарском видео я пока такого примера вызова не узрел....
Название: Re:Вывод на странице названия (заголовка) главного раздела в его объекте
Отправлено: e.ioffe от 09 Сентября 2013, 10:16:45

<xsl:value-of select="/result/parents/page[1]/name" />

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

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

Конечно, может не сработать. Так как необходимо учитывать "область видимости" текущего шаблона. Если он отвечает за обработку udata[@module = 'catalog' and @method = 'getCategoryList'], то result, по умолчанию, в нем виден не будет.
Название: Re:Вывод на странице названия (заголовка) главного раздела в его объекте
Отправлено: admin от 13 Сентября 2013, 11:07:44
самый быстрый вариант решить вопрос с видимостью данных при работе в дочернем шаблоне, это вынести данные как глобальную переменную.

То есть для того что бы у вас сработал вызов <xsl:value-of select="/result/parents/page[1]/name" />, который вам подсказал e.ioffe , попробуйте в файл /templates/demodizzy/xslt/default.xsl рябом с другими переменными создать переменную
<xsl:variable name="parent_name" select="/result/parents/page[1]/name" />

и в нужном месте использовать
 <xsl:value-of select="$parent_name" />