<?php
$nodes = db_query("select nid from node where type='MYTYPE' order by created desc limit 10");
while ($node = db_fetch_object($nodes)) {
print node_view(noad_load($node->nid));
}
?>
Shedko, спасибо, твой код выручил.
Только подскажы, как добавить еще отображения названия (title) нода вот в этом участке:
while ($node = db_fetch_object($result)) {
$items[] = node_view(node_load(array('nid' => $node->nid)), $teaser = TRUE, $page = TRUE, $links = FALSE) ;
}
Как я понимаю, это можно сделать здесь: node_load(array('nid' => $node->nid)), но как?
То есть, получить обычный список нодов с заголовком, телом или teaser, если teaser - тогда title это ссылка на "полный" нод...
нашел эту тему в подшивке, решил дополнить ее следующим кодом:
<?php
global $user;
$output = '';
$result = pager_query(db_rewrite_sql("SELECT n.nid, n.created FROM {node} n WHERE n.type = 'ВАШ_ТИП_МАТЕРИАЛА' AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC"), 10 );
что оно делает:
В 5 версии появилась возможность создавать свои типы материалов (это еще даже без СCK) но вот вывести их можно только таксономией и другими способами не связанными именно с "типом", было непонятно а зачем тогда эти типы были созданы
К примеру у меня есть тип материала "плюшки", и в него выносятся разнообразные полезности, но вот как вывести хотя бы постранично все это богатство - не устанавливая Views. Приведенный код и выведет 10 статей типа "ВАШ_ТИП_МАТЕРИАЛА" именно разбитым на страницы, и разбивка на страницы будет работать проверял и на чистых url - работает.
Код собственно был "выдернут" из api.dripal.ru , с похожим кодом выводились "блоги".
Писал для сайта на Drupal 5, но можно глянуть на api.drupal.org как выводятся блоги под 6 и если не будет под ней работать, то взять код оттуда.
Комментарии
Примерно так:
<?php
$nodes = db_query("select nid from node where type='MYTYPE' order by created desc limit 10");
while ($node = db_fetch_object($nodes)) {
print node_view(noad_load($node->nid));
}
?>
хм, не работает чего то
отлаживать я не буду)
Вот этот код выведет 10 статей, не полных а их сокращенных версий.
$nlimit = 10;
$type = "ВАШ_ТИП_МАТЕРИАЛА";
$result = db_query_range(db_prefix_tables("SELECT n.created, n.title, n.nid
FROM {node} AS n, {users} AS u
WHERE n.type = '$type' AND n.status = 1 AND u.uid=n.uid
ORDER BY n.created
DESC "), 0, $nlimit);
while ($node = db_fetch_object($result)) {
$items[] = node_view(node_load(array('nid' => $node->nid)), $teaser = TRUE, $page = TRUE, $links = FALSE) ;
}
if (isset($items) && is_array($items) && count($items) > 0) {
foreach ($items as $item){
$output .= $item . "<p>";
}
}
print $output;
если нужны именно полные версии статей, то строчку
<code>
заменим на
<code>
$items[] = node_view(node_load(array('nid' => $node->nid)), $teaser = FALSE, $page = TRUE, $links = FALSE) ;
<code>
работает и проверялось на 5.0, 5.1, 5.2
Полезный сниппет, спасибо.
Shedko, спасибо, твой код выручил.
Только подскажы, как добавить еще отображения названия (title) нода вот в этом участке:
while ($node = db_fetch_object($result)) {
$items[] = node_view(node_load(array('nid' => $node->nid)), $teaser = TRUE, $page = TRUE, $links = FALSE) ;
}
Как я понимаю, это можно сделать здесь: node_load(array('nid' => $node->nid)), но как?
То есть, получить обычный список нодов с заголовком, телом или teaser, если teaser - тогда title это ссылка на "полный" нод...
Снипетты - http://setegnom.com/node/294
нашел эту тему в подшивке, решил дополнить ее следующим кодом:
<?php
global $user;
$output = '';
$result = pager_query(db_rewrite_sql("SELECT n.nid, n.created FROM {node} n WHERE n.type = 'ВАШ_ТИП_МАТЕРИАЛА' AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC"), 10 );
while ($node = db_fetch_object($result)) {
$output .= '
' . node_view(node_load($node->nid), 1) ;
}
$output .= theme('pager', NULL, 10 );
print $output;
?>
что оно делает:
В 5 версии появилась возможность создавать свои типы материалов (это еще даже без СCK) но вот вывести их можно только таксономией и другими способами не связанными именно с "типом", было непонятно а зачем тогда эти типы были созданы
К примеру у меня есть тип материала "плюшки", и в него выносятся разнообразные полезности, но вот как вывести хотя бы постранично все это богатство - не устанавливая Views. Приведенный код и выведет 10 статей типа "ВАШ_ТИП_МАТЕРИАЛА" именно разбитым на страницы, и разбивка на страницы будет работать проверял и на чистых url - работает.
Код собственно был "выдернут" из api.dripal.ru , с похожим кодом выводились "блоги".
Писал для сайта на Drupal 5, но можно глянуть на api.drupal.org как выводятся блоги под 6 и если не будет под ней работать, то взять код оттуда.
Shedko, спасибо. Использовал первый приведенный вами скрипт для вывода последних картинок под 6.6. Все замечательно работает
До снипета:
Page execution time was 2074.81 ms. Executed 173 queries in 803.02 milliseconds.
После:
Page execution time was 3862.42 ms. Executed 324 queries in 2159.88 milliseconds.
Кеш, правда, не включен, но запрос все равно должен быть один.
Последний код лучше, но все равно
Page execution time was 3626.09 ms. Executed 296 queries in 1996.35 milliseconds.
А как вывести просто заголовки конкретного типа нод?
http://docs.drupal.ru/node/33476