UMIhelp
Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: kuprumm от 04 Апреля 2011, 16:34:56
-
Добрый день.
Начал разбираться с xslt, хочу задать пару вопросов .
Скопипастил макрос для вывода нескольких меню из мануала - http://help-dev.umi-cms.ru/chapter.MenuWithXSLT.multimenu.html - после обработки запроса выводится пустая страница, несмотря на то, что помимо вывода меню в шаблоне я прописал тестовый текст и поставил картинку. Вопрос первый - пустая страница выводится при любой ошибке в синтаксисе xslt? И второй - макрос предполагает создания нескольких меню, а в админке юми, насколько я знаю, есть только главное меню.
Показать, какое меню выводить нужно таким запросом - <xsl:apply-templates select="document('udata://content/menu/0/2/(web)')/udata" mode="menu1"/> ?
/0/2/(web) - это корень меню, максимальная вложенность =2 и псевдостатический адрес страницы называется web, так?
-
Пустая страница выводиться при любой ошибке, даже если вы не закрыли тег картинки (<img src="1.jpg" >, а должно быть <img src="1.jpg" />).
исходя из синтаксиса вывода меню, мы можем выводить сколь угодно много меню, вопрос только в том, что для того чтобы система поняла что эта страница выводиться в меню у нас есть одна галочка "выводить в меню", параметр уровня влоденности и параметр из какого раздела выводить меню. То есть, вывести 2 разных меню этими средствами лежащими на одном уровне просто не получиться, а вот вывести 2 разных меню содержащих подстраницы разных страниц мы можем, так как указав разные разделы получим разные меню
и еще 0/2/(web) означает выводить меню по шаблону 0 (но шаблон не используется при xslt , так что тут все ок), с глубиной в 2 уровня, внутри страницы с именем web. Вот так макрос поймет ваши параметры
-
- Можно несколько одинаковых меню выводить, отличить их можно добавлением, например, mode="footmenu" для одно и mode="headmenu". Ключевое слово mode, конкретику можно посмотреть в готовых шаблонах.
- чтобы понимать, что за ошибка возникла, вместо того, чтобы смотреть на пустую страницу... в корне есть файл config.ini, надо, чтобы было так:
[debug]
enabled = "1"
-
а если мне надо вывести 2 меню, но все пункты 1 уровня? при том первая часть горизонтально выводится, а вторая часть вертикально... читала про position().. не очень подходит,так как привязывается позиция... и страница разделитель тоже не подходит, потому что тогда не разделить на 2 блока.. нельзя ли как то относительно этой страницы разделителя разделить меню на 2 блока... т.е. то что выше этой страницы в горизонтальном блоке, а то что ниже в вертикальном.