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

Как сделать, чтобы на форуме можно только создавать темы, а не отв-ть?

00 голосов
9
На форуме есть раздел вопросов граждан и ответов организации. Тоесть вопрос посетителя - ответ организации и тема закрывается. Никакие дискуссии или ответы третьих лиц, не имеющих отношения к организации не допускается. Здесь нужно всего лишь сделать так, чтобы в конкретном форуме зарегистрированные посетители могли только создавать темы и не могли отвечать на них. Так вот не пойму как это сделать. В правах доступа есть только чтение, ответ, новая тема. То есть если поставить ответ, посетитель не сможет создавать тему. Если поставить новая тема, посетители смогут создавать темы но смогут и отвечать! Версия битрикса 3. Смотрел в 5 версии - там тоже самое.
спросил 22 Апр, 13 от Kania (5,180 баллов)

9 Ответы

00 голосов
Так или иначе здесь придется кастомизировать форум, а именно его часть read.php. Есть несколько способов разрешить вашу ситуацию:
1. После созднания темы сразу ее закрывать. Пользователь с правами >= "Q" (модерирование) имеет право открывать и закрывать темы. Т.е. Вручную придется открывать и закрывать темы.
2. Можно немного по другому, например:
а. Показывать форму добавления сообщения только пользователю, права которо >= "модерирование";
б. Добавлять сообщение только при правах пользователя >= "Q" (модерирование). Если сообщение создано успешно, то тему закрывать. Иначе - показывать поле ввода.
Например:
Код
if ($PermissionUser >= "Q")
{
   ...
   $MID = ForumAddMessage("REPLY", $FID, $TID, 0, $arFieldsG, $strErrorMessage, $strOKMessage, false, $_POST["captcha_word"], 0, $_POST["captcha_code"]);
   $MID = IntVal($MID);
   if ($MID <= 0)
   {
      $bVarsFromForm = true;
   }
   else 
   {
      ForumOpenCloseTopic($TID, "CLOSE", $strErrorMessage, $strOKMessage);
      LocalRedirect("read.php?FID=".$FID."&TID=".$TID);
   }
}
.....
if (($arTopic["STATE"]=="Y") && ($PermissionUser >= "Q"))
{
   ...
   $APPLICATION->IncludeFile("forum/forum_tmpl_1/post_form.php", $arFormParams);
}
else
{
   ...
} 


Вариантов много smile:)
ответил 22 Апр, 13 от Kania (5,180 баллов)
00 голосов
Специалисты! Пожалуйста, ответьте на этот вопрос! Или посоветуйте, как лучше реализовать эту идею.
ответил 22 Апр, 13 от GUN2000 (140 баллов)
00 голосов
Забыла представиться smile:)
ответил 16 Июнь, 13 от Alarma (580 баллов)
00 голосов
а почему-бы не выстаивть уровень доступа к форуму создание, а не изменение. может получиться

ну или поставить тотальную премодерацию, тоде почти варинат без кастомизации
ответил 16 Июнь, 13 от Artes (260 баллов)
00 голосов
А что если большинству дать права гостя и как-то сохранить переменную, а у гостя не должно быть сообщений > 1. Это и будет условие
1) что никто не напишет больше.
2) вторая проверка - всем "остальным" закрыто, кроме администратора.

что-то в таком духе?
ответил 20 Сен, 13 от Romkka (580 баллов)
00 голосов
ДА.. вот судя по таким топикам и можно судить о качестве смс битрикс...

Вот простешую задачу отобразить отдельно ветвь форума (что-то типа комментариев к статьям) пришлось решать через такую ж***
ответил 19 Дек, 13 от Kania (5,180 баллов)
00 голосов
Цитата
Inna Chesnokova пишет:
Или посоветуйте, как лучше реализовать эту идею.


Цитата
Гость пишет:
Вот простешую задачу отобразить отдельно ветвь форума (что-то типа комментариев к статьям)...


Форум не предназначен для решения подобных задач. Лучше для этого использовать модуль инфоблоков.
Существуют готовые компоненты, на базе которых подобные задачи реализуются гораздо проще.
ответил 03 Апр, 14 от Olly (820 баллов)
00 голосов
Цитата
Гость пишет:
Вот простешую задачу отобразить отдельно ветвь форума (что-то типа комментариев к статьям)...

Видимо, вы просто не вникли в суть проблемы. Именно такой функционал, про который вы говорите, реализован.
Здесь же стоит задача иная.
ответил 27 Июль, 14 от Alarma (580 баллов)
00 голосов
Цитата
Гость пишет:
Вот простешую задачу отобразить отдельно ветвь форума (что-то типа комментариев к статьям) пришлось решать через


Что-то Вы действительно наверное это криво реализовали, выводится практически стандартными средствами системы.
Пишите точнее, поможем ВАМ вывести нужную ВАМ ветвь, на то он и форум.

А ответ не в тему у Вас.
ответил 29 Ноя, 14 от Romkka (580 баллов)