Полная Версия: Динамическое меню
olgap251087
Установила модуль "Динамическое меню", но не могу изменить дизайн.
проблема в том, что названия пунктов меню я достаю из базы данных. Меню выпадающее. Пункт меню в котором есть выпадающее должен выглядеть так:
картинка=пункт меню=картинка,
а где нет выпадающего
картинка=пункт меню=НИЧЕГО!!!!!!!
При наведении мышки на пункт где нет выпадающего вылазит пустая рамочка, от этого тож не знаю как избавиться!!!!!!!!
Не получается так сделать. Может кто-нибудь поможет. Я просто совсем новичек в этом деле.
Все формируется автоматически, я пробовала изменить, но не получается.
dudeonthehorse
код в студию, или рабочий пример на сайте, а лучше и то и другое
olgap251087
кода много очень.
вставляю кусок, он не выводит вообще ничего.

$query=("select * from dle_menu_top where link");
$res=mysql_query($query);

while ($row=$db->get_array($res))
{
if ($row['link']=='/')
?>
<li> <table> <tr> <td> <img src="{THEME}/bullet.gif" border=0/> </td> <td> {menu_top_title} </td> <td></td> </tr> </table>


</li> <?
//$tpl->load_template('menu/'.$type_menu['tag'].'2.tpl');

if ($row['link']!='/')
?>
<li> <table> <tr> <td> <img src="{THEME}/bullet.gif" border=0/> </td> <td> {menu_top_title} </td> <td> <img src="{THEME}/images/punkt.gif" border=0> </td> </tr> </table>
<ul class=menu00 >
{menu_content}
</ul>

</li> <?
//{$tpl->load_template('menu/'.$type_menu['tag'].'.tpl');}
dudeonthehorse
теперь немного понятнее. хотелось бы посмотреть рабочий пример, полагаю сайт лежит в сети? ссылочка не помешает. без наглядности не так просто найти решение.
olgap251087
http://rct.gomel.by/
dudeonthehorse
косяка не вижу ни в одном браузере, если речь идет о меню слева. да и построено оно, на сколько я могу судить, на другом шаблоне, нежели вы привели выше
olgap251087
это рабочая версия, а я делаю новую с этим шаблоном. если я могу вам показать нерабочую, то напишите как потому что я не знаю как это делать.
dudeonthehorse
новая версия меню принципиально отличается от рабочей? может не имеет смысла придумывать велосипед и сделать по аналогии с тем, что есть у вас сейчас? если все же велосипед нужен - могу показать пример простого меню на jquery, которое вы без труда вставите в свой шаблон.
olgap251087
старая написана программно, а передо мною задача создать динамическое меню, которое формируется в админ панели и загружается из базы данных. мне нужно, чтобы любой человек, который не знает вообще ничего в программировании добавил или удалил любой пункт меню
dudeonthehorse
для начала поключите к сайту библиотеку jquery. для этого между тегами <head> и </head> основного шаблона сайта пропишите
CODE
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>

после этой строчки вставьте
CODE
<script type="text/javascript">
 $(document).ready(function(){
  $('ul.my-menu li:has(ul)').css('background','url(путь к картинке) right no-repeat'); /* вешаем маленькую фоновую картинку для пункта имеющего подпункт */
  $('ul.my-menu li').hover(function(){
   $(this).find('ul').show(0); /* выводим выпадающее меню при наведении */
  },
  function(){
   $(this).find('ul').hide(0); /* прячем выпадающее меню при отведении */
  });
 });
</script>

это стили нашего меню
CODE
ul.menu li {
position:relative; /* даем браузеру понять, что именно от сюда будем позиционировать подпункты */
}

ul.my-menu ul {
display:none; /* этим мы скрываем подпункты меню в самом начале */
position:absolute; /* это значит что подменю будет располагаться абсолютно */
top:0; /* кординаты по вертикали  */
left:200px; /* координаты по горизонтали */
}

ul.my-menu a, ul.my-menu a:visited {
background:url(путь к картинке) left  no-repeat; /* вешаем маленькую фоновую картинку для значка в левой части пункта */
}

потом на основе шаблона меню необходимо построить менюшку такого типа:
CODE
<ul class="my-menu">
<li><a href="ссылка">названиие пункта</a></li>
<li>
 <a href="ссылка">названиие пункта</a>
 <ul>
  <li><a href="{ссылка}">название подпункта</a></li>
  <li><a href="{ссылка}">название подпункта</a></li>
  <li><a href="{ссылка}">название подпункта</a></li>
 </ul>
</li>
<li>
 <a href="ссылка">названиие пункта</a>
 <ul>
  <li><a href="ссылка">название подпункта</a></li>
  <li><a href="ссылка">название подпункта</a></li>
  <li><a href="ссылка">название подпункта</a></li>
 </ul>
</li>
<li><a href="ссылка">названиие пункта</a></li>
<li><a href="ссылка">названиие пункта</a></li>
</ul>
полагаю, тут вопросов возникнуть не должно.

единственное, что остается - лишь оформить этот список в css, чтобы привести меню к должному виду. и не нужно громоздить огромную структуру меню типа той, что вы приводили выше.

а за работу расставления меток меню и за его показ/скрытие отвечает небольшой скрипт, в начале этого сообщения.
olgap251087
Но названия пунктов меню и подменю мне нужно доставать из базы данных!
dudeonthehorse
QUOTE (dudeonthehorse @ Oct 18 2010, 02:17 PM)
потом на основе шаблона меню необходимо построить менюшку такого типа:

просто постройте это меню из базы на основе шаблонов в системе управления, как вы это делали в предыдущий раз
olgap251087
Пустую рамку не выводит (СПАСИБО ВАМ ОГРОМНОЕ), но и маленькой картинки после пункта нет, либо я неправильно адрес написала
{THEME}/images/punkt.gif
Если неправильно адрес напишите пожалуйста как правильно.
dudeonthehorse
попробуйте прописать путь без использования smatry переменных, а обычным путем от корня сайта. например:
CODE
/files/imges/punkt.gif
olgap251087
картинки прописаны, но не выводятся. выводятся они только если прописать в шаблоне tpl, но опять же они для всех пунктов
Шаблон
<li> {menu_top_title}
<ul class=my-menu >
{menu_content}
</ul>

</li>
dudeonthehorse
есть ли возможность выложить новый вариант в сеть? телепатически немного трудно разобраться
olgap251087
я не умею этого делать. я ОЧЕНЬ новичок в этом деле. как это можно сделать?
dudeonthehorse
хороший вопрос. но раз вы переделываете существующий сайт, значит вы взяли от куда то исходную информацию, которую собственно сейчас и редактируете. следовательно есть обратно пропорциональный способ вернуть назад обновленный вариант. будь то ftp соединение или панель управления сайтом. проконсультируйтесь у человека, который непосредственно занимается сайтом. если же такой возможности нет, можем начать (внимание!)долгую лекцию о том, как загружать сайт в Интернет, либо можете плюнуть на все работы по сайту и нанять специалиста. smile.gif они не много просят за подобные вещи
olgap251087
Спасибо, но долгую лекцию мне не нужно (заканчивается рабочий день). Сейчас я пользуюсь обычным бэкапом. Человека который в этом разбирается сейчас нет, он придет только для того, чтобы одобрить
dudeonthehorse
в таком случае этот человек вам и поможет обновить старую версию новой, либо сделать временное "зеркало" для новой версии сайта. а уже посмотрев на сайт в сети, смогу подсказать, почему картинка не отображается
olgap251087
ДОБРОЕ УТРО!
Ладно, забудем пока о картинках. Как мне сделать такую рамочку, чтобы все пункты находились в ней, а то те которые нашла я берут в рамку каждый подпункт. а мне надо чтобы выпадающее меню все находилось в общей рамочке
dudeonthehorse
если по моему примеру, по пункты построены на списке. если каждый подпункт в рамке, надо в стилях убрать эту рамку для элементов списка, и поставить ее для ul, который является подменю
Fast Reply:

 Enable Smilies |  Enable Signature
Здесь расположена полная версия этой страницы.
aceweb.ru