Выделяем цветом комментарии топикстартера

Приветствую всех пользователей LiveStreet!

В прошлый раз я рассказывал как выделить визуально комментарии админа сайта. После этого мне на глаза попадался комментарий одного из пользователей, который желал выделить цветом комментарии топикстартера.

Итак. Сделать это оказалось довольно легко. Как и с комментариями админа все делается также в два действия.

1. В файле comment.tpl находим следующие строчки:
<div id="comment_id_{$oComment->getId()}" class="comment {if !$oUserCurrent or ($oUserCurrent and !$oUserCurrent->isAdministrator())}not-admin{/if} {if $oComment->getDelete()} deleted{elseif $oUserCurrent and $oComment->getUserId()==$oUserCurrent->getId()} self{elseif $sDateReadLast<=$oComment->getDate()} new{/if}" >


и добавляем:
{if $oTopic and $oComment->getUserId() == $oTopic->getUserId()}topicstart{/if}


получаем:
<div id="comment_id_{$oComment->getId()}" class="comment {if !$oUserCurrent or ($oUserCurrent and !$oUserCurrent->isAdministrator())}not-admin{/if} {if $oComment->getDelete()} deleted{elseif $oUserCurrent and $oComment->getUserId()==$oUserCurrent->getId()} self{elseif $sDateReadLast<=$oComment->getDate()} new{/if} {if $oTopic and $oComment->getUserId() == $oTopic->getUserId()}topicstart{/if}" >


2. В файле comments.css добавляем стиль:
.comment.topicstart  { background: #желаемый цвет; }


Вот собственно и все. Напомню, что при должной сноровке и смекалке можно изменить не только цвет блока.

P.s.: Данный хак проверялся на шаблонах developer-jquery и new-jquery.

14 комментариев

avatar
Классная идея, надо припомнить ее. Спасибо
avatar
Здорово, спасибо)

Надеюсь в новом дефолтном шаблоне это по умолчанию будет, все-таки это полезная мелочь)
avatar
На то шаблон и стандартный, что он должен быть напичкан по минимуму. А это добавление на любителя.
avatar
Странно, мне кажется это универсальное добавление, подходящее для всех. Например, на форуме очень удобно, когда ответы топикстартера обозначены. Просто их не обязательно цветом выделять, можно рядом с ником значок ставить. Это тоже достаточно просто реализуется.
avatar
Я планирую сделать шаблон, если время найду, там будет реализована эта «фича».
avatar
имхо этот if надо впендюривать сразу после класса comment, дабы цвета переписывались классами-индикаторами
avatar
Можно и так. Я лишь показал возможность, а остальное зависит от полета фантазии верстальщика.
комментарий был удален
avatar
При добавлении коммента он остается точно таким же, каким и был. Изменения появляются только после рефреша.
avatar
Это в том случае, если вы используете выделение фоном. На одном сайте я делал значок возле аватара. Там при добавлении комента, он сразу появлялся.
avatar
P.s.: А в случае с бэкграундом такое происходит из-за того, что при публикации коммента он выделяется (до рефреша) другим цветом. Здесь на офсайте он зеленый. Вы не замечали?
avatar
я замечал, можете себе представить ))

Я добавил все, как сделал топистартер. Вместо фона применил font-size. АНалогично — меняется только после рефреша. ну ладно, разберемся тогда.
avatar
Первый пост коммента добавляется через жс (comments.js)
avatar
и как сделать правильно, чтобы изменения добавлялись сразу после публикации? если вам не трудно, разумеется)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.