Drupal → Сниппет вывода последних не утверждённых комментариев

12.12.2009

Сниппет полезен прежде всего администраторам.

<?php
$comments = db_query("
  SELECT nid, comment, timestamp, name
  FROM {comments}
  WHERE status = 1
  ORDER BY cid DESC
  LIMIT 0, 5
");

$html = '';
while ($comment = db_fetch_object($comments)) {
  $html .= '<li>';
  $html .= l(format_date($comment->timestamp, 'small'), 'node/' . $comment->nid) . ', '; // дата
  $html .= '<b>' . check_plain($comment->name) . '</b>:<br />'; // автор
  $html .= check_plain(drupal_substr(strip_tags($comment->comment), 0, 50)); // комментарий
  $html .= '</li>';
}

echo $html ? '<ul>' . $html . '</ul>' : 'пусто…';
?>

Что такое сниппет и как им пользоваться

Написанное актуально для
Drupal 6
Похожие записи

Комментарии

А как при помощи Drupal 7 API выводить комментарии связанные с текущей нодой в блоке?

Сделал так:

<?php
$nid=arg(1);
$comments = db_query("SELECT c.created as timestamp, b.comment_body_value as comment FROM {comment} as c left join {field_data_comment_body} as b on c.cid=b.entity_id WHERE c.nid = :nid", array(
  ':nid' => $nid,
));
$html = '';
foreach ($comments as $comment)
{
    $html .= '<div class="comm">';
    $html .= check_plain(drupal_substr(strip_tags($comment->comment), 0, 50));
    $html .= '<p class="commdate">'.format_date($comment->timestamp, 'short').'</p>';
    $html .= '</div>';
}
echo $html ? $html : 'нет комментариев';
?>

Можно-ли как-то оптимизировать?

xandeadx,
в Drupal 7 стандартный блок "Последние комментарии" выводит комментарии с такими ссылками: site.ru/comment/6#comment-6 (это так и должно быть?)
а хочется такую ссылку: site.ru/moya-pervaya-statja#comment-6

подскажите, пожалуйста, как реализовать.

Подскажите, пожалуйста, как сделать вывод последних комментариев как у вас в блоге?

Екатерина
26.10.2013, 22:25

Скажите, как переопределять theme_comment_block() для вопроса, который задан выше sashken-ом?

Добавить комментарий