freeprogs.kiev.ua 0 Опубликовано: 10 января 2008 Рассказать Опубликовано: 10 января 2008 Как реализовать, чтобы в шаблоне возле названия категории в () выводилось количетсво новостей в данной категории или подкатегории. Что-то по типу: Программы (345) Фильмы (34) Цитата Ссылка на сообщение Поделиться на других сайтах
Stigmata 1 Опубликовано: 10 января 2008 Рассказать Опубликовано: 10 января 2008 (изменено) Например так: 1. добавляешь в папку engine/modules/ файл cats_count.php с таким кодом: <?php if(!defined('DATALIFEENGINE')) { die("Hacking attempt!"); } $row = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE category = '2'"); $cat_films_count = $row['count']; ?> где 2 номер категории фильмов 2. инклудишь его в engine.php 3. в index.php пишешь: $tpl->set('{films_count}',$cat_films_count); 4. в main.tpl вставляешь {films_count} Изменено 10 января 2008 пользователем Stigmata Цитата Ссылка на сообщение Поделиться на других сайтах
freeprogs.kiev.ua 0 Опубликовано: 10 января 2008 Рассказать Опубликовано: 10 января 2008 Автор не работает Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 10 января 2008 Рассказать Опубликовано: 10 января 2008 (изменено) Тебе общий план показали, а так вообще то составляешь foreach для массива $cat_info и в каждом цикле запрос на количество новостей, правда запрос другой немного... попробуй так foreach ($cat_info as $c_c) { if ($config['allow_multi_category']) $wCount = "category regexp '[[:<:]](".$c_c.")[[:>:]]'"; else $wCount = "category IN ('".$c_c."')"; $row = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE ".$wCount); $newsCount .= '<li>'.$c_c['name'].'('.$row['count'].')</li>'; } $newsCount = '<ul>'.$newsCount.'</ul>'; unset($wCount); может что-то и не так. само собой результат кэшируй Изменено 10 января 2008 пользователем lifestar Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 11 января 2008 Рассказать Опубликовано: 11 января 2008 Утро вечера мудренее и я правлю ошибки... foreach ($cat_info as $c_c) { if ($config['allow_multi_category']) $wCount = "category regexp '[[:<:]](".$c_c['id'].")[[:>:]]'"; else $wCount = "category IN ('".$c_c['id']."')"; $row = $db->super_query('SELECT COUNT(*) as count FROM ' . PREFIX . '_post WHERE '.$wCount); $newsCount .= '<li>'.$c_c['name'].'('.$row['count'].')</li>'; } $newsCount = '<ul>'.$newsCount.'</ul>'; unset($wCount); Цитата Ссылка на сообщение Поделиться на других сайтах
Shoma 0 Опубликовано: 14 января 2008 Рассказать Опубликовано: 14 января 2008 Обьясните куда код вставлять? Цитата Ссылка на сообщение Поделиться на других сайтах
dedugan 0 Опубликовано: 16 января 2008 Рассказать Опубликовано: 16 января 2008 может что-то и не так. само собой результат кэшируй А при таком варианте новости "ожидающие модерации" тоже считаются? Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.