xandeadx.ru Блог музицирующего веб-девелопера

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

Опубликовано в

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

<?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
Похожие записи

Комментарии RSS

А как при помощи 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

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

переопределите theme_comment_block()

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

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

@Екатерина начните с мат части

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании