Мы в твиттере Мы в телеграме!

Провеббер » DataLife Engine » DLE хаки » ХАК для вывода категорий и подкатегорий в вертикальное меню средсвами css

Набор в команду! Ведется набор в команду, для наполнения сайта новым, интересным контентом. Если у тебя есть предложения, свободное время, ты обладаешь интересным контентом, и хочешь поделиться с другими?
Обращайся к нам в ЛС группы Вконтакте.

ХАК для вывода категорий и подкатегорий в вертикальное меню средсвами css

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно ХАК для вывода категорий и подкатегорий в вертикальное меню средсвами css.

ХАК для вывода категорий и подкатегорий в вертикальное меню средсвами css



Данный ХАК выводит категории сайта в меню средствами css

Тестировалось на DLE8.3

1) Открываем index.php (блокнотом или др.)
2) Ищем

$tpl->set('{AJAX}', $ajax);


3) Вставляем выше(вариант с подкатегориями 1-го уровня с кеш)

#-----------------------------------------#
if(file_exists(ENGINE_DIR.'/cache/cat_menu.tmp'))
{
   $cat_menu=file_get_contents(ENGINE_DIR.'/cache/cat_menu.tmp');
}
   else
{
   $sql_result = $db->query("SELECT id,alt_name,name,parentid FROM " . PREFIX . "_category WHERE parentid=0 ORDER BY posi");

   $cat_menu='<div id="menu">';
   $cat_menu.='<ul>';
   $cat_menu.='<li><a href="'.$config['http_home_url'].'" ><b>'.'Главная'.'</b></a></li>';
  
   while($row = $db->get_row($sql_result))
   {  

      $res = $db->query("SELECT id,alt_name,name,parentid FROM " . PREFIX . "_category WHERE parentid='".$row['id']."' ORDER BY posi");
    
if ($db->num_rows($res)>=1)
{
$cat_menu.='<li><a class="fly" href="'.$config['http_home_url'].$row['alt_name'].'/" alt="'.$row['descr'].'"><b> '.$row['name'].'<!--[if gte IE 7]><!--></b></a><!--<![endif]-->';
} else {
$cat_menu.='<li><a href="'.$config['http_home_url'].$row['alt_name'].'/" alt="'.$row['descr'].'"><b> '.$row['name'].'<!--[if gte IE 7]><!--></b></a><!--<![endif]-->';

        }

$cat_menu.='<!--[if lte IE 6]><table><tr><td><![endif]-->';
$cat_menu.='<ul class="level2">';
      while($row2 = $db->get_row($res))
      {


        
        $cat_menu.='<li> <a href="'.$config['http_home_url'].$row2['alt_name'].'/" alt="'.$row2['descr'].'"><b>'.$row2['name']."</b></a></li>";
        
      }
        $cat_menu.='</ul>';
        $cat_menu.='<!--[if lte IE 6]></td></tr></table></a><![endif]-->';
    $cat_menu.='</li>';    

   }

$cat_menu.='<li><a href="'.$config['http_home_url'].'feedback.html" >'."Обратная связь"."</span></a></li>";
$cat_menu.='<li><a href="'.$config['http_home_url'].'statistics.html" >'."Статистика"."</span></a></li>";
$cat_menu.='<li><a href="'.$config['http_home_url'].'rules.html" >'."Правила"."</span></a></li>";
$cat_menu.='<li><a href="'.$config['http_home_url'].'yasitemap" >'."Карта сайта"."</span></a></li>";


   $cat_menu.='</ul>';
   $cat_menu.='</div>';
   file_put_contents(ENGINE_DIR.'/cache/cat_menu.tmp',$cat_menu);
}
$tpl->set('{cat_menu}', $cat_menu);
#-----------------------------------------#

Сохраняем.

Создаем файл css - dropdown.css ложим в каталог style вашей темы
Содержимое

#menu {position:relative; z-index:500;}
#menu ul {padding:0; margin:0; list-style:none; width:90%; padding:5px; background:transparent;}
#menu ul ul {position:absolute; left:-9999px;}
#menu table {border-collapse:collapse; width:0; height:0; position:absolute; left:-1px; top:-1px;}
#menu ul li {width:98%; background:transparent;background: url("../images/quick_menu.png") no-repeat left top;}
* html #menu ul li {float:left;}
#menu ul li a {display:block; width:98%; padding:8px 10px 8px 5px; font:normal 11px verdana, sans-serif;color: #ff9209;font-weight: bold; text-decoration:none; background: url("../images/quick_menu.png") no-repeat left top; clear:left;}

/*#menu ul li a.fly {background: url("../images/quick_menu.png") no-repeat left top;}*/
#menu ul li a.fly {background: url(../images/arrow.gif) no-repeat 95% center;}


#menu ul li:hover {position:relative;}
#menu ul li a:hover {direction:ltr; background:#89a; color:#fff; border-color:#89a; position:relative;}
#menu ul li:hover > a {background:#ffa507; color:#ffffff; border-color:#89a;}

