Счетчик комментариев в заголовке
Бился над проблемой вывода количества комментариев в главном заголовке комментариев (фигня какая-то ) т.е. когда мы переходим в саму ноду мы имеем:
Заголовок
дата / юзер
содержание
ссылки
Комментарии
комментарии
надо было сделать так:
Комментарии (10)
комментарии
Метод тыка родил такой код в template.php (для сборки швабрашвабры)
function aberdeen_shva_comment_num_all($nid) {
static $cache;
if (!isset($cache[$nid])) {
$cache[$nid] = db_result(db_query('SELECT comment_count FROM {node_comment_statistics} WHERE nid = %d', $nid));
}
return $cache[$nid];
}
function currentnode_nid(){
if (arg(0)=='node' && is_numeric(arg(1)))
return arg(1);
else
return 0;
}
function currentnode(){
return node_load(currentnode_nid());
}
/**
* Allow themable wrapping of all comments.
*/
function phptemplate_comment_wrapper($content, $type = null) {
static $node_type;
if (isset($type)) $node_type = $type;
if (!$content || $node_type == 'forum') {
return '<div id="comments">'. $content . '</div>';
}
else {
$output = aberdeen_shva_comment_num_all(currentnode_nid());
return '<div id="comments"><h2 class="comments">'. t('Comments') .' <span class="comment_counter">(' . $output .')</span></h2>'. $content .'</div>';
}
}
всё работает
в общем теперь вопрос к гуру PHP и друпала: правильно ли я сделал? может есть способы красивее и быстрее (оптимизированнее)?