Можно ли в компоненте "Вопросы и ответы" назначать пользователй в виде модераторов?

 
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2702
Хочу сделать, чтобы на определнные категории в компоненте "Вопросы и ответы" могли отвечать назначенные пользователи. Возможно ли такое сделать? Т.е есь например категория "Медицинская консультация". Там люди здают вопросы, а назначенный пользователь может отвечать на вопросы только в этой заданной категории. Также после того как поступил вопрос ему на почту отправлялось бы уведомление о поступлении нового вопроса.
Надежный быстрый хостинг
Посетитель
small user social cms
Медаль
Сообщений: 150
Сообщайте о какой версии речь идет.
Хотите сказать спасибо, просто увеличьте карму!
Делай добро и бросай его в воду!
Реклама
cms
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2702
1.10.4
Надежный быстрый хостинг
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1544
Возможно.
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2702
Lora, напишите пожалуйста где и как там это назначается? не увидел такой настройки при создании категорий компонента
Надежный быстрый хостинг
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2702
или можете помочь реализовать такой функциональчик?
Надежный быстрый хостинг
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1544
Такой настройки нет, но реализовать можно, единственное не знаю пока как сюда
Код PHP:
  1. assign('labels', array('comments' => $_LANG['ANSWERS'], 'add' => $_LANG['REPLY'], 'rss' => $_LANG['RSS_FEED'], 'not_comments' => $_LANG['NOT_ANSWERS']))->
добавить условие, конкретно к переменной add. Т.е. как то так надо
Код PHP:
  1. assign('labels', array('comments' => $_LANG['ANSWERS'], if($a == $b)){'add' => $_LANG['REPLY']}, 'rss' => $_LANG['RSS_FEED'], 'not_comments' => $_LANG['NOT_ANSWERS']))->
это что бы скрыть от остальных "ответить". Если разберётесь вперёд меня пишите, остальное не вызывает проблем.
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2702
это для каждой категории вопросов и ответов надо будет условие добавлять?
Надежный быстрый хостинг
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1544
Надеюсь, что нет. Сейчас попробую $cfg заусловить.
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1544
1.Добавляете в базу cms_faq_cats поле (int) moder.
2.В backend.php в if ($opt == 'add_cat' || $opt == 'edit_cat') у меня 508стр. добавляете
Код PHP:
  1. <tr>
  2. <td><strong><?php echo $_LANG['AD_NAME_MODER']; ?>: </strong></td>
  3. <td><select name="moder" id="moder" style="width:220px">
  4. <option value="0" <?php if (!isset ($mod['moder'])){ echo 'selected'; } ?>>--</option>
  5. <?php if (isset($mod['moder']))
  6. {
  7. echo $inCore->getListItems('cms_user_groups', $mod['moder']);
  8. } else {
  9. echo $inCore->getListItems('cms_user_groups');
  10. }
  11. ?>
  12. </select></td>
  13. </tr>
3. В frontend.php заменяете блок if ($do=='read') на этот
Спойлер
4.Добавляете ф-цию в .../faq/model.php
Код PHP:
  1. public function Moder($id){
  2.  
  3. $sql = "SELECT con.*,
  4. cat.title cat_title, cat.id cat_id, cat.moder moder, u.login,
  5. u.nickname,com.target_id target_id,
  6. com.content answer
  7. FROM cms_faq_quests con
  8. LEFT JOIN cms_faq_cats cat ON cat.id = con.category_id
  9. LEFT JOIN cms_users u ON u.id = con.user_id
  10. LEFT JOIN cms_comments com ON com.target_id = con.id
  11. WHERE con.id = $id
  12. {$this->inDB->group_by}
  13.  
  14. {$this->inDB->order_by}\n";
  15. if ($this->inDB->limit){
  16. $sql .= "LIMIT {$this->inDB->limit}";
  17. }
  18.  
  19. $result = $this->inDB->query($sql);
  20.  
  21. if (!$this->inDB->num_rows($result)){ return false; }
  22.  
  23. $this->inDB->query("UPDATE cms_faq_quests SET hits = hits + 1 WHERE id = $id") ;
  24. $quests = array();
  25. while($quest = $this->inDB->fetch_assoc($result)){
  26.  
  27. $quest['pubdate'] = cmsCore::dateFormat($quest['pubdate'], true, false, false);
  28. $quest['answerdate'] = cmsCore::dateFormat($quest['answerdate'], true, false, false);
  29.  
  30. $quest['quest'] = nl2br($quest['quest']);
  31.  
  32. $quest['answer'] = nl2br($quest['answer']);
  33. $quests[] = $quest;
  34. }
  35. return $quests;
  36.  
  37. }