#menu ul :hover ul,
#menu ul :hover ul :hover ul,
#menu ul :hover ul :hover ul :hover ul,
#menu ul :hover ul :hover ul :hover ul :hover ul {left:100%; top:-5px;}

#menu ul :hover ul ul,
#menu ul :hover ul :hover ul ul,
#menu ul :hover ul :hover ul :hover ul ul {left:-9999px;}


Открываем main.tpl вышего шаблона перед дописываем
<link rel="stylesheet" media="all" type="text/css" href="/templates/Simple/style/dropdown.css" />


и в нужное Вам место для меню пишем
{cat_menu}


Если не корректно отображается список - проверьте файл стилей main.css
найдите

ul li {
    margin: 5px 0; padding: 0px 0 0px 14px;
    list-style-type: none;
    background: transparent url("../images/li.gif") no-repeat left 5px;
}


и заменить на это

ul li {
    margin: 0px 0; padding: 0px 0 0px 0px;
    list-style-type: none;
    
}


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


0
Просмотры: 25 024 :: Комментарии (12) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1mpgroup

  • 16 января 2010 13:35
  • Регистрация: 16.01.2010
  • Был(а) онлайн: 7.12.2010
  • Комментариев: 33
  • 0
надо будет попробывать замутить

#2dimon9855

  • 16 января 2010 14:49
  • Регистрация: 1.10.2009
  • Был(а) онлайн: 26.07.2012
  • Комментариев: 2
  • 0
а на ucoze??? можно сделать

#31nokia

  • 16 января 2010 14:50
  • Регистрация: 1.12.2009
  • Был(а) онлайн: 22.11.2016
  • Комментариев: 106
  • 0
dimon9855, можно, только выводить категории нужно будет вручную. Могу дать в личку пример.

#4explOit

  • 16 января 2010 19:39
  • Регистрация: 16.11.2009
  • Был(а) онлайн: 11.05.2023
  • Комментариев: 271
  • 0
класс, понравилось вообще, спасибо!

--------------------

#5Rusiant

  • 28 января 2010 22:28
  • Регистрация: 3.12.2009
  • Был(а) онлайн: 8.09.2013
  • Комментариев: 15
  • 0
Вполне крутая затея!

#6nsdss

  • 12 февраля 2010 11:47
  • Регистрация: 10.01.2010
  • Был(а) онлайн: 13.03.2015
  • Комментариев: 457
  • +1
Интересно, как вам можно ВООБЩЕ понравится, если тут ошибка есть, а про нее даже никто не написал?!
Обратите внимание на пункт 3.
Если бы мог отредактировать новость - сделал бы норм, а так просите об этом модеров или админа

--------------------

#7MrParadise

  • 22 февраля 2010 23:58
  • Регистрация: 29.01.2010
  • Был(а) онлайн: 29.04.2013
  • Комментариев: 70
  • +1
просто в пункте 3 вместо <link rel="stylesheet" media="all" ENGINE="text/css" href="/templates/Simple/style/dropdown.css" />

надо вот это

<style type="text/css" media="all">
@import url({THEME}/css/dropdown.css);
</style>
но как сделать чтоб меню выпадало то есть какую ссылку написать

--------------------

#8SadisT_UA

  • 23 февраля 2010 00:42
  • Регистрация: 23.02.2010
  • Был(а) онлайн: 13.02.2021
  • Комментариев: 10
  • 0
Прикольно,на некоторых сайтах видил. Есть 1 бок если у вас рекламма или флв банер,то она будет закрывать менюху.

#9scareface

  • 26 февраля 2010 11:28
  • Регистрация: 7.02.2010
  • Был(а) онлайн: 4.02.2013
  • Комментариев: 17
  • 0
а на движке 8.2 пойдет?

--------------------

#10Qube

  • 27 февраля 2010 15:22
  • Регистрация: 22.12.2009
  • Был(а) онлайн: 21.01.2014
  • Комментариев: 119
  • 0
Помогите устранить проблему, меню подкатегорий полностью не вылазит

_http://s03.radikal.ru/i176/1002/3e/5d2b44befc32.png

#11inventor69

  • 6 февраля 2011 17:17
  • Регистрация: 28.11.2010
  • Был(а) онлайн: 10.03.2013
  • Комментариев: 53
  • 0
А есть такой аналог на 9.2?

#12Mihran

  • 10 сентября 2012 14:35
  • Регистрация: 15.09.2009
  • Был(а) онлайн: 14.03.2022
  • Комментариев: 6
  • 0
А как его реализовать на 9.* Версиях ?

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Архив новостей
Ноябрь 2024 (9)
Октябрь 2024 (169)
Сентябрь 2024 (13)
Август 2024 (60)
Июль 2024 (12)
Июнь 2024 (30)

Последние комментарии: