Сниппет, который выводит количество материалов по типам за опред. промежуток. Лучше посмотрите скриншот.
//Начальная дата:
$start_stamp = mktime(0, 0, 0, date("m"), date("d")-1, date("Y"));//За последний день
$start_stamp = mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));//За последний месяц
//Получаем массив нод по типам материалов:
$result=db_query("SELECT count(nid) as count, type FROM node
WHERE status = 1 AND created >'$start_stamp' GROUP BY type");
while ($result_type = db_fetch_object($result)) {
$count_results[$result_type->type]=$result_type->count;
}
//Выбираем нужные типы. Чтобы тип не брался в расчёт - закомментировать.
$node_types=array(
"corpo_warning" => "сообщений о корповорах: ",
"forum" => "мнений на форуме: ",
// "page",
// "story",
// "blog" => "записей в блогах",
"events" => "событий: "
);
//Обрабатываем 2 массива, чтобы сложить в строки:
foreach ($node_types as $type=>$message_string) {
if (isset($count_results[$type])) $today[]=$message_string.$count_results[$type];
}
//Получаем количество комментариев:
$result=db_query("SELECT count(nid) as count FROM comments
WHERE status = 0 AND timestamp >'$start_stamp'");
$result_type = db_fetch_object($result);
if ($result_type->count) $today[]="комментариев: ".$result_type->count;
//Выводим:
echo "СЕГОДНЯ: ". ((count($today)>0) ? implode(', ',$today): "пока нет новых материалов")."";
//Убираем за собой:
unset($today, $count_results, $start_stamp, $result, $message_string);
?>
Можно выводить все типы без разбора. Просто в моём случае это было не нужно.
Можно сделать страницы с таблицами этих материалов (Views) и делать ссылки на эти страницы.
В общем - совершенству нет предела.
Комментарии
Отличный примерчик.![Wink](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/wink.gif)
Хотя всё это можно сделать 1 SQL запросом. 2 таблицы и пару группировок
Поделитесь опытом, коллега! Код в студию!
(Хотя я сильно сомневаюсь, что у вас это получится)
Ну как так... - Работающий на этом сайте пример в http://www.drupal.ru/node/10422 доки за интервал и за несколько интервалов (1 SQL)![Wink](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/wink.gif)
http://www.drupal.ru/node/10422 где же ста страничка была раньше!? Я всё никак не мог подступиться к этой области:) (ушел учить свои нейроны mysql языку...)
куда делась та самая страничка?
верните документ!
Спасибо ))) правда просто нужно было вывести общее количество на данный момент, без временного интервала ))))))
а нет ли снипета, показывающего новое
например так:
за сегодня,
статей 10
статья 1
статья 2
------
статья10
тем форума 5
тема1
---
тема5
записей в блогах 0 (и не выводить эту строчку)