5. в файл /languages/ru/admin/components/faq.php ->
Код PHP:
  1. $_LANG['AD_NAME_MODER'] = 'Модератор';
6.Создаёте для каждой категории группу и добавляете ваших модераторов.
Всё.
p.s. Про шаблон ещё забыл. Файл com_faq_read.tpl
Спойлер
Редактировалось: 6 раз (Последний: 2 сентября 2014 в 10:51)
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2702
странно, не сохраняется выбранная группа.

так должна выглядеть структура таблицы?
Можно ли в компоненте \"Вопросы и ответы\" назначать пользователй в виде модераторов?
Надежный быстрый хостинг
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1544
Да так, int(11) вполне достаточно.Сейчас гляну, может что пропустил.И кстати в базу сохраняется не название группы, а id
Редактировалось: 1 раз (Последний: 31 августа 2014 в 12:17)
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1544
Да, сори, конечно пропустил. В backend.php
if ($opt == 'submit_cat'){... 262стр. у меня заменяем на

Код PHP:
  1. if ($opt == 'submit_cat'){
  2. if (!cmsCore::validateForm()) { cmsCore::error404(); }
  3. $parent_id = (int)$_REQUEST['parent_id'];
  4. $title = $_REQUEST['title'];
  5. $moder = $_REQUEST['moder'];
  6. $published = (int)$_REQUEST['published'];
  7. $description = $_REQUEST['description'];
  8.  
  9. $sql = "INSERT INTO cms_faq_cats (parent_id, title, moder, published, description)
  10. VALUES ($parent_id, '$title', '$moder', $published, '$description')";
  11. $inDB->query($sql);
  12. cmsCore::redirect('?view=components&do=config&opt=list_cats&id='.(int)$_REQUEST['id']);
  13. }
if ($opt == 'update_cat'){... 289стр заменяем на

Код PHP:
  1. if ($opt == 'update_cat'){
  2. if (!cmsCore::validateForm()) { cmsCore::error404(); }
  3. if (isset($_REQUEST['item_id'])) {
  4. $id = (int)$_REQUEST['item_id'];
  5. $moder = $_REQUEST['moder'];
  6. $parent_id = (int)$_REQUEST['parent_id'];
  7. $title = $_REQUEST['title'];
  8. $published = (int)$_REQUEST['published'];
  9. $description = $_REQUEST['description'];
  10.  
  11. $sql = "UPDATE cms_faq_cats
  12. SET title='$title',
  13. parent_id = $parent_id,
  14. moder = '$moder',
  15. description='$description',
  16. published=$published
  17. WHERE id = $id
  18. LIMIT 1";
  19. $inDB->query($sql) ;
  20.  
  21. cmsCore::redirect('?view=components&do=config&opt=list_cats&id='.(int)$_REQUEST['id']);
  22.  
  23. }
  24. }
Посетитель
small user social cms
Медаль
Сообщений: 597
Интересная вещь. Вот еще бы сделать уведомление модератору и администратору что поступил новый вопрос. На почту или уведомлением на сайте
Проверка траста и спама с донорских сайтов.
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1544
Подписка же есть. Или это не то?
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.