UMIhelp

Разработка сайта на UMI.CMS => Шаблоны TPL => Тема начата: korogan от 21 Сентября 2011, 14:41:29

Название: И опять многоуровневое меню.
Отправлено: korogan от 21 Сентября 2011, 14:41:29
Здравствуйте!

Опять с толкнулся с проблемой не могу понять как сделать многоуровневое меню с таким кодом.
Оно у меня просто не работает. Ни в каком виде. Помогите пожалуйста.


				<ul class="mainMenu">
<li><a href="#"><span>о бренде</span></a></li>
<li class="submenuContainer"><a href="#"><span>продукция</span></a>
<ul class="submenu">
<li><a href="#">Краски</a></li>
<li><a href="#">Эмали</a></li>
<li><a href="#">Пропитки</a></li>
<li><a href="#">Морилки</a></li>
<li><a href="#">Лаки</a></li>
<li><a href="#">Защитные масла</a></li>
<li><a href="#">Грунтовки</a></li>
<li><a href="#">Инструмент</a></li>
<li><a href="#">Декоративные материалы</a></li>
<li><a href="#">Прочее</a></li>
</ul>
</li>
<li><a href="#"><span>где купить</span></a></li>
<li><a href="#"><span>интересное</span></a></li>
</ul>

Вызывал меню вот так %content menu('menu_2', '2')%

Большое спасибо.
Название: Re:И опять многоуровневое меню.
Отправлено: admin от 21 Сентября 2011, 15:14:03
я так понимаю вся проблема в том как вставить class="submenuContainer" который должен показывать подменю, так?

если у вас подменю показывается только у активного пункта меню(когда пункт меню соответствует текущей странице), то не вижу проблему, в блок menu_line_levelX_a прописываете данный класс,

а если у вас выпадающее меню срабатывает например на наведение мыши, то js добавляйте этот класс наведенному пункту меню и если у него есть подменю оно выведется

Или вопрос в чем-то другом?
Название: Re:И опять многоуровневое меню.
Отправлено: korogan от 21 Сентября 2011, 15:19:40
Да вопрос куда вставить class="submenuContainer"
Я его вставил вот тут
$FORMS['menu_line_level1_a'] = <<<END
<li class="submenuContainer"><a href="%link%"><span>%text%</span></a></li>
%sub_menu%
END;

И вот что получилось _http://ampaints.ru/produkciya/

Да совсем уже спятил </li> то в самый низ нужно поставить.
Все работает спасибо за помощь.
Это просто невнимательность.

Но тут встает вопрос в другом
Тут вот в чем фишка что когда жмешь на активный раздел он потом при наведении показывает другое наведение. Как для меню раскрывающегося.
_http://ampaints.ru/o_brende/ Как для ативного пункта меню
Название: Re:И опять многоуровневое меню.
Отправлено: admin от 21 Сентября 2011, 15:37:06
немного непонятно, зачем ты мешаешь разворот меню при наведении учитывая что это происходит только если мы наводим на пункт меню соответствующий текущей странице.

обычно либо подменю показывается в каком-то разделе только когда мы находимся на этой странице, либо подменю можно увидеть на любой странице при наведение на соответствующий пункт
Название: Re:И опять многоуровневое меню.
Отправлено: korogan от 21 Сентября 2011, 15:41:40
Я если честно запутался как лучше сделать
Название: Re:И опять многоуровневое меню.
Отправлено: admin от 21 Сентября 2011, 15:50:04
зависит от того что ты хочешь получить?

подменю показывается в каком-то разделе только когда мы находимся на этой странице,
либо подменю можно увидеть на любой странице при наведение на соответствующий пункт
Название: Re:И опять многоуровневое меню.
Отправлено: korogan от 17 Октября 2011, 19:18:55
Здравствуйте!

У меня опять вопрос касающийся шаблона для вывода меню
Есть такой HTML код самого меню:
<div id="menu">
<p id="item_active">О нас</p>
<p id="menu_item">&bull;</p>
<p id="menu_item"><a class="light" href="custom_framing/custom_framing.html">Багетное оформление</a></p>
<p id="menu_item">&bull;</p>
<p id="menu_item"><a class="light" href="gallery/gallery.html">Наши работы</a></p>
<p id="menu_item">&bull;</p>
<p id="menu_item"><a class="light" href="contacts/contacts.html">Контакты</a></p>


</div>

