Drupal

Блок последних комментариев блога - DRUPAL 6

Как вывести блок последних комментариев в Drupal 6.

Данный код отображает последние комментарии в блоге пользователя для всех пользователей, которые просматривают блог.

  1. <?php
  2.  
  3. if($node = menu_get_object())
  4. {
  5.     $uid = $node->uid;
  6. }
  7. else
  8. {
  9.     $uid = $_GET[q];
  10.     $uid = substr($uid,5);
  11.     $uid = intval($uid);
  12. }
  13.  
  14. $comments = db_query('
  15. 	    SELECT c.cid, c.subject, c.nid, c.timestamp, n.uid
  16. 	    FROM {comments} c
  17. 	    LEFT JOIN {node} n ON c.nid = n.nid
  18. 	    WHERE n.uid = %d AND n.type = \'blog\'
  19. 	    ORDER BY cid DESC LIMIT 10', $uid
  20. 	    );
  21.  
  22. $list = array ();
  23.  
  24. while ($com = db_fetch_object($comments)) 
  25. {
  26.     $list[] = l($com->subject, 'node/'.$com->nid, array('fragment' => 'comment-'.$com->cid))
  27.     .''. t('@time ago', array('@time' => format_interval(time() - $com->timestamp)));
  28. }
  29.  
  30. if($list) 
  31. {
  32.     print theme('item_list', $list);
  33. }
  34.  
  35. ?>


Отображать блог следует только на страницах "blog/*", а также в нодах с типом "blog", сделать это можно с помощью следующего кода:
  1. <?php
  2. // Показываем в материалах типа БЛОГ
  3. if (arg(0) == 'node' && is_numeric(arg(1))) {
  4.   $node = node_load(array('nid' => arg(1)));
  5.   return $node->type == 'blog';
  6. }
  7.  
  8. // Показываем на страницах содержащих нулевой позицией BLOG
  9. $url = strpos($_GET[q], "blog");
  10. if ($url === 0) {
  11.   return true;
  12. }
  13. ?>