Несколько текущих вопросов по информационным системам

#
Несколько текущих вопросов по информационным системам
Реализуя новый проект на системе управления hostcms столкнулся со след вопросами по реализации:

1 вопрос.
Сделал информационную систему с уровнем вложенности в 3 уровня, т.е.:
- Группа
-- Подгруппа 1
--- Подподгруппа 1
--- Подподгруппа 2
...
-- Подгруппа 2
...
Вопрос в том, как сделать условие чтобы название группы
<xsl:value-of disable-output-escaping="yes" select=".//group[@id=$parent_group_id]/name"/>
не выводилось на уровне группы и подгруппы (т.е. на 1-м и 2-м уровне)? Приведите пожалуйста пример кода проверки...

2 вопрос.
Начиная со второго уровня вложенности подгрупп не работает конструкция
<xsl:value-of select="propertys/property[@xml_name = 'm_adress']/value"/>
, работает только на первом уровне. В чем может быть проблема и какие моменты проверить?

3 вопрос.
При выводе списка информационных элементов из нескольких информационных систем одним списком (например на главной страницу) при помощи $InformationSystemIdArray не могу организовать сортировку списка (сортировку сделал по id элемента, т.е. чем выше id, тем новее товар). Я настроил сортировку, но проблема в том, что выводятся сначала элементы одной инфосистемы и сортируются, потом элементы другой инфосистемы и тоже сортируются. в итоге они не смешиваются друг с другом в едином списке. Подскажите, есть ли решение этой проблемы? (проблему решил слиянием в одну ИС, но для общего развития хотел бы узнать как правильно это реализуется при помощи $InformationSystemIdArray).

4 вопрос.
Есть ли возможность реализовать метки для групп информационной системы и соответственно фильтрацию по ним?
#
Re: Несколько текущих вопросов по информационным системам
Помогите хотя с проблемой $InformationSystemIdArray в третьем вопросе... остальные кое-как сделал...
Модератор
#
Re: Несколько текущих вопросов по информационным системам
RogerSSS писал(а):
не выводилось на уровне группы и подгруппы (т.е. на 1-м и 2-м уровне)? Приведите пожалуйста пример кода проверки…

Проверка уровня вложенности описана здесь: http://www.hostcms.ru/forums/22/111/

2. Ошибок не вижу, проверьте наличие информации в XML.

3. Сортировать нужно на XSL, т.к. при выборе из нескольких ИС информация выбирается в виде N-блоков по количеству ИС.

4. Метки только для элементов, для групп не планируются.
#
Re: Несколько текущих вопросов по информационным системам
может быть у вас есть пример по сортировке в xsl? хотя бы примерный... я доработаю...

и ещё маленький вопросик - как получить адрес группы, в которую входит информационный элемент? Я сделал по одному из примеров, приведенных на форуме, но если выводить элементы из нескольких инфосистем это не работает. вот пример, который работает только для вывода из одной группы

<xsl:variable name="srcgroup" select="//group[@id=$group_item_id]/fullpath"/>
<a href="{/document/blocks/url}{$srcgroup}" >
<xsl:value-of disable-output-escaping="yes" select="item_name"/>
</a>


Или как разложить {item_path} чтобы исключить из неё адрес адрес элемента и оставить только группы?
Модератор
#
Re: Несколько текущих вопросов по информационным системам
RogerSSS,
Посмотрите ссылку по документации, там есть примеры различных сортировок.
Модератор
#
Re: Несколько текущих вопросов по информационным системам
RogerSSS,
а где в  приведенном примере вывод элементов? При выводе элементов укажите //item
#
Re: Несколько текущих вопросов по информационным системам
HostCMS писал(а):
Посмотрите ссылку по документации, там есть примеры различных сортировок.

Сделал по инструкции:
<xsl:apply-templates select="blocks/items/item[item_status=1]"/>
<xsl:sort select="@id" order="descending"/>
</xsl:apply-templates>

Не ругается, но выводит пустоту... может я что-то упустил?

HostCMS писал(а):
При выводе элементов укажите //item

Не совсем понял что и где добавлять

Вот код для товара:
<xsl:template match="blocks/items/item">
<xsl:if test="item_propertys/item_property[@xml_name='m_new']/value !=''">
<div style="background-color: #e8e9ea; vertical-align: top; width: 205px; height: 69px; margin-left: 6px; margin-top: 5px;">
<table width="59" height="59" style="border: 1px solid #c4c4c4; background-color: #ffffff; margin: 5px;  float: left;">
<tr>
<td align="center" valign="middle">
<a href="{item_image}" rel="lightbox">
<img src="{item_small_image}" style="display: block; border: none; max-width: 47px; max-height: 47px;"/>
</a>
</td>
</tr>
</table>
<div style="padding-top: 3px;">
<a href="СЮДА НУЖНО СДЕЛАТЬ ССЫЛКУ НА ГРУППУ, В КОТОРУЮ ВХОДИТ ЭЛЕМЕНТ(С УЧЕТОМ ТОГО ЧТО ЭЛЕМЕНТЫ ВЫВОДЯТСЯ ИЗ РАЗНЫХ ИНФОСИСТЕМ)" style="font-family: verdana; font-size: 10px; color: #26282c; text-decoration: none;">
<xsl:value-of disable-output-escaping="yes" select="item_name"/>
<div style="margin-top: 5px; color: #640000;">Цена: <xsl:value-of disable-output-escaping="yes"
select="item_propertys/item_property[@xml_name='m_price']/value"/> руб.</div></a>
</div>
</div>
<xsl:if test="position() != last()"><div><img src="/images/img/tovline2.gif" style="margin-top: 5px; margin-bottom: 5px;  display: block;"/></div></xsl:if>
</xsl:if>
</xsl:template>


Буду очень благодарен за помощь...
Модератор
#
Re: Несколько текущих вопросов по информационным системам
RogerSSS писал(а):
Не ругается, но выводит пустоту… может я что-то упустил?

1. Дважды закрыли тег (в самом конце и еще раз после сортировки).
2. Чтобы выбрать все узлы ИЭ напишем:
<xsl:apply-templates select="//item[item_status=1]">
#
Re: Несколько текущих вопросов по информационным системам
по сортировке разобрался... спасибо! вот я не внимательный... но вот по поводу определения адреса так и не понял вывод узлов сделал, но там не пишет как каждый из узлов называется... может вы ссылочку кинете где кто-то обсуждал такую проблему или что-то подобное... я вот попробовал модифицировать такой код:
<xsl:variable name="group_item_id" select="@group_id"/>
<xsl:variable name="srcgroup" select="//group[@id=$group_item_id]/fullpath"/>
<a href="{/document/blocks/url}{$srcgroup}#{item_path}">название</a>

опять же при выводе нескольких инфосистем не работает
Модератор
#
Re: Несколько текущих вопросов по информационным системам
RogerSSS,
покажите целиком фрагмент template-а, из которого Вы привели фрагмент.
Авторизация