Регистрация

Хак "Количество новостей в меню навигации"

TipTop 31-07-2009, 14:45 3764 Хаки DLE

Приветствую, уважаемые мастера и ученики.
Давно искал Хак или модуль, с помощью которого, в меню навигации показывалось бы количество новостей за сегодня и общее количество по конкретной категории. Наверное, я плохо искал и не нашел... Не силен в PHP, но почитав на сайте, как люди делают, решил попробовать сам. Подсказку дал пост "Вывод категорий сайта в меню" (спасибо автору) Это мое первое творение для DataLife Engine, потому прошу камни не очень большие бросать :-) Вот что получилось:
Хак "Количество новостей в меню навигации"

Внимание! Хак работает только с одноранговым меню (нету подкатегорий)
1) Открываем файл index.php, находим код
$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>[url=http://.$config[]'.$row['name']."   ".$row['new_']."/".$row['allnews_']."[/url]</div>";
}
$tpl->set('{main_menu}', $main_menu);
/******************************************************************/


2) Немного о формировании ссылок. Пункт меню формируется в коде

$main_menu.='<div>[url=http://.$config[]'.$row['name']."   ".$row['new_']."/".$row['allnews_']."[/url]</div>";


где
- переменная $config['http_home_url'] возвращает значение "http://ваш_домен/" (без кавычек)
- переменная $row['alt_name'] - это название категории латиницей (например: video)
- переменная $row['name'] - это название категории кирилицей (например: Видео)
- $row['new_'] - количество новостей данной категории за сегодня
- $row['allnews_'] - общее количество новостей по данной категории
В код можно вставить класс, согласно которому, будет отображаться менюшка. Например

$main_menu.='<div>[url=http://.$config[]'.$row['name']."   ".$row['new_']."/".$row['allnews_']."[/url]</div>";


В приведенном примере ссылка будет вида
_http://ваш_домен/video
3) Открываем шаблон /templates/ваш_шаблон/main.tpl
В нужном месте ставим {main_menu}
4) работающее меню можно посмотреть на _http://1024kbytes.com
5) тестировалось на DataLife Engine7.5
Спасибо за внимание :-)

Похожие новости

Прячем закрытые темы для Dle форума

Хак предназначен для засекречивания закрытых тем на форуме Автор: Dellok

03.06.10 Хаки DLE
Запрет публикации новостей в определенную категорию

Хак для DataLife Engine Запрет публикации новостей в определенную категорию. При помощи этого хака

08.11.09 Хаки DLE
Хак для DLE "Последний коммент"

Хак для DataLife Engine "Последний коммент" Хак повзолит пользователям при нажатии на

14.10.09 Хаки DLE

Комментарии (2)

avatar
#1 cryazone
На Java скриптах Как совместимость в браузерах
avatar
#2 Пользователь offline TipTop
_http://1024kbytes.com там пример можно посмотреть
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Powered by Dleshka.org. Сайт предназначен для выбора шаблонов и дополнений с использованием CMS DataLife Engine.
Закрыть