Нашёл такую вещ, но кажется она для пятёрки.
Подскажите, как для семёрки поправить?
<?php
$types
= array('ТИП_РАЗ', 'ТИП_ДВА', 'ТИП_...'); $num_nodes = 5;
$sql = "SELECT n.nid, n.title, n.created, nr.teaser FROM {node} n LEFT JOIN {node_revisions} nr ON n.vid = nr.vid WHERE n.status = 1 AND n.type in (". db_placeholders($types, 'text') .") ORDER BY n.created DESC";
/* Что бы все было аккуратно, ровно, и текст тизера был действительно похож на текст анонса, удалим из него ненужные пока теги функцией strip_tags(), и «подровняем» текст до еще более точно заданного количества символов в нем функцией truncate_utf8()(в коде примера - до 200 символов).
Тут, конечно, было бы уместнее использовать текст ноды целиком, но мы «запросили» у базы именно тизер, посему используем его(для наглядности описываемых действий достаточно). Если дополнительная обработка текста не нужно, то ниже закомментирован код вывода текста тизера «как он есть», раскомментируйте его и закомментируйте текущий.*/ $output .= '<div class="content">' . truncate_utf8(strip_tags($n->teaser), 200, TRUE, TRUE) . '</div>'; //$output .= '<div class="content">' . $n->teaser . '</div>';
Комментарии
Эээ... views.
А ещё варианты?
Модуль.
views
Кроме views.
Самописный.
Views 3.
Или
Нашёл такую вещ, но кажется она для пятёрки.
Подскажите, как для семёрки поправить?
<?php
$types
= array('ТИП_РАЗ', 'ТИП_ДВА', 'ТИП_...');$num_nodes = 5; $sql = "SELECT n.nid, n.title, n.created, nr.teaser
FROM {node} n
LEFT JOIN {node_revisions} nr ON n.vid = nr.vid
WHERE n.status = 1
AND n.type in (". db_placeholders($types, 'text') .")
ORDER BY n.created DESC";
$result = db_query_range($sql, $types, 0, $num_nodes);
while ($n = db_fetch_object($result)) {
$output = '<div class="node">';
$output .= '<h2 class="title">' . l($n->title, 'node/' . $n->nid). '</h2>' ;
$output .= '<div class="submitted">' . format_date($n->created, 'medium') . '</div>';
/* Что бы все было аккуратно, ровно, и текст тизера был действительно похож на текст анонса,
удалим из него ненужные пока теги функцией strip_tags(),
и «подровняем» текст до еще более точно заданного количества символов
в нем функцией truncate_utf8()(в коде примера - до 200 символов).
Тут, конечно, было бы уместнее использовать текст ноды целиком, но мы «запросили» у базы именно тизер,
посему используем его(для наглядности описываемых действий достаточно).
Если дополнительная обработка текста не нужно,
то ниже закомментирован код вывода текста тизера «как он есть»,
раскомментируйте его и закомментируйте текущий.*/
$output .= '<div class="content">' . truncate_utf8(strip_tags($n->teaser), 200, TRUE, TRUE) . '</div>';
//$output .= '<div class="content">' . $n->teaser . '</div>';
$output .= '</div>';
print $output;
}; ?>
Для шестерки..
SQL запрос перепиши под семерку и всё.
Спасибо. Но хотелось бы чуть подробнее.