웹마스터 팁

때때로 (로그인한 회원 당사자의 정보를 불러오는 게 아니라) 특정 그룹의 회원 목록을 추출해서 보여주고 싶을 때가 있을 수 있습니다.
이를테면, 고정 필진이 있는 웹진형 게시판 상단에 글쓴이의 닉네임을 출력하고자 하는 경우가 그렇죠.
(물론 닉네임이나 이메일 주소를 출력할 수도 있겠고, 거기에 다양한 링크를 걸고자 할 수도 있구요)

이럴 때 그룹별 회원 출력 위젯을 이용하면 유용합니다.
근데 위젯의 아쉬운 점은 위젯 코드를 생성하고 해당 코드를 게시판 소스에 넣으면 앞 뒤로 xe_widget_wrapper라는 div 태그가 자동으로 붙게 돼서 웹마스터가 원하는 형태로 출력하기가 쉽지 않다는 점에 있습니다.
그래서 이런 이슈도 있었지만 코어에 반영되긴 어려웠던 모양입니다.
물론 방법이 아예 없진 않아서 코어를 건드리면 되지만, 코어 수정에 부담이 될 뿐 아니라 그렇게 하면 다른 위젯 출력 부분에 영향을 줄 수 있기 때문에 꺼림칙한 것도 사실이죠.

서론이 길었습니다.
어쨌든 일반 게시판이나 페이지에서 특정 그룹의 회원 목록을 바로 출력하기 위해서는, DB에서 회원정보를 담고 있는 xe_member라는 테이블, 그리고 group_srl 정보를 갖고 있는 xe_member_group_member라는 테이블을 join 시켜줘야 합니다.
member_srl를 기준으로 붙이면 둘이 아주 잘 붙습니다.

해당 소스는 다음과 같습니다.

<ul>
  <!--// 특정 그룹에 속한 회원들의 닉네임을 출력합니다 -->
  {@
    $oDB = &DB::getInstance();
    $query = $oDB->_query('SELECT * from xe_member INNER JOIN xe_member_group_member ON xe_member.member_srl = xe_member_group_member.member_srl');
    $result = $oDB->_fetch($query);
    $oMemberModel = &getModel('member');
  }
  <li loop="$result=>$key,$val">
    <!--@if($val->group_srl==3)--> <!-- // 여기서 숫자 3은 그룹 고유 번호를 가리킵니다 -->
      {$val->nick_name}
    <!--@end-->
  </li>
</ul>

이렇게 하면 3번을 식별 번호로 하는 그룹의 회원들 닉네임이 촤르륵 출력될 겁니다.
여기에 스타일을 지정하거나 출력 조건을 수정하거나 출력 내용을 바꾸는 것도 충분히 가능하겠죠.

사실 저도 MySQL에 대한 지식도 없이 이래저래 해보다가 얻어걸린 거여서, 이보다 더 간단한 방법이 있을지 모르겠습니다.
(검색하고 다니면서 좋아보이는 것만 따다 붙인 바람에 쓸데 없는 구문이 포함되어 있을지 모르니 주의하세요~)
그래도 혹시 필요하신 분이 있을지 몰라서 소스를 남겨봅니다.

태그 연관 글
  1. [2015/08/26] 묻고답하기 한 서버에 2개의 XE를 설치하여 회원DB 연동방법? by 방울2 *13
  2. [2015/07/20] 포럼 8월 18일 이후에 회원 일부를 강퇴 시켜야 할거에요. by misol *16
  3. [2015/01/10] 포럼 member_srl이 0인 스팸회원은 삭제가 불가능하네요;; by Pure Ani *2
  4. [2014/05/02] 묻고답하기 회원을 분류해서 가입받고 싶습니다 by 베댜코베구아겨버티 *2
  5. [2014/03/30] 묻고답하기 혹시 이문제 해결이 가능한가요?? by 난남자입니다하하 *3
제목 글쓴이 날짜
IIS에서의 URL 재작성 사용하기 [5] file ehii 2014.10.30
SEO 1.8.18 에서 Analytics 와 기타 탭 작동 안 하는 버그 수정법 sejin7940 2016.04.04
그룹별 회원 목록 출력 [2] 윤삼 2015.10.26
위지윅 에디터의 관리의 활성 비활성이 안될 경우 해결책 [2] 김유중345 2009.05.02
index.php에서 Parse Error가 발생한다면 [6] YJSoft 2014.04.02
게시판이 있는데 관리자 페이지에 나타나지 않을 경우 해결 방법 퍼니엑스이 2016.03.21
XE 루트로 옮기기 완벽 가이드 [/xe/ 로부터 벗어나자!] ver 1.1 [107] file LI-NA 2013.02.26
기본 Content 위젯에 댓글 New표시하기 [10] 조슈아킴 2010.05.09
에디터 비활성화 문제 해결했습니다! [2] 엘로이스 2013.09.13
1.8 XEDITION 에서 로그인xe 사용하여 네이버 로그인 연동하기 [7] file karutian 2015.04.11
CSS + HTML 메뉴 마루디자인 2016.03.10
호스팅 변경이나 이전시 썸네일 문제 점검사항 맥노턴 2016.03.08
[속도 향상] 불필요한 애드온 끄기 다미아빠 2016.03.07
외부 이미지 저장 애드온 [7] file samsara 2013.03.26
서버의 파일권한 맞추기. 마루디자인 2016.03.01
외부페이지에서 매개변수 사용하기 [2] JnCsoft 2008.04.07
외부 페이지에서 XE 기능을 추가 할때 410contents 2016.02.26
PHP7에서 XE설치시 텍스트 다 깨져서 나올 때 꼬부기 2016.02.24
CentOS 6.x 에서 OpenSSL Heartbleed 취약점 업데이트 마루디자인 2016.02.23
댓글에 대댓글 달리면 수정 불가능하게 하기 [8] 불금 2015.06.17