Lab / Drupal

Ссылка на следующую ноду

Часто в проектах где портфолио является отдельной нодой, появляется необходимость переключатся между нодами вперёд и назад. Реализацию такого механизма мы и рассмотрим в нашей текущей заметке. Для начала добавляем в файл template.php вашей темы добавляем следующий код:
 function next_page_link($node){
 $next_nid = db_query("
 SELECT nid FROM {node}
 WHERE created > :created AND type = :type AND status = 1
 LIMIT 1",
 array(':created' => $node->created,':type' => $node->type))
 ->fetchObject();
 if($next_nid) {
 return '/'.drupal_get_path_alias('node/'.$next_nid->nid);
 }
 else {
 return false;
 }
 }
 
 function previous_page_link($node){
 $next_nid = db_query("
 SELECT nid FROM {node}
 WHERE created < :created AND type = :type AND status = 1
 ORDER BY created DESC
 LIMIT 1",
 array(':created' => $node->created,':type' => $node->type))
 ->fetchObject();
 if($next_nid) {
 return '/'.drupal_get_path_alias('node/'.$next_nid->nid);
 }
 else {
 return false;
 }
 } 
Затем в самом node.tpl.php там где вы желаете вывести ссылки, добавляем вывод ссылок на следующую и предыдущую ноду: <?php $next = next_page_link($node); $previous = previous_page_link($node); ?> <?php if($previous !== false): ?> < Туда <?php endif; ?> <?php if($next !== false): ?> Сюда > <?php endif; ?> Вот и вся магия. За вами осталась темизация CSS.