Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Счетчик комментариев

00 голосов
6
Добрый день!
подскажите, как реализовать следующую задачу:

есть новости, есть возможность оставлять комментарии (через привязку к форуму)

а на главной странице - самые главные новости добавляются вручную (так надо))
Можно ли к тем анонсам, которые мы пишем вручную на главной странице добавлять счетчик комментариев, привязанный к заданной (так же вручную) теме?
спросил 20 Май, 13 от Hideaki (160 баллов)

6 Ответы

00 голосов
Не совсем ясно каким образом вы выводите новости, но вытащить количество комментариев можно примерно так:
Код
<?
$arTopic = CForumTopic::GetByID(ID-темы-форума); //узнаём количество комментариев (отдаёт массив с параметрами топика. В количестве постов не учитывается первый пост) 
echo isset($arTopic['POSTS']) ? $arTopic['POSTS']+1 : 0;
?>
ответил 20 Май, 13 от Askaria (380 баллов)
00 голосов
Спасибо!
но не вышло((

я пишу:

<?
$arTopic = CForumTopic::GetByID(172);
echo isset($arTopic['POSTS']) ? $arTopic['POSTS']+1 : 0;
?>

а он мне после появления этой фразы не только не отображает количество комментариев, а ещё и прекрает выполнение страницы дальше...
может я что-то написал не так?

Цитата
monitoringe пишет:
Не совсем ясно каким образом вы выводите новости


просто на главной странице вручную например написано "Новая поставка", ссылка на новость (с каментами), и рядом хотелось бы написать количество комменатириев в той новости, что откроется.

Вручную это делается из-за того, что во первых не все новости надо на главную, во вторых название в новостях на главной и в списке различается, и на главную попадают не только новости, но и статьи, вопросы-ответы и прочие разделы если в них что-то интересное появляется
ответил 20 Май, 13 от Hideaki (160 баллов)
00 голосов
Забыл указать, что нужно модуль форума подключить.
Вот так оно работает:
<?
CModule::IncludeModule("forum");
$arTopic = CForumTopic::GetByID(172);
echo isset($arTopic['POSTS']) ? $arTopic['POSTS']+1 : 0;
?>

Вот только я бы не советовал вам вставлять такой код после каждой новости, как минимум нужно оформить в отдельную функцию.
ответил 06 Авг, 13 от Askaria (380 баллов)
00 голосов
Спасибо!!!
Всё заработало!

Отлично!!!!


а не стоит вставлять из за того, что будет перезагружать страницу?
если, допустим, около пяти новостей разместить с таким кодом?
ответил 07 Ноя, 13 от Hideaki (160 баллов)
00 голосов
Не стоит вставлять потому что увеличивается вероятность допущения ошибки (человеком), повторение кода тоже не есть хорошо. Ну и сопровождать чуть полегче будет, если это всё будет вызываться каким-нибудь <?=NumComments(172)?>
ответил 13 Фев, 14 от Askaria (380 баллов)
00 голосов
спасибо огромное!
ответил 04 Июнь, 14 от Hideaki (160 баллов)

Похожие вопросы

0 голосов
2 ответов
спросил 04 Май, 14 от Toph (100 баллов)
0 голосов
3 ответов
спросил 10 Сен, 13 от WazZzabY (120 баллов)
0 голосов
3 ответов
спросил 10 Авг, 13 от tinuck (260 баллов)
0 голосов
3 ответов
спросил 22 Март, 14 от Eliada (140 баллов)
0 голосов
1 ответ
спросил 25 Дек, 13 от Waerror (100 баллов)