UMIhelp

Разработка сайта на UMI.CMS => Макросы UMI.CMS => Тема начата: t1PSY от 01 Ноября 2011, 10:40:09

Название: %content menu()%
Отправлено: t1PSY от 01 Ноября 2011, 10:40:09
Здравствуйте, возникли проблемы с макросом %content menu()%. При попытке
передать параметр root_element_id макрос перестает работать. Синтаксис
%content menu('default', '1', '23')% в классическом шаблоне интернет магазина
(с хомячками).
Название: Re:%content menu()%
Отправлено: admin от 01 Ноября 2011, 12:48:17
проверь есть ли у тебя элемент с id 23, есть ли у него подстраницы с галочкой выводить в меню, и есть ли у тебя шаблон /tpls/content/menu/default.tpl и корректно ли он заполнен
Название: Re:%content menu()%
Отправлено: t1PSY от 01 Ноября 2011, 12:54:36
Объясню по-другому
Первый шаг вызываю меню %content menu()% все прекрасно работает.
Второй шаг %content menu('default', '1', '23')%  меню не отображается. 23 элемент это как раз таки и есть тот пункт меню который вызывается по дефолту!
Пробывал и в локал версии и на хостинге.
Название: Re:%content menu()%
Отправлено: admin от 01 Ноября 2011, 13:01:05
по дефолту, выводить меню сформированное из страниц первого уровня структуры, то есть их 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 пункта?
Название: Re:%content menu()%
Отправлено: t1PSY от 01 Ноября 2011, 13:19:58
Страница по умолчанию у меня имеет id=23 и она вполне нормально существует со всеми 3 пунктами. Соответственно %content menu()% для меня фактически %content menu('default', '1', '23')%
Название: Re:%content menu()%
Отправлено: admin от 01 Ноября 2011, 13:25:27
страница по умолчанию это страница существующая в структуре соответственно имеющая свой id, а root_element_id=0 это не страница это корень всей структуры. и если еще раз внимательно обратиться к документации http://help-dev.umi-cms.ru/content.menu.html , то видим следущее

root_element_id - Если указан этот параметр, то меню отсчитываться не от корня дерева сайта, а от определенной страницы сайта.

ради интереса просто создайте подстраницу для вашей страницы с id = 23 и поставле у неё галочку "выводить в меню" а затем посмотрите что получится в результате отображения макроса %content menu('default', '1', '23')%
Название: Re:%content menu()%
Отправлено: t1PSY от 01 Ноября 2011, 13:46:12
Админу +1 к телепатии :)  от определенной родительской страницы. Спасибо разобрался. А можешь еще подсказать как лучше вывести названия элементов каталога в меню?
Название: Re:%content menu()%
Отправлено: admin от 01 Ноября 2011, 13:59:49
если хочешь выводить разделы или объекты каталога лучше выводить не через %content menu()%, так как этих элементов может быть очень много и всем галочки устанешь проставлять. Лучше пользоваться %catalog getCategoryList()%, %catalog getObjectsList()% или их комбинацией.
Название: Re:%content menu()%
Отправлено: t1PSY от 01 Ноября 2011, 15:31:44
тему перенес для релевантности. http://umihelp.ru/forum/index.php/topic,768.0.html