За что люблю Битрикс: многие недочеты можно исправить с помощью API.
Столкнувшись с очередной проблемой, мы сделали собственное решение «Счётчик комментариев».
Суть проблемы:
В стандартных комплексных компонентах «Новости» и «Каталог» комментарии или отзывы реализуются с помощью форума.
Но количество комментариев обновляется не всегда:
Наш модуль пересчитывает и обновляет счетчик:
Из-за чего бывают проблемы:
1. Включенный кэш
Стандартный компонент обновляет кэш на форуме, но не обновляет кэш в инфоблоках. Следовательно пользователи будут писать новые комментарии, а количество комментариев будут видеть прежним.
Для абсолютного большинства сайтов наше решение подойдет. Исключение - некоторые особо крупные сайты, где миллионы элементов и сброс кэша инфоблока происходит долго.
2. Премодерация
Модератор может удалить или скрыть комментарий с форума. Стандартное средство это не учитывает. А наш модуль пересчитывает и записывает новое значение.
Настройки:
Выберите на странице настроек модуля форумы для комментариев. Для отмеченных, наше решение будет работать. Никаких действий больше не требуется, стандартные компоненты менять не надо:
Цена решения минимальна, доступны партнерские скидки, демо-период 30 дней. Демо-версия полностью функциональная.
На наших сайтах обновляется счетчик, а у вас?
UPD1 01.10.2012 Вышла вторая версия модуля, в которой реализованы многие идеи из обсуждения ниже.
UPD2 02.10.2012 Замечание. Для того, чтобы кэш сбрасывался, необходимо, чтобы управляемый кэш был включен. По умолчанию в Битриксе эта настройка включена.
Кстати, Артемий, вы не проверяли, случаем, научился ли bitrix:forum.topic.reviews после добавления комментария чистить кеш форума на всех сайтах при использовании многосайтовости? У меня по ряду причин используется forum.topic.reviews из 10 версии.
Провели эксперемент. При включенном управляемом кэше разместили комплексный компонент форума на двух сайтах. Сбросили кэш, походили по форумам, чтобы все закэшировалось, перешли к новостям и написали комментарий.
Комментарий появился на форуме на двух сайтах. Потом мы что-то написали на форуме на каждом сайте и у нас обновился список отзывов forum.topic.reviews. Наш счетчик в свойстве инфоблока тоже обновился.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».