CSS;
#menu {width: 768px; margin: 0px; padding: 5px; background: #502b29; color: #c6bba4;
text-align: center; font-family: Verdana, sans-serif; font-size: 120%}
#menu_item, #item_active {display: inline; padding: 0px 5px; font-family: Arial, sans-serif}
#item_active {border: solid 1px #A78947}

Как не вставляю в шаблон все равно не то получается.
То что требуется получить тут _http://masters-baget.ru
Название: Re:И опять многоуровневое меню.
Отправлено: admin от 17 Октября 2011, 19:21:22
для того, чтобы сказать в чем у тебя ошибка, вначале не плохо было бы взглянуть на тот шаблон, который ты используешь
Название: Re:И опять многоуровневое меню.
Отправлено: korogan от 17 Октября 2011, 19:25:19
 делаю вот так:

<?php

$FORMS = Array();


$FORMS['menu_block_level1'] = <<<END
<div id="menu"
umi:element-id="%id%"
umi:module="content"
umi:method="menu"
umi:sortable="sortable"
umi:add-method="popup"
umi:region="list"
umi:button-position="bottom right"
>
%lines%
</div>

END;

$FORMS['menu_line_level1'] = <<<END
<p id="menu_item">&bull;</p>
<p id="menu_item"><a class="light" href="%link%"
umi:element-id="%id%"
umi:field-name="name"
umi:delete="delete"
umi:region="row"
umi:empty="Название страницы"
>
  %text%
</a></p>

END;

$FORMS['menu_line_level1_a'] = <<<END
<p id="item_active"><a class="light" href="%link%"
umi:element-id="%id%"
umi:field-name="name"
umi:delete="delete"
umi:region="row"
umi:empty="Название страницы"
>
  %text%
</a></p>

END;

?>
Название: Re:И опять многоуровневое меню.
Отправлено: admin от 17 Октября 2011, 19:34:07
то есть у тебя проблема с булетами насколько я понимаю...

почитай в документации, там описан вариант вывода разделителя пунктов меню http://help-dev.umi-cms.ru/content.menu.html#tplDesc
или посмотри видео урок (http://umihelp.ru/388/video-multi-level-menu-tpl/), там по моему тоже есть про разделители (хотя уже не помню если чесно)
Название: Re:И опять многоуровневое меню.
Отправлено: korogan от 17 Октября 2011, 19:53:06
А куда нужно ввести %separator% и куда подставить сам html
Что то я так и не разобрался
Название: Re:И опять многоуровневое меню.
Отправлено: admin от 17 Октября 2011, 20:03:03
<?php

$FORMS = Array();


$FORMS['menu_block_level1'] = <<<END
<div id="menu"
umi:element-id="%id%"
umi:module="content"
umi:method="menu"
umi:sortable="sortable"
umi:add-method="popup"
umi:region="list"
umi:button-position="bottom right"
>
%lines%
</div>

END;

$FORMS['menu_line_level1'] = <<<END

<p id="menu_item"><a class="light" href="%link%"
umi:element-id="%id%"
umi:field-name="name"
umi:delete="delete"
umi:region="row"
umi:empty="Название страницы"
>
  %text%
</a></p>%separator%

END;

$FORMS['menu_line_level1_a'] = <<<END
<p id="item_active"><a class="light" href="%link%"
umi:element-id="%id%"
umi:field-name="name"
umi:delete="delete"
umi:region="row"
umi:empty="Название страницы"
>
  %text%
</a></p>%separator%

END;

$FORMS['separator'] = <<<END
<p id="menu_item">&bull;</p>
END;

$FORMS['separator_last'] = <<<END
 
END;


?>
Название: Re:И опять многоуровневое меню.
Отправлено: korogan от 17 Октября 2011, 20:15:52
Скопировал в шаблон то что Вы дали.
Все равно не то получается.
Вот исходный вариант, то что в идеале должно получится _http://masters-baget.ru/design/design.html
А вот то что получается
_http://new.masters-baget.ru/bagetnoe_oformlenie/
Название: Re:И опять многоуровневое меню.
Отправлено: korogan от 17 Октября 2011, 20:40:09
Извеняюсь за свою невнимательность и тупость.
Все работает отлично.
Огромное спасибо.
Название: Re:И опять многоуровневое меню.
Отправлено: admin от 17 Октября 2011, 20:54:41
korogan, в невнимательности нет тупости, главное что разобрался и что все работает