UMIhelp
Разработка сайта на UMI.CMS => Макросы UMI.CMS => Тема начата: t1PSY от 01 Ноября 2011, 10:40:09
-
Здравствуйте, возникли проблемы с макросом %content menu()%. При попытке
передать параметр root_element_id макрос перестает работать. Синтаксис
%content menu('default', '1', '23')% в классическом шаблоне интернет магазина
(с хомячками).
-
проверь есть ли у тебя элемент с id 23, есть ли у него подстраницы с галочкой выводить в меню, и есть ли у тебя шаблон /tpls/content/menu/default.tpl и корректно ли он заполнен
-
Объясню по-другому
Первый шаг вызываю меню %content menu()% все прекрасно работает.
Второй шаг %content menu('default', '1', '23')% меню не отображается. 23 элемент это как раз таки и есть тот пункт меню который вызывается по дефолту!
Пробывал и в локал версии и на хостинге.
-
по дефолту, выводить меню сформированное из страниц первого уровня структуры, то есть их root_element_id = 0.
%content menu('default', '1', '23')% в любом случае не может выводить тоже самое что и %content menu()%, так как фактически %content menu()% = %content menu('default', '1', '0')%
поэтому указывая %content menu('default', '1', '23')% ты пытаешься вывести меню из элементов являющихся дочерними к странице с id =23.
проверь есть ли у тебя элемент с id 23, есть ли у него подстраницы с галочкой выводить в меню, и есть ли у тебя шаблон /tpls/content/menu/default.tpl и корректно ли он заполнен
Ты проверил все 3 пункта?
-
Страница по умолчанию у меня имеет id=23 и она вполне нормально существует со всеми 3 пунктами. Соответственно %content menu()% для меня фактически %content menu('default', '1', '23')%
-
страница по умолчанию это страница существующая в структуре соответственно имеющая свой id, а root_element_id=0 это не страница это корень всей структуры. и если еще раз внимательно обратиться к документации http://help-dev.umi-cms.ru/content.menu.html , то видим следущее
root_element_id - Если указан этот параметр, то меню отсчитываться не от корня дерева сайта, а от определенной страницы сайта.
ради интереса просто создайте подстраницу для вашей страницы с id = 23 и поставле у неё галочку "выводить в меню" а затем посмотрите что получится в результате отображения макроса %content menu('default', '1', '23')%
-
Админу +1 к телепатии :) от определенной родительской страницы. Спасибо разобрался. А можешь еще подсказать как лучше вывести названия элементов каталога в меню?
-
если хочешь выводить разделы или объекты каталога лучше выводить не через %content menu()%, так как этих элементов может быть очень много и всем галочки устанешь проставлять. Лучше пользоваться %catalog getCategoryList()%, %catalog getObjectsList()% или их комбинацией.
-
тему перенес для релевантности. http://umihelp.ru/forum/index.php/topic,768.0.html