Работа с дополнительными свойствами в HostCMS v. 6

Re: Работа с дополнительными свойствами в HostCMS v. 6
Доброй ночи!
Снова про сортировку))

есть дополнительное свойство "файл", в него загружаются картинки.
Как сделать, чтобы эти картинки сортировались по названию?

спасибо!
Модератор
Re: Работа с дополнительными свойствами в HostCMS v. 6
ulla,
очень просто, http://www.hostcms.ru/documentation/modules/properties/xsl/
когда выводите property_value добавьте сортировку по file_name
Re: Работа с дополнительными свойствами в HostCMS v. 6
HostCMS,

спасибо, получилось)

Только у меня оказались не названия, а описания.
И чтобы № 10 не шел впереди №2, добавила 0 ко всем номерам с 1 по 9

      
      <xsl:for-each select="property_value[tag_name='название тега']">
         <xsl:sort select="file_description" order="ascending"/>
         <a href="{../dir}{file}" rel="prettyPhoto"><img src="{../dir}{file_small}" title="{file_description}"/></a>
      </xsl:for-each>


это код дополнительного свойства для шаблона "ВыводЕдиницыИнформационнойСистемы"
Re: Работа с дополнительными свойствами в HostCMS v. 6
Добрый вечер))
Помогите кодом пожалуйста))

Необходимо вывести дополнительные свойства группы. Вывожу так:

<a href="{.//informationsystem_group[@id=$group]/dir}{.//informationsystem_group[@id=$group]/property_value[tag_name='papa']/file}" target="_blank"><img src="{.//informationsystem_group[@id=$group]/dir}{.//informationsystem_group[@id=$group]/property_value[tag_name='papa']/file}" /></a>      


вывод делаю в шаблоне "СписокЭлементовИнфосистемы" после описания группы:

<!-- Получаем ID родительской группы и записываем в переменную $group -->
      <xsl:variable name="group" select="group"/>
      
      <!-- Если в находимся корне - выводим название информационной системы -->
      <xsl:choose>
         <xsl:when test="$group = 0">
            <h1 hostcms:id="{@id}" hostcms:field="name" hostcms:entity="informationsystem">
               <xsl:value-of disable-output-escaping="yes" select="name"/>
            </h1>
            
            <!-- Описание выводится при отсутствии фильтрации по тэгам -->
            <xsl:if test="count(tag) = 0 and page = 0 and description != ''">
               <div hostcms:id="{@id}" hostcms:field="description" hostcms:entity="informationsystem" hostcms:type="wysiwyg"><xsl:value-of disable-output-escaping="yes" select="description"/></div>
            </xsl:if>
         </xsl:when>
         <xsl:otherwise>
            <h1 hostcms:id="{$group}" hostcms:field="name" hostcms:entity="informationsystem_group">
               <xsl:value-of disable-output-escaping="yes" select=".//informationsystem_group[@id=$group]/name"/>
            </h1>
            
            <!-- Описание выводим только на первой странице -->
            <xsl:if test="page = 0 and .//informationsystem_group[@id=$group]/description != ''">
               <div hostcms:id="{$group}" hostcms:field="description" hostcms:entity="informationsystem_group" hostcms:type="wysiwyg"><xsl:value-of disable-output-escaping="yes" select=".//informationsystem_group[@id=$group]/description"/></div>
            </xsl:if>
      

<a href="{.//informationsystem_group[@id=$group]/dir}{.//informationsystem_group[@id=$group]/property_value[tag_name='papa']/file}" target="_blank"><img src="{.//informationsystem_group[@id=$group]/dir}{.//informationsystem_group[@id=$group]/property_value[tag_name='papa']/file}" /></a>      


            <!-- Путь к группе -->
            <p>
               <xsl:apply-templates select=".//informationsystem_group[@id=$group]" mode="breadCrumbs"/>
            </p>
         </xsl:otherwise>
      </xsl:choose>


и не работает(
Re: Работа с дополнительными свойствами в HostCMS v. 6
Поправка:

- если зайти в группу, то все ок! Выводит доп свойства!
А в списке групп выводит только название, а мне надо и дополнительные свойства групп тоже
Re: Работа с дополнительными свойствами в HostCMS v. 6
ulla,
в ТДС включены доп. свойства групп?
HostDev.pw - модули для HostCMS, Telegram: @hostdev
Re: Работа с дополнительными свойствами в HostCMS v. 6
EugenyP,

спасибо за ваш ответ!
Разобралась уже
Re: Работа с дополнительными свойствами в HostCMS v. 6
У меня доп. фотки к товару в ИМ стали выводиться в порядке убывания, т.е.
      <property_value id="103">
         ...
      </property_value>
      <property_value id="102">
         ...
      </property_value>
      <property_value id="101">
         ...
      </property_value>

как их вывести в xsl в порядке возрастания по id?
шаблон имеет такой вид
<xsl:template match="shop_item">
   <!-- есть несколько фоток товара -->
      <xsl:if test="property_value/file_small != ''">
      <img src="{dir}{image_small}" onmouseover="this.src='{dir}{property_value[tag_name='img']/file_small}';" onmouseout="this.src='{dir}{image_small}';" alt="{name}" title="{description}"/>
      </xsl:if>
</xsl:template>

полагал что в ТДС достаточно применить что-то типа
->clearOrderBy()
->orderBy('property_value_files.id', 'ASC')

но не получилось, потом почитал документацию по сортировки доп. свойств и 46 страниц этой ветки, и понял что все не так просто и что моих познаний явно не хватает что бы в этом разобраться подскажите плиз как это сделать?

Модератор
Re: Работа с дополнительными свойствами в HostCMS v. 6
glen,
Значения доп. св-в выбираются из разных таблиц, сортировка не используется.
Ваше предположение о выводе значений в порядке сортировки ID неверно.
Re: Работа с дополнительными свойствами в HostCMS v. 6
glen,
но можно отсортировать в XSL шаблоне xsl:sort
www.morozovpimnev.ru - создание, поддержка и продвижение сайтов | Наш канал https://asmp.su/channel
Авторизация