Как вывести ID группы в комментариях

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

подскажите, пожалуйста

#1 30 апреля 2014 в 05:32
Как можно вывести ID группы пользователя в комментариях? Лопатил-лопатил компонент комментариев… чтот так ничего и не вышло. Подскажите, пожалуйста, что во фронтенде и моделе дописать scratch. Понял ток как переменные в шаблон выводить zst
#2 30 апреля 2014 в 17:22
В фронтенде в шаблон поставил
  1. assign('is_group', $inUser->group_id)->
В моделе к запросу

  1.  
  2. public function getComments($only_published=true, $is_tree=false, $from_module = false) {
  3.  
  4. $inUser = cmsUser::getInstance();
  5.  
  6. $comments = array();
  7.  
  8. global $_LANG;
  9.  
  10. $published = $only_published ? 'c.published = 1' : '1=1';
  11.  
  12. $sql = "SELECT c.*, u.id as user_id, u.group_id,
  13. IFNULL(u.nickname, 0) as nickname,
  14. IFNULL(u.login, 0) as login,
  15. IFNULL(u.is_deleted, 0) as is_deleted,
  16. IFNULL(p.imageurl, 0) as imageurl,
  17. IFNULL(p.gender, 0) as gender
  18. FROM cms_comments c
  19. LEFT JOIN cms_users u ON u.id = c.user_id
  20. LEFT JOIN cms_user_profiles p ON p.user_id = u.id
  21. WHERE {$published}
  22. {$this->inDB->where}
  23.  
  24. {$this->inDB->group_by}
  25.  
  26. {$this->inDB->order_by}\n";
  27.  
  28. if ($this->inDB->limit){
  29. $sql .= "LIMIT {$this->inDB->limit}";
  30. }
  31.  
  32. $result = $this->inDB->query($sql);
  33.  
как видно добавил
  1. u.id as user_id, u.group_id,
В шаблоне переменная $is_group выводит везде значения = 2. Что и где еще надо подправить, подскажите плз.
#3 30 апреля 2014 в 18:12
у пользователя id группы получается с помощью строчки
  1. $group_id = $inUser->getGroupIdByUserId($inUser->id);
#4 30 апреля 2014 в 18:30
Странник, результат тот же

выводит везде значения = 2

scanread

Возможно не правильно изложил суть вопроса. Суть в том, чтобы не важно какой пользователь какой группы заходит на сайт, он должен видеть у коммента админа ид=2(ид группы), у коммента пользователя ид=1(ид группы) и т.д.
#5 1 мая 2014 в 00:25
Вы составили запрос в модели, а пользуетесь зачем-то другой функцией? )

берите из модели…

запрос
  1.  
  2. .....................
  3. $published = $only_published ? 'c.published = 1' : '1=1';
  4.  
  5. $sql = "SELECT c.*, g.id AS gid, g.title AS gtitle, g.alias AS galias,
  6. IFNULL(u.nickname, 0) as nickname,
  7. IFNULL(u.login, 0) as login,
  8. IFNULL(u.is_deleted, 0) as is_deleted,
  9. IFNULL(p.imageurl, 0) as imageurl,
  10. IFNULL(p.gender, 0) as gender
  11. FROM cms_comments c
  12. LEFT JOIN cms_users u ON u.id = c.user_id
  13. LEFT JOIN cms_user_profiles p ON p.user_id = u.id
  14. LEFT JOIN cms_user_groups g ON u.group_id = g.id
  15. WHERE {$published}
  16. {$this->inDB->where}
  17. {$this->inDB->group_by}
  18. {$this->inDB->order_by}\n";
  19.  
  20. if ($this->inDB->limit){
  21. $sql .= "LIMIT {$this->inDB->limit}";
  22. }
  23.  
  24. $result = $this->inDB->query($sql);
  25.  
  26. $this->inDB->resetConditions();
  27.  
  28. if (!$this->inDB->num_rows($result)) { return array(); }
  29.  
  30. while($comment = $this->inDB->fetch_assoc($result)){
  31. ............
  32.  
в смарти добавленные g.id AS gid, g.title AS gtitle, g.alias AS galias окажутся в массиве
( название переменной более точно смотрите во фронтеде, там где вызывается $model->getComments() )

{$comments.gid}, {$comments.gtitle}, {$comments.galias}

ID группы не особо информативен, поэтому берем дополнительное название группы и псевдоним…
#6 1 мая 2014 в 01:24
Решено. Понял. Выводил не верно переменную, о которой даже не знал, что она как-то из запроса формируется. Теперь буду знать что да к чему. Благодарю.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.