Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Как вывести itemprop="position" content="" в XSLT?

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

Ответов: 0
Просмотров: 1533
Последний ответ 15 Ноября 2018, 09:30:06
от makarov2979
Как вывести для разных доменов разных адресатов

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

Ответов: 14
Просмотров: 3933
Последний ответ 17 Февраля 2017, 20:20:12
от Sumrakrnd
Вывести сумму заказа на странице "Заказ поступил в обработку"

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

Ответов: 2
Просмотров: 3754
Последний ответ 07 Ноября 2014, 23:46:49
от Axiomateria
Как вывести общее количество объектов в разделе, у которого есть подразделы

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

Ответов: 4
Просмотров: 3286
Последний ответ 06 Марта 2014, 00:56:05
от ilyar
Как вывести название групп характеристики объекта каталога на разных языках

Автор tkalyuginaРаздел XSLT сайт в 20 шагов на основе demodizzy

Ответов: 0
Просмотров: 2932
Последний ответ 16 Марта 2018, 09:52:24
от tkalyugina

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

*

Axiomateria

  • ****
  • 322
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
В общем-то в заголовке уже вся суть, но если чуть подробнее, то задача вывести заголовок группы полей в отдельную ссылку пока не решается вот таким образом:
<xsl:apply-templates select=".//group[@name = 'description_own' and not(property/value='')]" mode="table-tabs-hotel" />
где "description_own" Заголовок группы нескольких полей и в результате выводятся данные этих самых полей....
Подскажите, пожалуйста, куда надо посмотреть и подправить?

*

e.ioffe

  • ****
  • 369
  • +81/-2
  • Профессиональная разработка на UMI.CMS.
    • Просмотр профиля
    • Fullspace - Лучший хостинг для UMI.CMS
В общем-то в заголовке уже вся суть, но если чуть подробнее, то задача вывести заголовок группы полей в отдельную ссылку пока не решается вот таким образом:
<xsl:apply-templates select=".//group[@name = 'description_own' and not(property/value='')]" mode="table-tabs-hotel" />
где "description_own" Заголовок группы нескольких полей и в результате выводятся данные этих самых полей....
Подскажите, пожалуйста, куда надо посмотреть и подправить?

Если нужно именно вывести, то <xsl:value-of select=".//group[@name = 'description_own' and not(property/value='')]/@title" />
Ускорение сайта на UMI.CMS - http://speed.umispec.ru/

*

Axiomateria

  • ****
  • 322
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Если нужно именно вывести, то <xsl:value-of select=".//group[@name = 'description_own' and not(property/value='')]/@title" />

Работает, только, если вместо "title" подставить "name" и тогда выводится "description_own", то есть вотак:
Если нужно именно вывести, то <xsl:value-of select=".//group[@name = 'description_own' and not(property/value='')]/@name" />

А сам <xsl:value-of select=".//group[@name = 'description_own' and not(property/value='')]/@title" /> ни чего не выводит.

Вот кусочек xml этого, выделенное слово жирным и требуется вывести

<group id="352" name="description_own"><title>Описание</title><property id="416" name="general_information" type="wysiwyg"><title>Общее описание: расположение, особенности</title><value><p>Азимут отель (бывшая гостиница Советская) один из крупнейших отелей категории 3 звезды в Петербурге, состоит из 2-х корпусов Восток и Фонтанка.</p>
<p>Отель расположен в старой части города на набережной реки Фонтанка, рядом со станциями метро Балтийская и Технологический институт.</p>
<p>Здание гостиницы -  единственное  высотное здание  в историческом центре города, было построено в 1967 году и с  2001 года несколько раз реконструировалось. Виды на город из окон &laquo;Азимут отеля&raquo; уникальны.</p></value></property></group>

*

e.ioffe

  • ****
  • 369
  • +81/-2
  • Профессиональная разработка на UMI.CMS.
    • Просмотр профиля
    • Fullspace - Лучший хостинг для UMI.CMS
Опечатался - нужно без @:
<xsl:value-of select=".//group[@name = 'description_own' and not(property/value='')]/title" />
Ускорение сайта на UMI.CMS - http://speed.umispec.ru/

*

Axiomateria

  • ****
  • 322
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Спасибо, e.ioffe, теперь работает!
А Вы благодаря какому справочнику (если не секрет конечно) знаете правильные ответы на тему XSLT-шаблонизатора ?

*

e.ioffe

  • ****
  • 369
  • +81/-2
  • Профессиональная разработка на UMI.CMS.
    • Просмотр профиля
    • Fullspace - Лучший хостинг для UMI.CMS
Начинал с методички Кострова - "Применение технологии xslt при разработке сайтов на UMI.CMS", а остальное сам находил в Интернете + метод аналогий.
Ускорение сайта на UMI.CMS - http://speed.umispec.ru/

*

Axiomateria

  • ****
  • 322
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
У меня тут ещё один вопрос, как мне кажется близки по теме, может у Вас, e.ioffe,  тоже есть на него правильный ответ на вопрос, который я уже ранее задавал здесь: http://umihelp.ru/forum/index.php/topic,1377.msg6241.html#msg6241

В общем вопрос такой: надо вывести одно из выбранных значений выпадающего списка, которое выбирается из справочника. Этот справочник с выпадающим списком состоит всего из трёх значений "Мини-отель", Частная гостиница", "Ведомственная гостиница".
Такой макрос конечно не работает <xsl:value-of select=".//property[@name = 'membership_of_hotel']/value" />
где "membership_of_hotel" это имя поля в типе данных..
Какой макрос посоветуете включить в шаблон, что бы при выборе администратором в админ/панеле из выпадающего списка  "Мини-отель" в результате на сайта в определённом месте появлялась именно эта надпись "Мини-отель" ?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
попробуйте посмотреть через
<xsl:copy-of select=".//property[@name = 'membership_of_hotel']"/>
ваше выражение и вы увидите, что у выпадающих полей другой набор узлов. Поэтому, чтобы добраться до название выбранного элемента справочника, вам необходимо писать

<xsl:value-of select=".//property[@name = 'membership_of_hotel']/value/item/@name" />

*

Axiomateria

  • ****
  • 322
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Спасибо, admin, сработало!
Остаётся ещё пока в перспективе (для полного комплекта так сказать) вывести данные в сумме из нескольких выбранных значений из "списка множественного выбора". Так же выводить как и
<xsl:value-of select=".//property[@name = 'membership_of_hotel']/value/item/@name" />
?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
<xsl:value-of select=".//property[@name = 'membership_of_hotel']/value/item/@name" /> выводит одно значение, если их несколько то надо выводить через apply-templates, как-то так

<xsl:apply-templates select=".//property[@name = 'membership_of_hotel']/value/item" mode="names_list"/>

<xsl:template match="item" mode="names">
        <xsl:value-of select="@name" /><br/>
</xsl:template >