Такой вопрос назрел
Поставил снип (взят кажется отсюда, кажется автор Химический Али
$number=15;
$result = db_query_range(db_rewrite_sql(
"SELECT n.type,n.title,n.nid,cm.cid,u.uid,u.name,cm.cnt,cc.timestamp
FROM {node_comment_statistics} nc JOIN {node} n ON nc.comment_count > 0 AND n.nid=nc.nid
INNER JOIN (SELECT max(c.cid) as cid ,c.nid,count(c.cid) as cnt FROM {comments} c GROUP by c.nid ) cm
ON cm.nid=n.nid
INNER JOIN {comments} cc ON cc.cid=cm.cid
INNER JOIN {users} u ON u.uid=cc.uid
ORDER BY nc.last_comment_timestamp DESC"),0,$number);
$items=array();
while($comment=db_fetch_object($result)){
$items[] = '<b>'.theme('username',user_load($comment->uid)).
':</b>'. l($comment->title.' ('.$comment->cnt.')', 'node/'.
$comment->nid, array('fragment' => 'comment-'. $comment->cid));
}
if(count($items)){
print theme('item_list',$items);
}
?>
Все хорошо, но не нравятся 2 вещи
1. буллеты - выводится как элементы li
2. выделени болдом имя пользователя (с точки зрения SEO и вообще не слишком логично)
Что хотелось бы,
1. вместо li вставить элементы dl, dd, dt
2. возможность темизации каждого элемента
то есть , чтобы была возможность стилизации каждого элемента посредством css (то есть примерно как на хабре)
Комментарии
Убрать вывод болда, темизировать theme_username
':</dt><dd>' . l($comment->title.' ('.$comment->cnt.')', 'node/'.
$comment->nid, array('fragment' => 'comment-'. $comment->cid)) . '</dd>';
...
if(count($items)){
print '<dl>';
foreach ($items as $item) {
print $item;
}
print '</dl>';
}
Чтобы все удобнее темизировать, можно обернуть в div с определенным ID или CLASS.
Спасибо
могу я попросить Вас обернуть. А то в php не силен.
названия стилей можно любые, я подредактирую
print '<div class="on-air"><dl>';
foreach ($items as $item) {
print $item;
}
print '</dl></div>';
}
Спасибо, попробую
спасибо, получилось
понимаю, что надоел
вот если бы еще и "количество" затемизировать..
Добавить SPAN:
<?php
l($comment->title.' <span>'.$comment->cnt.'</span>', 'node/'.
?>
а в css накатать чото вроде
.on-air DL DD SPAN {
// тут описалово
}
или не добавлять и описать вид числа коментов путем задания вида для DD, а для имени пользователя и линка на материал отдельно описать стили
span что то выводится прямо кодом
Ах, черт, там какой-то параметр у функции l() есть чтобы хтмл выводило как хтмл...
На api.drupal.ru посмотри.