Всем привет и хорошего настроения!
Сегодня покажу как можно запретить пользователям оставлять больше одного комментария к материалу.
Данная задача появилась совсем случайно когда я делал доску фрилансеров и там нужно было ограничить количество заявок от фрилансеров на исполнения заказа то есть запретить подавать 2 и более предложения
и так как я работаю с бесплатным юкозом то в качестве предложений используется комментарий в котором фрилансер описует своё предложение время исполнения и цену
Ну и так как задача была ясна нужно было придумать способ который ограничил бы добавление комментариев от одного пользователя к материалу до одного комментария
и тут нам очень повезло так как в юкозе есть условный оператор который нам в этом и поможет
а выглядит он так
$IS_OWN$ - флаг, указывающий, что комментарий принадлежит текущему пользователю
ну и конечно нам нужен будет небольшой скрипт который будет скрывать форму добавления и выводить информацию - блок с текстом где мы будем сообщать пользователю - фрилансеру о том что он не может оставлять больше одного предложения
Вид такого блока с уведомлением
Ну теперь приступим к установки данного решения
Для начало нам нужно зайти в Панель управление > Управление дизайном > Вид комментариев и в самый низ после всего кода что у вас там есть добавить код ниже
Код
<?if($IS_OWN$=1)?><?if($CUR_GROUP_ID$='4')?><?else?>
<script>$(document).ready(function(){
$("#uform_otvet").css('display', 'none');
$("#inf_plus_otvet").css('display', 'block');
});
</script><?endif?><?endif?>
Так же на всякий случай я отменил работу скрипта для
Администратора сайта то есть для пользователей из группы под номером
4 группу можно изменить или добавить ещё и другие группы для которых скрипт не будет работать
Это делается следующим условием
|| $CUR_GROUP_ID$='5' Теперь нам нужно зайти Панель управления > Управление дизайном > Нужный модуль к примеру доска объявлений > Страница материала и комментариев к нему и найти там такой оператор
$COM_ADD_FORM$ и заменить его на код ниже
Код
<style> #inf_plus_otvet {display: none;background: #4E72C2;text-align: center;padding: 10px 20px;color: #FFF;font-size: 16px;} </style>
<div id="inf_plus_otvet">>Вы можете подавать только одно предложение</div>
<div id="uform_otvet">
$COM_ADD_FORM$
</div>
вот и всё не забываем сохранить!