Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Модуль Меню - заголовки для блоков меню их поля "Название"

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

Ответов: 8
Просмотров: 7333
Последний ответ 06 Июня 2014, 12:06:35
от admin
Требуется по "клику" на элемент увеличить значение поля и показать значение

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

Ответов: 0
Просмотров: 1631
Последний ответ 02 Сентября 2016, 12:03:55
от tkalyugina
Тип поля "Состаное"

Автор SumrakrndРаздел Настройка системы и модулей

Ответов: 4
Просмотров: 2212
Последний ответ 28 Декабря 2016, 17:14:17
от Sumrakrnd
Задать значени поля тип "Составное"?

Автор muldyРаздел Custom макросы

Ответов: 5
Просмотров: 5281
Последний ответ 14 Апреля 2014, 21:20:45
от ilyar
Мультизагрузка файлов в поля "набор изображения"

Автор atachРаздел Настройка системы и модулей

Ответов: 0
Просмотров: 1325
Последний ответ 26 Апреля 2017, 19:26:48
от atach

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

*

Axiomateria

  • ****
  • 322
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Здравствуйте!

У меня в объекте есть несколько разных полей с выпадающими списками элементов в них и не на всех объектов каталога они заполняются, то есть поле "Мобильная версия" с выпадающим список с трёмя элементами справочника:  "да" , "нет" ,  "в разработке".
На данный момент поле "Мобильная версия" отображается на сайте даже если ни чего не выбрано из эти трёх вариантов справочника.

Вызов:  
<xsl:apply-templates select=".//group[@name = 'card_site_full']/property" mode="cardsitefull" />

Шаблон:
    <xsl:template match="property[@type='relation']" mode="cardsitefull">
        <div class="item-properties">                                                        
            <xsl:value-of select="title"/>
            <xsl:text>: </xsl:text>
            <xsl:value-of select="value/item/@name"/>
        </div>
    </xsl:template>
    <xsl:template match="property[@type='relation' and value = '']" mode="cardsitefull"/>  

Как сделать так, что поле "Мобильная версия" вообще не выводилось, если ни один из трёх вариантов справочника не выбран при редактировании объекта ?
« Последнее редактирование: 18 Января 2014, 17:28:23 от Axiomateria »

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
пустые поля погружаются, скорее всего, из-за параметра ?show-empty (смотрите строчку, типа <xsl:apply-templates select="document(concat('upage://', page/@id,'?show-empty'))/udata" mode="object-view" />)

Если этого параметра не будет, то поля, у которых пустые значения, не будут выводиться в xml (в том числе, поля типа "кнопка галочка", если она не поставлена)

Если в вашем xml по каким-то причинам все равно надо выводить все поля, даже пустые, то делайте проверку на существование значения в этом поле.
Для пример, шаблон, который был приведен выше, можно попробовать так.
<xsl:template match="property[@type='relation']" mode="cardsitefull"/>  
<xsl:template match="property[@type='relation' and value/item/@id]" mode="cardsitefull">
<div class="item-properties">                                                       
<xsl:value-of select="title"/>
<xsl:text>: </xsl:text>
<xsl:value-of select="value/item/@name"/>
</div>
</xsl:template>

*

Axiomateria

  • ****
  • 322
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
[quote author=admin link=topic=1736.msg7399#msg7399 date=1390067893]
пустые поля погружаются, скорее всего, из-за параметра [b]?show-empty[/b] (смотрите строчку, типа [b]<xsl:apply-templates select="document(concat('upage://', page/@id,'?show-empty'))/udata" mode="object-view" />[/b])
Если этого параметра не будет, то поля, у которых пустые значения, не будут выводиться в xml (в том числе, поля типа "кнопка галочка", если она не поставлена)
[/quote]
Спасибо, Admin, это то что и надо!

Кстати не подскажите, где можно почитать про вот этим самые "?show-empty" , "?extProps" и еже подобные вещи ?
Интересует хотя бы их основной список с кратким описанием их предназначения.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
?show-empty - вывод всех полей при работе с протоколом upage
?skip-lock=1 выводит кнопки на управление системными полями (изменить, удалить, добавить поле в группу) на страницах редактирования типа данных (шаблон данных в админке).
?extProps и ?extGroups - вывод доп полей и доп групп при работе с макросами (через протокол udata) выводящими список чего-то (товаров, новостей, комментариев и т.п.) почитать можно в документации

есть еще параметры:
?expire=600  -  кеширование результатов xml запроса
?showStreamsCalls - показывает, что именно запрашивается на конкретной странице и по каким протоколам

.xml
- вывод данной странихы в xml виде
.json - вывод данной страницы или данного макроса в json виде

... вроде, основные все написал.