Комментирование топиков, техническая проблема

Уважаемые пользователи и разработчики!
При возникновении проблемы с комментариями к топику я не смог найти подобного обсуждения и поэтому вынес в отдельный топик, поэтому прошу не сердиться.
Проблема заключается в следующем, когда у топика добавляется допустим три комментария, а один мы условно удаляем за цензуру или еще что-то, то в превью остается отображаться три комментария. Я в начале думал пересчитать все показатели, которые есть через админку, думал мало ли поможет, но ничего не происходит.
Прошу помочь или дать совет, если кто-то сталкивался с такой проблемой.

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

avatar
то в превью остается отображаться три комментария
где?
avatar
у меня на сайте в шаблоне Atlass
avatar
я имел ввиду что не понял что за «превью»
avatar
Превью — это картинка с названием топика и частичным текстом, под которой указано количество комментариев и рейтинг.
avatar
Дело в том, что комментарии не удаляются, а только помечаются удаленными, то есть по факту все выводится правильно — 3 комментария в топике есть. :)
Если хотите чтобы цифра выводилась соответственно текущему количеству комментариев, не учитывая удаленные, то нужно переписать функцию вывода количества комментариев (которая показывает количество комментов под топиком и в общей ленте)
avatar
Все правильно, так и есть я в админке продолжаю их видеть, как удаленные, и могу восстановить. Подскажите пожалуйста как переписать функцию вывода, если конечно это не сложное техническое действие.
avatar
В файле classes/modules/comment/mapper/Comment.mapper.class.php

В начало функции UpdateComment добавить код
if($oComment->getDelete()){
	$this->DeleteCommentByTargetId($oComment->getId(), 'topic');
}


Этот код полностью удалит комментарий из БД, а не изменит его статут на удалён. Для полноты картины еще нужно обновить счетчик комментариев к топику. Но вот стоит ли его полностью удалять?
avatar
Большое спасибо за ответ, а почему Вы сомневаетесь в удалении бд? БД — это память сайта, как я понимаю? то есть дерево всех действий на сайте?
avatar
Дело хозяйское удалять или нет, но я бы хранил, пару килобайт БД не загрузят.
avatar
Хранили бы на случай, если слетит сайт, чтобы загрузить на сервер бэкап с БД комментариев, оставленных ранее.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.