1) В файле index.php, находим код
выше его ставим код
/*********Навигация******************************************/
$sql_result = $db->query("select ct.name,
ct.alt_name,
ct.posi,
(select count(*) from ". PREFIX ."_post ps where ps.category = ct.id AND (DATE_FORMAT(date, '%Y%m%d')=CURDATE()) AND approve = '1') as new_,
(select count(*) from ". PREFIX ."_post ps where ps.category = ct.id AND approve = '1') as allnews_
from ". PREFIX ."_category ct
order by ct.posi"
);
$main_menu='';
while($row = $db->get_row($sql_result))
{
$main_menu.='<div><a href="'.$config['http_home_url'].$row['alt_name'].'" >'.$row['name']." ".$row['new_']."/".$row['allnews_']."</a></div>";
}
$tpl->set('{main_menu}', $main_menu);
/******************************************************************/
2) Пункт меню формируется в коде
$main_menu.='<div><a href="'.$config['http_home_url'].$row['alt_name'].'" >'.$row['name']." ".$row['new_']."/".$row['allnews_']."</a></div>";
где
- $config['http_home_url'] возвращает значение "http://ваш_домен/" (без кавычек)
- $row['alt_name'] - заглавие категории латиницей (к примеру: soft)
- переменная $row['name'] - заглавие категории кирилицей (к примеру: Софт)
- $row['new_'] - количество новостей данной категории за сейчас
- $row['allnews_'] - полное количество новостей по данной категории
В код можно вставить класс, согласно которому, будет отображаться менюшка. К примеру
$main_menu.='<div><a href="'.$config['http_home_url'].$row['alt_name'].'" class="navigation">'.$row['name']." ".$row['new_']."/".$row['allnews_']."</a></div>";
В приведенном примере ссылка будет вида
_http://ваш_домен/soft
3) О сортировке пт меню.
В админке в разделе "Категории", можно узреть напротив, как всем известно, каждой категории значение Position. Вот в котором порядке проставите эти значения, в таком и, вообщем то, покажет в менюшке.
4) Открываем шаблон /templates/ваш_шаблон/main.tpl
В подходящем месте ставим {main_menu}
5) работающее меню можно поглядеть на _http://1024kbytes.com
6) тестировалось на DLE7.5
$tpl->set ( '{AJAX}', $ajax );
выше его ставим код
/*********Навигация******************************************/
$sql_result = $db->query("select ct.name,
ct.alt_name,
ct.posi,
(select count(*) from ". PREFIX ."_post ps where ps.category = ct.id AND (DATE_FORMAT(date, '%Y%m%d')=CURDATE()) AND approve = '1') as new_,
(select count(*) from ". PREFIX ."_post ps where ps.category = ct.id AND approve = '1') as allnews_
from ". PREFIX ."_category ct
order by ct.posi"
);
$main_menu='';
while($row = $db->get_row($sql_result))
{
$main_menu.='<div><a href="'.$config['http_home_url'].$row['alt_name'].'" >'.$row['name']." ".$row['new_']."/".$row['allnews_']."</a></div>";
}
$tpl->set('{main_menu}', $main_menu);
/******************************************************************/
2) Пункт меню формируется в коде
$main_menu.='<div><a href="'.$config['http_home_url'].$row['alt_name'].'" >'.$row['name']." ".$row['new_']."/".$row['allnews_']."</a></div>";
где
- $config['http_home_url'] возвращает значение "http://ваш_домен/" (без кавычек)
- $row['alt_name'] - заглавие категории латиницей (к примеру: soft)
- переменная $row['name'] - заглавие категории кирилицей (к примеру: Софт)
- $row['new_'] - количество новостей данной категории за сейчас
- $row['allnews_'] - полное количество новостей по данной категории
В код можно вставить класс, согласно которому, будет отображаться менюшка. К примеру
$main_menu.='<div><a href="'.$config['http_home_url'].$row['alt_name'].'" class="navigation">'.$row['name']." ".$row['new_']."/".$row['allnews_']."</a></div>";
В приведенном примере ссылка будет вида
_http://ваш_домен/soft
3) О сортировке пт меню.
В админке в разделе "Категории", можно узреть напротив, как всем известно, каждой категории значение Position. Вот в котором порядке проставите эти значения, в таком и, вообщем то, покажет в менюшке.
4) Открываем шаблон /templates/ваш_шаблон/main.tpl
В подходящем месте ставим {main_menu}
5) работающее меню можно поглядеть на _http://1024kbytes.com
6) тестировалось на DLE7.5
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.
| #1 написал: kand2004 (4 августа 2009 01:15) | |
|---|---|
|
Группа: Гости Регистрация: -- |
Есть продолжение хака, где возникла возможность добавлять количество новостей в меню с хоть каким количеством подкатегорий, хоть какой вложености
Смотрите на _http://1024kbytes.com/articles/2322-kolichestvo-novostej-v-menyu-navigacii-dlya -dle.html |
| ICQ: -- | |
| #2 написал: Neo-dimon (18 апреля 2010 22:36) | |
|---|---|
|
Группа: Гости Регистрация: -- |
У меня dle 8.2 и этот хак неправильно работает, при загрузке главной страничке опосля выполнения всех вышеуказанных действий выдает ошибку ображения к базе данных и ссылается на строчку:
$sql_result = $db->query("select ct.id, (select count(*) from ". PREFIX ."_post ps where ps.category = ct.id AND (DATE_FORMAT(date, '%Y%m%d')=CURDATE()) AND approve = '1') as new_, (select count(*) from ". PREFIX ."_post ps where ps.category = ct.id AND approve = '1') as allnews_ from ". PREFIX ."_category ct" ); Вообще кто может подскажите что сделать чтоб все работало |
| ICQ: -- | |
