Drupal 7/ Как вывести сниппетом список 10 последних нод определенного типа

Главные вкладки

Аватар пользователя Valeratal Valeratal 10 мая 2011 в 21:34

собственно сабж

В 6-ке работало

<?php
unset ($output);
$node_type = "book";  //  тип документа
$list_no =10;  //  количество выводимых документов
$sql = "SELECT node.title, node.type, node.nid FROM {node} WHERE node.type = '$node_type' AND node.status = 1 ORDER BY node.created DESC LIMIT $list_no";
$output .= "<ul>";
$result = db_query($sql);
while ($anode = db_fetch_object($result)) {
$output .= "<li>".l($anode->title, "node/$anode->nid")."</li>";
}
$output .= "</ul>";
print $output;
?>

А в 7-ке изменения и код конечно не работает

Комментарии

Аватар пользователя olk olk 16 мая 2011 в 10:05

<?php
$limit = 10;
$type = 'article';
$result = db_select('node', 'n')
->fields('n',array('nid', 'title'))
->condition('type', $type)
->condition('status', 0, '>')
->orderBy('created', 'DESC')
->range(0, $limit)
->execute();
$items = array();
foreach ($result as $record) {
$items[] = l($record->title, "node/$record->nid");
}
if (count($items)) {
print theme('item_list', array('items' => $items));
}
?>

Аватар пользователя olk olk 11 мая 2011 в 10:01

"Pivr" wrote:

Ну да, в 7-ке, конечно же, while не работает.
Зачем ему, да? Он уже в 6-ке все отработал.


в 7-ке не работает db_fetch_object Smile а while как работал так и продолжает работать Wink

Аватар пользователя olk olk 16 мая 2011 в 10:11

"Valeratal" wrote:
Код olk выводит ссылки в виде node/id
а не node/синоним

Это не всегда удобно


Валера, не говори чушь Smile если синоним есть функция l (вернее даже функция url которая используется для построения пути в функции l) всегда преобразует путь к синониму ...
(да у меня в коде была маленькая ошибочка лишний слеш перед node ... может поэтому тебе показалось, что строятся не правильные пути)

Аватар пользователя Valeratal Valeratal 16 мая 2011 в 10:49

ну, может и слеш
просто, код выводил неправильные ссылки. Я добавил свой домен для вывода

Попробую теперь без слеша

спасибо

Аватар пользователя laconical laconical 12 сентября 2011 в 17:43

Господа!! А помогите усовершенствовать пожс-та этот сниппет чтоб он еще и выводил материалы пользователя. Чтоб можно было бы вставить блок на страницу профиля.