olgap251087
Oct 18 2010, 12:55 PM
Установила модуль "Динамическое меню", но не могу изменить дизайн.
проблема в том, что названия пунктов меню я достаю из базы данных. Меню выпадающее. Пункт меню в котором есть выпадающее должен выглядеть так:
картинка=пункт меню=картинка,
а где нет выпадающего
картинка=пункт меню=НИЧЕГО!!!!!!!
При наведении мышки на пункт где нет выпадающего вылазит пустая рамочка, от этого тож не знаю как избавиться!!!!!!!!
Не получается так сделать. Может кто-нибудь поможет. Я просто совсем новичек в этом деле.
Все формируется автоматически, я пробовала изменить, но не получается.
dudeonthehorse
Oct 18 2010, 12:59 PM
код в студию, или рабочий пример на сайте, а лучше и то и другое
olgap251087
Oct 18 2010, 01:08 PM
кода много очень.
вставляю кусок, он не выводит вообще ничего.
$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
Oct 18 2010, 01:21 PM
теперь немного понятнее. хотелось бы посмотреть рабочий пример, полагаю сайт лежит в сети? ссылочка не помешает. без наглядности не так просто найти решение.
olgap251087
Oct 18 2010, 01:26 PM
dudeonthehorse
Oct 18 2010, 01:33 PM
косяка не вижу ни в одном браузере, если речь идет о меню слева. да и построено оно, на сколько я могу судить, на другом шаблоне, нежели вы привели выше
olgap251087
Oct 18 2010, 01:37 PM
это рабочая версия, а я делаю новую с этим шаблоном. если я могу вам показать нерабочую, то напишите как потому что я не знаю как это делать.
dudeonthehorse
Oct 18 2010, 01:43 PM
новая версия меню принципиально отличается от рабочей? может не имеет смысла придумывать велосипед и сделать по аналогии с тем, что есть у вас сейчас? если все же велосипед нужен - могу показать пример простого меню на jquery, которое вы без труда вставите в свой шаблон.
olgap251087
Oct 18 2010, 01:49 PM
старая написана программно, а передо мною задача создать динамическое меню, которое формируется в админ панели и загружается из базы данных. мне нужно, чтобы любой человек, который не знает вообще ничего в программировании добавил или удалил любой пункт меню
dudeonthehorse
Oct 18 2010, 02:17 PM
для начала поключите к сайту библиотеку 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
Oct 18 2010, 02:24 PM
Но названия пунктов меню и подменю мне нужно доставать из базы данных!
dudeonthehorse
Oct 18 2010, 02:30 PM
QUOTE (dudeonthehorse @ Oct 18 2010, 02:17 PM) |
потом на основе шаблона меню необходимо построить менюшку такого типа: |
просто постройте это меню из базы на основе шаблонов в системе управления, как вы это делали в предыдущий раз
olgap251087
Oct 18 2010, 03:28 PM
Пустую рамку не выводит (СПАСИБО ВАМ ОГРОМНОЕ), но и маленькой картинки после пункта нет, либо я неправильно адрес написала
{THEME}/images/punkt.gif
Если неправильно адрес напишите пожалуйста как правильно.
dudeonthehorse
Oct 18 2010, 03:44 PM
попробуйте прописать путь без использования smatry переменных, а обычным путем от корня сайта. например:
CODE |
/files/imges/punkt.gif |
olgap251087
Oct 18 2010, 04:01 PM
картинки прописаны, но не выводятся. выводятся они только если прописать в шаблоне tpl, но опять же они для всех пунктов
Шаблон
<li> {menu_top_title}
<ul class=my-menu >
{menu_content}
</ul>
</li>
dudeonthehorse
Oct 18 2010, 04:07 PM
есть ли возможность выложить новый вариант в сеть? телепатически немного трудно разобраться
olgap251087
Oct 18 2010, 04:13 PM
я не умею этого делать. я ОЧЕНЬ новичок в этом деле. как это можно сделать?
dudeonthehorse
Oct 18 2010, 04:28 PM
хороший вопрос. но раз вы переделываете существующий сайт, значит вы взяли от куда то исходную информацию, которую собственно сейчас и редактируете. следовательно есть обратно пропорциональный способ вернуть назад обновленный вариант. будь то ftp соединение или панель управления сайтом. проконсультируйтесь у человека, который непосредственно занимается сайтом. если же такой возможности нет, можем начать (внимание!)долгую лекцию о том, как загружать сайт в Интернет, либо можете плюнуть на все работы по сайту и нанять специалиста.
они не много просят за подобные вещи
olgap251087
Oct 18 2010, 04:44 PM
Спасибо, но долгую лекцию мне не нужно (заканчивается рабочий день). Сейчас я пользуюсь обычным бэкапом. Человека который в этом разбирается сейчас нет, он придет только для того, чтобы одобрить
dudeonthehorse
Oct 18 2010, 05:05 PM
в таком случае этот человек вам и поможет обновить старую версию новой, либо сделать временное "зеркало" для новой версии сайта. а уже посмотрев на сайт в сети, смогу подсказать, почему картинка не отображается
olgap251087
Oct 19 2010, 09:07 AM
ДОБРОЕ УТРО!
Ладно, забудем пока о картинках. Как мне сделать такую рамочку, чтобы все пункты находились в ней, а то те которые нашла я берут в рамку каждый подпункт. а мне надо чтобы выпадающее меню все находилось в общей рамочке
dudeonthehorse
Oct 19 2010, 11:21 AM
если по моему примеру, по пункты построены на списке. если каждый подпункт в рамке, надо в стилях убрать эту рамку для элементов списка, и поставить ее для ul, который является подменю
Fast Reply:
Powered by dgreen
Здесь расположена полная версия этой страницы.