UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: Axiomateria от 05 Марта 2014, 22:02:41

Название: Как вывести общее количество объектов в разделе, у которого есть подразделы
Отправлено: Axiomateria от 05 Марта 2014, 22:02:41
Казалось бы простая задачка - вывести общее количество объектов в разделе, но есть одно "но".
В этом разделе есть дочерний подраздел и в нём тоже есть объекты.
Вот и надо вывести не только количество объектов родительского раздела, но и прибавить ещё объекты из его дочернего разделе в одну сумму.
А вывести эту сумму надо в родительском разделе.
В общем если не обойтись без кастомного написания макроса для вывода всех разделов и подразделов, то сойдёт и простое решение с выводом количества объектов только родительского раздела.
Название: Re:Как вывести общее количество объектов в разделе, у которого есть подразделы
Отправлено: NOIRMAN от 05 Марта 2014, 22:09:53
total у usel не подходит?
Название: Re:Как вывести общее количество объектов в разделе, у которого есть подразделы
Отправлено: Axiomateria от 05 Марта 2014, 23:33:36
total у usel не подходит?
Про usel это первое что приходит в голову конечно, но по точнее бы что делать-то надо :)
Название: Re:Как вывести общее количество объектов в разделе, у которого есть подразделы
Отправлено: NOIRMAN от 06 Марта 2014, 00:15:51
Самое точное, конечно же тут http://dev.docs.umi-cms.ru/shablony_i_makrosy/xslt-shablonizator_umi_cms/vyborki_iz_bd_protokol_usel/#target  :D
Я бы обратил внимание на конструкцию типа
<target expected-result="count">
 <category depth="5">{1}</category>
</target>
где {1} - id исходного раздела, а depth = 5 для верности опросить 5 уровней вложенности (если я конечно ничего не напутал по документации  8) )
Название: Re:Как вывести общее количество объектов в разделе, у которого есть подразделы
Отправлено: ilyar от 06 Марта 2014, 00:56:05
Самое точное, конечно же тут http://dev.docs.umi-cms.ru/shablony_i_makrosy/xslt-shablonizator_umi_cms/vyborki_iz_bd_protokol_usel/#target  :D
Я бы обратил внимание на конструкцию типа
<target expected-result="count">
 <category depth="5">{1}</category>
</target>
где {1} - id исходного раздела, а depth = 5 для верности опросить 5 уровней вложенности (если я конечно ничего не напутал по документации  8) )

Результат будет:

Код: XML [Выделить]

<target expected-result="count">
  <udata generation-time="0.006669" xmlns:xlink="http://www.w3.org/TR/xlink">
  <error>This mode "count" is not supported, choose one of these: objects, pages</error>
</udata>


Документация, видимо немного устарела или это бага, рабочий USel:

/usels/totalCategory.xml
Код: XML [Выделить]

<?xml version="1.0" encoding="utf-8"?>
<!--
Количество объектов родительского раздела

usel://totalCategory/{category}/{depth}/

Примеры:

usel://totalCategory/15/5/
usel://totalCategory/(/shop//catalog/)/5/
-->
<selection>
  <target expected-result="pages count" force-hierarchy="1">
    <type module="catalog" method="object" />
    <category depth="{2}">{1}</category>
  </target>
  <limit page="0">1</limit>
</selection>