Создается блок,который выводит все созданные за сутки материалы определенного типа(event).
Вот код,который подсчитывает кол-во маетериалов,а как вывести заголовки всех материалов?
чтоб было вот так:
Сегодня: событий: 4;
событие1
событие2
...
событие4
<?php
//Начальная дата:
$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(
"commm" => "комментов:",
"event" => "событий: "
);
//Обрабатываем 2 массива, чтобы сложить в строки:
foreach ($node_types as $type=>$message_string) {
if (isset($count_results[$type])) $today[]=$message_string.$count_results[$type];
}
// получаем заголовки статей нужного типа (event)
$result0=db_query("SELECT node.nid AS nid, node.title AS node_title FROM node node
WHERE (node.status <> 0) AND (node.type in ('event')) ORDER BY node_title DESC");
$result_type = db_fetch_object($result0);
//Выводим:
echo "Сегодня ". ((count($today)>0) ? implode(', ',$today): "пока нет новых материалов")."";
//Убираем за собой:
unset($today, $count_results, $start_stamp, $result, $message_string);
?>
Комментарии
если кому интересно:
<?php
$output = '';
$t='event'; //тип материала
$days=0; // за котороый день назад
$start_stamp = mktime(0, 0, 0, date("m"), date("d")-$days, date("Y"));
$end_stamp = mktime(0, 0, 0, date("m")-$days, date("d"), date("Y")); $r=db_query("SELECT DISTINCT COUNT(nid) as cnt FROM {node} WHERE type='event' AND created >'$start_stamp' ");
$r=db_rewrite_sql($r);
$count=db_result($r); $node_type = "event"; // тип материала
$node_count = 3; // кол-во выводимых заголовков
$sql = "SELECT node.title, node.nid FROM {node} WHERE (node.type = '$node_type')
AND (created >'$start_stamp') AND (node.status = 1) ORDER BY node.created DESC LIMIT $node_count";
$result0 = db_query($sql);
while ($anode = db_fetch_object($result0)) {
$output .= l($anode->title, "node/$anode->nid").'<br />';
}
print
t("Cегодня событий: ".$count);if($count == 0) {print t("Сегодня событий нет");}
print
$output;?>
А для шестёрки как будет выглядеть сниппет?
он и есть для 6ки. ошиблась при установки тега:)