Некоторые клиенты спрашивали о возможности быстрого просмотра первого сообщения каждой темы форума в списке без необходимости открытия темы в новом окне. Ниже предложен вариант решения такой задачи. [spoiler] Все довольно просто:
Шаг 1 - Копируем шаблон комплексного компонента Форум в наш шаблон сайта и открываем шаблон компонента forum.topic.list на редактирование (путь будет примерно следующий: /bitrix/templates/<мой шаблон сайта>/components/bitrix/forum/<мой шаблон форума>/bitrix/forum.topic.list/.default/template.php)
Находим ссылку, выводящую название темы:
< a href="<?=$res["URL"]["TOPIC"]?>" title="<?=GetMessage("F_TOPIC_START")?> <?=$res["START_DATE"]?>"><?=$res["TITLE"]?></a>
Заменяем ее на следующий код:
<script>
function showPreview(holder,topicID){
BX.ajax.get('/bitrix/components/bitrix/forum.topic.list/getdata.php?tid='+topicID,function (data) {
return BX.hint(holder,data);
}
);
}
</script>
< a href="<?=$res["URL"]["TOPIC"]?>" onmouseover="showPreview(this,<?=$res['ID']?>);" ><?=$res["TITLE"]?></a>
*Пробел между в тэге ссылки между < и a при копировании нужно убрать.
Шаг 2 - В папку компонента /bitrix/components/bitrix/forum.topic.list/ кидаем файл getdata.php, в котором выполняется вызов метода CForumMessage::GetList, кэширование и удаление форматирования из сообщения для предпросмотра.
Все. Теперь при наведении указателя мыши на ссылку с названием темы форума будет показан фрагмент первого сообщения (если фрагмент большой, то он будет обрезан).
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».