Оформление (theming) комментариев...

Главные вкладки

Аватар пользователя sashka sashka 6 сентября 2007 в 20:00

Как оформить комментарии? Нужен полностью контролируемый xHTML-код на выходе. Речь идёт и про отдельный комментарий, и про "прибамбасы" Smile Например перед началом коментариев вставить заголовок "Комментарии пользователей" и "всего: 5, последний 23.02.2007 (37 минут назад)". Очень юзабельно, буду биться до конца...

Еще в рамках вопроса, есть вышеуказанное не возможно, как убрать заголовок комментария, аля drupal.ru... а там уж обойдусь средствами css...

Есть ли нюансы работы модуля nodecomment? Спрашиваю потому как при установке модудля посыпались ошибки и перестали отбражаться имеющиеся комментарии... работа блин ведётся на рабочем сайте...

Heee...lp...

Комментарии

Аватар пользователя sashka sashka 7 сентября 2007 в 13:53

> Заголовок комментария можно отключить в настройках комментариев.
После отключения заголовка в настройках они продалжают отбражаться... Smile Потому и создал сию ветку...

Вообще странно. Я натыкался на функцию переопределения theme_comment()... но html вывод был другой:

<div class="comment clear-block">
  <div class="picture">аватра</div>
  <h3><a class="active" href="...">Заголовок</a></h3>
  <div class="submitted">
    Опубликовано <a title="Информация о пользователе." href="/user/testuser">testuser</a> в чт, 08/16/2007 - 19:04.  </div>
  <div class="content">
    <p>содержимое...</p>
  </div>
  <ul class="links">
<li class="first comment_delete"><a class="comment_delete" href="/comment/delete/24">удалить форму</a></li>
<li class="comment_edit"><a class="comment_edit" href="/comment/edit/24">изменить</a></li>
<li class="last comment_reply"><a class="comment_reply" href="/comment/reply/51/24">ответить</a></li>
</ul></div>

То есть вообще не было, например, вот этих кусков кода в выводе:

<div class="credit">...</div>
<div class="body">...</div>
<div class="links">...</div>

собственно поэтому я и необратил внимание на эту функцию.
стоило переопределить функцию в template.php как html вывод начал делаться в соответсвии с этой функцией... но:
1. Включенные и работавшие аватары в комментах исчезли Sad в функции коммента нет даже упомянания на аватар. Пришлось свставить руками.
2. Убить строку с заголовком, правда он там не h3...
3. Хотелось бы узнать что делат вывод с h3

Аватар пользователя cosmos cosmos 7 июня 2008 в 13:16

вот пример функции перекрывающей вывод комментариев (вставляется в template.php)
(!)с выводом картинки аватара

function mytheme_comment($comment, $links = array()) {

$imgpath = ($comment->picture!='')? $comment->picture : 'guest.jpg';

  $output  = '<div class="comment'. ($comment->status == COMMENT_NOT_PUBLISHED ? ' comment-unpublished' : '') .'" style="clear:both">';
  //$output .= '<div class="subject">'. l($comment->subject, $_GET['q'], NULL, NULL, "comment-$comment->cid") .' '. theme('mark', $comment->new) ."</div>\n";
  $output .= '<div class="credit" style="width:120px;float:left;"><img src="/'.$imgpath.'"><p><b>'.$comment->name."</b></p></div>\n";
 
  $output .= '<div class="body"><p style="text-align:right"><small>'.format_date($comment->timestamp,'custom','d.m.Y').'</small></p>'.  $comment->comment .'</div>';
  $output .= '<div class="links">'. theme('links', $links) .'</div>';
  $output .= '</div>';
  return $output;
}

Аватар пользователя cosmos cosmos 7 июня 2008 в 13:31

здесь можно изменить вывод блока комметнариев, например вставить заголовок

function mytheme_comment_wrapper($content) {
  return '<div id="comments">
<h2 class="headline"><img alt="" src="/images/head-blog.png"/></h2>'
. $content .'</div>';
}