Пользователи

#1 27 октября 2010 в 05:18
Ну у меня очередной не человеческий прикол )) Уж и не надеюсь на решение, но всеже: можно ли как-то отключить определенную группу пользователей от показа их в разделе "пользователи"?
#2 27 октября 2010 в 08:51
наверно да.
найти файл, который делает запрос в базу и создает массив пользователей, выкинуть из этого массива пользователей с определенным ид группы. В теории scratchна практике надо пробовать
#3 27 октября 2010 в 19:10

Уж и не надеюсь на решение… можно ли ......


Можно. например если известен id группы пользователя (group_id)
(подсмотреть его можно в таблице cms_users)

тогда в файле шаблона com_users_view.tpl можно написать что-то вроде этого:

  1. {if $usr.group_id!=1}
  2. ......
  3. ......
  4. ......//тут вывод пользователей
  5. ......
  6. ......
  7. {/if}
таким образом мы выводим всех юзеров кроме тех, у которых id группы равен 1

Для дефолтного шаблона вариант с заменой будет следующий:

Вместо

  1. {foreach key=tid item=usr from=$users}
  2. <tr>
  3. <td width="20" align="left" style="padding:2px;">
  4. <div class="number">{$usr.num}.</div>
  5. </td>
  6. <td width="64" valign="top" align="center" style="padding:2px;">
  7. <div class="avatar">{$usr.avatar}</div>
  8. </td>
  9. <td valign="top">
  10. <div class="nickname">{$usr.nickname}</div>
  11. <div class="karma">{$usr.karma} <span class="rating">{$usr.rating}</span></div>
  12. {if $usr.microstatus}
  13. <div style="clear:both">&mdash; {$usr.microstatus}</div>
  14. {/if}
  15. <div class="status">{$usr.status}</div>
  16. </td>
  17. {/foreach}
  18.  
Будет

  1.  
  2. {foreach key=tid item=usr from=$users}
  3. {if $usr.group_id!=1}
  4. <tr>
  5. <td width="20" align="left" style="padding:2px;">
  6. <div class="number">{$usr.num}.</div>
  7. </td>
  8. <td width="64" valign="top" align="center" style="padding:2px;">
  9. <div class="avatar">{$usr.avatar}</div>
  10. </td>
  11. <td valign="top">
  12. <div class="nickname">{$usr.nickname}</div>
  13. <div class="karma">{$usr.karma} <span class="rating">{$usr.rating}</span></div>
  14. {if $usr.microstatus}
  15. <div style="clear:both">&mdash; {$usr.microstatus}</div>
  16. {/if}
  17. <div class="status">{$usr.status}</div>
  18. </td>
  19. {/if}
  20. {/foreach}
#4 27 октября 2010 в 19:34
Ой спасибо хорошо! Щас попробую.

Урра! Заработало! Ато небожители в общей массе — не красиво. Зачмарят еще…
#5 5 января 2011 в 06:53
Александр, хелп! В 1.7 это не срабатывает — показываются все юзеры. Что делать?
#6 7 января 2011 в 11:22
Ну мож кто подскажет? Оч надо!
#7 7 января 2011 в 19:34
Не проверял. но чисто так, навскидку попробуй в components\users\frontend.php
исправить SQL запросы

  1. if ($do=='search'){
  2. ..........
  3. ........
  4. .......
  1.  
  2. $querysql = "SELECT
  3. u.id as id,
  4. u.login,
  5. u.nickname,
  6. u.group_id,
  7. u.logdate as flogdate,
  8. u.is_deleted as is_deleted,
  9. u.birthdate, u.rating,
  10. u.status as microstatus,
  11. p.city, p.karma as karma, p.imageurl,
  12. p.gender as gender
  13. FROM cms_users u
  14. LEFT JOIN cms_user_profiles p ON p.user_id = u.id
  15. WHERE u.is_deleted = 0 AND u.is_locked = 0 AND u.group_id != 2 $s
  16. ORDER BY city DESC";
  17.  
  1. if ($do=='view'){
  2. ..........
  3. ..........
  4. .............
  5.  

  1. $sql = "SELECT
  2. u.id as id,
  3. u.login,
  4. u.nickname,
  5. u.group_id,
  6. u.logdate as flogdate,
  7. u.is_deleted as is_deleted,
  8. u.birthdate, u.rating,
  9. u.status as microstatus,
  10. p.city, p.karma as karma, p.imageurl,
  11. p.gender as gender
  12. FROM cms_users u
  13. LEFT JOIN cms_user_profiles p ON p.user_id = u.id
  14. WHERE u.is_locked = 0 AND u.is_deleted = 0 AND u.group_id != 2
  15. ORDER BY ".$orderby." ".$orderto."
  16. LIMIT ".(($page-1)*$perpage).", $perpage";
  17. } else {
  18.  
  19. $sql = "SELECT
  20. o.user_id as id,
  21. u.login,
  22. u.nickname,
  23. u.group_id,
  24. u.logdate as flogdate,
  25. u.is_deleted as is_deleted,
  26. u.birthdate, u.rating,
  27. u.status as microstatus,
  28. p.city, p.karma as karma, p.imageurl,
  29. p.gender as gender
  30. FROM cms_online o
  31. LEFT JOIN cms_users u ON u.id = o.user_id
  32. LEFT JOIN cms_user_profiles p ON p.user_id = u.id
  33. WHERE u.is_locked = 0 AND u.is_deleted = 0 AND u.group_id != 2
  34. GROUP BY o.user_id
  35. ORDER BY ".$orderby." ".$orderto."
  36. LIMIT ".(($page-1)*$perpage).", $perpage";
#8 7 января 2011 в 19:35
ну тут само собой group_id — тот который пытаемся закрыть. в шаблонах ничего не правим…
#9 7 января 2011 в 23:21
Александр, колдун! Опять работает!
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.