Как в разные проходы вывести разные элементы инфосистемы.

#
Как в разные проходы вывести разные элементы инфосистемы.
Есть задача:
Сначала выводим все элементы инфосистемы с дополнительным параметром a_act = true у элементов
а затем повторить вывод остальных элементов у которых a_act = false...
Не могу реализовать. Помогите очень нужно!
Шаблон:

<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
encoding="Windows-1251" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml" />

<xsl:template match="/">
    <xsl:apply-templates/>
</xsl:template>

<xsl:template match="/document">
   <!-- Получаем ID родительской группы и записываем в переменную $parent_group_id -->
   <xsl:variable name="parent_group_id" select="blocks/parent_group_id" />

<!-- ВЫВЕСТИ ЭЛЕМЕНТЫ СО ЗНАЧЕНИЕМ ПЕРЕМЕННОЙ a_act = true -->
<xsl:apply-templates select="blocks/items/item[item_status=1]" />
    
<!-- ВЫВЕСТИ ЭЛЕМЕНТЫ СО ЗНАЧЕНИЕМ ПЕРЕМЕННОЙ a_act = false -->
<xsl:apply-templates select="blocks/items/item[item_status=1]" />

</xsl:template>

<xsl:template match="blocks/items/item">


<!-- 1. В ПЕРВЫЙ ПРОХОД ВЫВОД ОДНИХ ЭЛЕМЕНТОВ -->

<!-- 2. Во второй проход выполнить вывод других элементов -->

</xsl:template>

Как передать в шаблон какие элементы выводить?
Существуют ли переменные?
Например если a=1 то выводим элементы 1.
Если a=2 то выводим элементы 2.
А переменные передаем из шаблона вначале!

Какэто сделать?

Интеграция дизайна, доработка кода системы, техническое обслуживание сайтов на HostCMS
#
Re: Как в разные проходы вывести разные элементы инфосистемы.
Важный момент: необходимо, чтобы на одной странице сначала шел блок с инфоэлементами со значением a_act = true, а ниже шел блок у которых значение a_act = false? Если да, то, во-первых, нужно добавить доп. свойство для инфоэлементов a_act, например типа checkbox. А в XSL-шаблоне организовать вывод:
<!-- ВЫВЕСТИ ЭЛЕМЕНТЫ СО ЗНАЧЕНИЕМ ПЕРЕМЕННОЙ a_act = true -->
<xsl:apply-templates select="blocks/items/item[item_status=1]/item_propertys/item_property[@xml_name = 'a_act']/value = '1'" />
    
<!-- ВЫВЕСТИ ЭЛЕМЕНТЫ СО ЗНАЧЕНИЕМ ПЕРЕМЕННОЙ a_act = false -->
<xsl:apply-templates select="blocks/items/item[item_status=1]/item_propertys/item_property[@xml_name = 'a_act']/value = '0'" />
#
Re: Как в разные проходы вывести разные элементы инфосистемы.
Спасибо. Разобрался чуть раньше, чем получил ответ. Просто ночью сидел писал сайт, загнался немного. Выход нашел такой. Вставил 2 блока подряд в макет страницы, только дал обработку разным xsl шаблонам.
Спасибо!
Интеграция дизайна, доработка кода системы, техническое обслуживание сайтов на HostCMS
#
Re: Как в разные проходы вывести разные элементы инфосистемы.
Не разобрался, вроде было всё понятно, а на практике так сделать не могу...
Повторяю уточненную задачу:

Есть к примеру информационная система:
РЫБЫ -> внутри группы:
КАРПОВЫЕ -> внутри группы элементы:
РЫБА1 -> у каждого элемента дополнительный параметр:
live (Checkbox).

Групп несколько, внутри по несколько элементов.

Задача: вывести сначала все элементы выбранной группы со значением live = true,
а затем все элементы со значением live = false.

Тоесть на странице должны быть вначале все элементы группы live=true а затем все остальные элементы группы.
Что получаем -> если у элемента поставить галочку в дополнительных свойствах, то он отображается в числе первых, с такими же галочками, если галочка не стоит, то элементы отображаются после элементов с галочкой.

Как это сделать ума не приложу.
Как отобрать и вывести сначала элементы группы в параметром true а затем с параметром false?
Причем хотелось бы сохранилась возможность перемещения по страницам.

Помогите пожалуйста реализовать эту задачу. Очень прошу с примерами.

Есть мысль по этому поводу:
Нужно сделать дополнительный параметр у элементов группы = Информационная система (РЫБЫ).
Затем вызвать из шаблона вывод элементов выбранной группы...
1. Сначала выбрать все элементы со значением live = 1 и отобразить их
2. Затем выбрать из этой же системы элементы со значением live = 0 , причем этот вывод наверное нужно сделать из Информационной системы, которая у нас будет в качестве дополнительного параметра элемента.

Или это нужно по другому делать? 2 дня голову ломаю как сделать!
ICQ 8126862
Интеграция дизайна, доработка кода системы, техническое обслуживание сайтов на HostCMS
#
Re: Как в разные проходы вывести разные элементы инфосистемы.
Вы не пробовали сделать, как я советовала(см. мое последнее сообщение)?
#
Re: Как в разные проходы вывести разные элементы инфосистемы.
Это я уже сделал. Проблемма в сортировке теперь. http://www.hostcms.ru/forums/22/870/
Интеграция дизайна, доработка кода системы, техническое обслуживание сайтов на HostCMS
Авторизация