Как вывести последние несколько записей нод определенного типа сниппетом.
Конечно, можно использвать Views. Но зачем утяжелять? Приведу сниппет на примере вывода новостей.
Создаем блок для вывода. В коде блока пишем:
<?php
function cutString($string, $maxlen) {
$len = (mb_strlen($string) > $maxlen)? mb_strripos(mb_substr($string, 0, $maxlen), ' '): $maxlen;
$cutStr = mb_substr($string, 0, $len);
return (mb_strlen($string) > $maxlen) ? $cutStr . '...' : $cutStr;
}
$maxlen = 100; //максимальная длина текста
$type='_news'; // Нужный тип
$lim='2'; // Количество нод на страницу
$select=db_select('node', 'n')
->fields('n', array('nid', 'created'))
->condition('status', 1)
->condition('type', $type)
->orderby('created', 'desc')
->extend('PagerDefault')
->limit($lim)
->execute();
print('<div><ul>');
foreach ($select as $row) {
$node = node_view(node_load($row->nid),'body');
$body = $node['body'];
//получим путь к ноде (алиас)
$system_path = 'node/'.$row->nid;
$current_path = drupal_get_path_alias($system_path);
//заголовок в виде даты со ссылкой на ноду
print('<h5><li>');
print('<a href="'.$current_path.'">'.date('j.n.Y G:i:s',$body['#object']->created).'</a>');
print('</h5>');
$string = $body['#object']->body['und'][0]['value'];
print(cutString($string, $maxlen));
print('</li>');
}
print('</ul></div>');
?>
На забываем ставить вывод "PHP Code".
Справедливо для Drupal 7.