родительский узел

#
родительский узел
Добрый вечер,
Не подскажете, как определить атрибут (напр., id) самого верхнего родительского узла текущей страницы? Имеется в виду, той, которая инициирует вызов xsl шаблона.
Спасибо.
so I drift down... in my steep-sided un-reality...
#
Re: родительский узел
Загвоздка в том, что дополнительное меню состоит не из приличных страниц, а липовых "внешних" ссылок на верхние страницы разных разделов. Входящих, конечно, в разные меню. Тем не менее, хотелось бы его подсвечивать соответственным образом при посещении одного из этих разделов... Пока выкрутилась, сделав три разных xsl шаблона, а не один универсальный, но это же криво
so I drift down... in my steep-sided un-reality...
#
Re: родительский узел
Приведите, пожалуйста, текст XSL-шаблона, а также XML-код, который он обрабатывает
#
Re: родительский узел
А как выдернуть из HostCMS xml-код?
so I drift down... in my steep-sided un-reality...
Модератор
#
Re: родительский узел
Дружно читаем руководство, раздел про XML и XSLT.
#
Re: родительский узел
Прочитала, понятно. Ниже я приведу xml-код (рабочего шаблона еще нет, простой вывод меню), но сначала попробую еще раз объяснить, в чем собственно сложность.
Вот сайт (для примера) http://www.rafusa.org
Там есть обыкновенное деревянное меню (если конечно не считать, что их два в двух языковых частях - это можно решить разными сайтами).
И кроме основного имеется дополнительное горизонтальное меню, куда выведены крупно 5 страниц - About us, Benefits, Donate, Events Calendar, Contact us.
Как правильно реализовать такую задачу с точки зрения HostCMS?
Я создаю кроме основного "дополнительное меню", где делаю 5 страниц, и присваиваю им внешние ссылки, ведущие на их близнецов основного меню.
И все работает хорошо, кроме одного - когда я захожу на страницу Benefits, мне надо подсветить не только пункт основного меню benefits, но и кнопку дополнительного меню benefits. А она на самом деле принадлежит совсем другому меню, имеет другой id и т. д. Это конечно решается, ну, хаком. Но ведь задача тривиальная и частая, и она наверное имеет какое-то правильное логичное решение, управляемое не только из xsl-шаблонов, но и контент-менеджером?

Про атрибуты самого верхнего родителя текущей страницы я спрашивала в той связи, что у меня существовало решение для другой системы, исполненное с помощью этих данных. С самим вопросом это не связано...

xml-код:
----------------------------
<?xml version="1.0" encoding="windows-1251"?>
<document>
<structure id="66" menu_id="8">
<current_structure_id>6</current_structure_id>
<name>English</name>
<show>1</show>
<show_link>1</show_link>
<level>0</level>
<id_parent>0</id_parent>
<is_external_link>1</is_external_link>
<external_link>/eng/about/</external_link>
/english/
<propertys>
<property type="File" id="31" name="photo">
<property_name>photo</property_name>
<value>orient_08.gif</value>
<photo>orient_08.gif</photo>
<property_file_path>download_file.php?download_propertys_values_id=31</property_file_path></property>
<property type="File" id="32" name="photo2">
<property_name>photo2</property_name>
<value>lang_08.gif</value>
<photo2>lang_08.gif</photo2>
<property_file_path>download_file.php?download_propertys_values_id=32</property_file_path></property>
</propertys>
</structure>
<structure id="67" menu_id="8">
<current_structure_id>6</current_structure_id>
<name>Русский</name>
<show>1</show>
<show_link>1</show_link>
<level>0</level>
<id_parent>0</id_parent>
<is_external_link>1</is_external_link>
<external_link>/about/</external_link>
/russkijj/
<propertys>
<property type="File" id="33" name="photo">
<property_name>photo</property_name>
<value>orient_10.gif</value>
<photo>orient_10.gif</photo>
<property_file_path>download_file.php?download_propertys_values_id=33</property_file_path></property>
<property type="File" id="34" name="photo2">
<property_name>photo2</property_name>
<value>lang_10.gif</value>
<photo2>lang_10.gif</photo2>
<property_file_path>download_file.php?download_propertys_values_id=34</property_file_path></property>
</propertys>
</structure>
<structure id="68" menu_id="8">
<current_structure_id>6</current_structure_id>
<name>O`zbek</name>
<show>1</show>
<show_link>1</show_link>
<level>0</level>
<id_parent>0</id_parent>
<is_external_link>1</is_external_link>
<external_link>/uzb/about/</external_link>
/ozbek/
<propertys>
<property type="File" id="35" name="photo">
<property_name>photo</property_name>
<value>orient_12.gif</value>
<photo>orient_12.gif</photo>
<property_file_path>download_file.php?download_propertys_values_id=35</property_file_path></property>
<property type="File" id="36" name="photo2">
<property_name>photo2</property_name>
<value>lang_12.gif</value>
<photo2>lang_12.gif</photo2>
<property_file_path>download_file.php?download_propertys_values_id=36</property_file_path></property>
</propertys>
</structure>
</document>
so I drift down... in my steep-sided un-reality...
#
Re: родительский узел
Нет, я думаю не надо ничего дублировать. Могу посоветовать Вам оставить только одно меню, и все узлы структуры отнести к этому меню(т.е. меню "дополнительное меню" не потребуется). Затем добавить дополнительное свойство для узлов структуры, например под названием "Горизонтальное меню". И узлам, которые необходимо показывать в горизонтальном верхнем меню, проставить значение этого доп. свойства как "1", а остальным узлам можно оставить все без изменений. Затем можно подготовить 2 XSL-шаблона для меню(в принципе, можно использовать только один), в один из которых потребуется добавить проверку значения доп. свойства "Горизонтальное меню" для каждого узла и в зависимости от результатов этой проверки показывать или нет данный узел структуры. Во втором XSL-шаблоне можно реализовать показ всей структуры.
Т.е. у Вас в макете(или шаблоне страницы) метод показа структуры сайта будет вызываться дважды(для горизонтального и вертикального меню), причем ID меню будет одним и тем же, а XSL-шаблоны  - разные.
#
Re: родительский узел
Спасибо, Наталья! Да, так будет гораздо лучше
so I drift down... in my steep-sided un-reality...
#
Re: родительский узел
Всегда пожалуйста
Авторизация