글
학습 목표
1. 회원 정보에서 글, 댓글 작성 갯수를 보여주기
2. 회원 목록 관리자 페이지에서 글, 댓글 작성 갯수를 보여주기
작동 원리
document, comment 테이블을 user_id로 쿼리를 한다.
이때 쿼리 XML 파일을 만들어 줘야 함
작업준비
※ XML 파일은 어디에 넣어도 상관이 없습니다만 다른 용도로 사용을 하기 위해 각 모듈의 쿼리 폴더에 복사합니다.
아래 파일을 modules\comment\queries 폴더에 복사합니다.
getMemberCommentCount.xml
아래 파일을 modules\document\queries 폴더에 복사합니다.
getMemberDocumentCount.xml
getMemberUploadedCount.xml
1. 회원 정보 페이지 작업하기
modules\member\skins\스킨 폴더의 member_info.html 파일을 편집합니다.
70번대 줄에 아래 소스를 추가합니다.
{@
$obj->member_srl = $member_info->member_srl;
$output_document_count = executeQuery("document.getMemberDocumentCount",$obj);
$output_comment_count = executeQuery("comment.getMemberCommentCount",$obj);
$output_attach_count = executeQuery("document.getMemberUploadedCount",$obj);
}
<tr>
<th scope="row">{$lang->count_document}</th>
<td>{$output_document_count->data->count}</td>
</tr>
<tr>
<th scope="row">{$lang->count_comment}</th>
<td>{$output_comment_count->data->count}</td>
</tr>
<tr>
<th scope="row">{$lang->count_attach}</th>
<td>{$output_attach_count->data->count}</td>
</tr>
변수 대신 직접 한글을 사용해도 되지만 언어별로 나타내려면 lang 파일을 편집합니다.
modules\member\lang 폴더의 ko.lang.php 파일을 편집합니다.
아래 소스를 적당한 곳에 추가합니다.
$lang->count_document = '글 수';
$lang->count_comment = '댓글 수';
$lang->count_attach = '첨부 수';
2. 회원 목록 관리 페이지 작업하기
member 모듈의 member.admin.view.php 파일을 편집합니다.
dispMemberAdminList 함수의 중간에 아래 소스 중 굵은 부분을 삽입합니다.
function dispMemberAdminList() {
// member model 객체 생성후 목록을 구해옴
$oMemberModel = &getAdminModel('member');
$output = $oMemberModel->getMemberList();
foreach($output->data as $key => $value) {
$output_document_count = executeQuery("document.getMemberDocumentCount", $value);
$output_comment_count = executeQuery("comment.getMemberCommentCount", $value);
$output->data[$key]->document_count = $output_document_count->data->count;
$output->data[$key]->comment_count = $output_comment_count->data->count;
}
// 템플릿에 쓰기 위해서 context::set
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('member_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
// 템플릿 파일 지정
$this->setTemplateFile('member_list');
}
modules\member\tpl 폴더에서 member_list.html 파일을 편집합니다.
<thead></thead> 사이에 아래 소스를 삽입하고,
<th scope="col">Document</th>
<th scope="col">Comment</th>
<tbody></tbody> 사이에 아래 소스를 삽입합니다.
<td class="tahoma">{$val->document_count}</td>
<td class="tahoma">{$val->comment_count}</td>
※ 소스를 참고하여 포인트 모듈의 회원 목록에서도 적용할 수 있습니다.
1. 회원 정보에서 글, 댓글 작성 갯수를 보여주기
2. 회원 목록 관리자 페이지에서 글, 댓글 작성 갯수를 보여주기
작동 원리
document, comment 테이블을 user_id로 쿼리를 한다.
이때 쿼리 XML 파일을 만들어 줘야 함
작업준비
※ XML 파일은 어디에 넣어도 상관이 없습니다만 다른 용도로 사용을 하기 위해 각 모듈의 쿼리 폴더에 복사합니다.
아래 파일을 modules\comment\queries 폴더에 복사합니다.
getMemberCommentCount.xml
아래 파일을 modules\document\queries 폴더에 복사합니다.
getMemberDocumentCount.xml
getMemberUploadedCount.xml
1. 회원 정보 페이지 작업하기
modules\member\skins\스킨 폴더의 member_info.html 파일을 편집합니다.
70번대 줄에 아래 소스를 추가합니다.
{@
$obj->member_srl = $member_info->member_srl;
$output_document_count = executeQuery("document.getMemberDocumentCount",$obj);
$output_comment_count = executeQuery("comment.getMemberCommentCount",$obj);
$output_attach_count = executeQuery("document.getMemberUploadedCount",$obj);
}
<tr>
<th scope="row">{$lang->count_document}</th>
<td>{$output_document_count->data->count}</td>
</tr>
<tr>
<th scope="row">{$lang->count_comment}</th>
<td>{$output_comment_count->data->count}</td>
</tr>
<tr>
<th scope="row">{$lang->count_attach}</th>
<td>{$output_attach_count->data->count}</td>
</tr>
변수 대신 직접 한글을 사용해도 되지만 언어별로 나타내려면 lang 파일을 편집합니다.
modules\member\lang 폴더의 ko.lang.php 파일을 편집합니다.
아래 소스를 적당한 곳에 추가합니다.
$lang->count_document = '글 수';
$lang->count_comment = '댓글 수';
$lang->count_attach = '첨부 수';
2. 회원 목록 관리 페이지 작업하기
member 모듈의 member.admin.view.php 파일을 편집합니다.
dispMemberAdminList 함수의 중간에 아래 소스 중 굵은 부분을 삽입합니다.
function dispMemberAdminList() {
// member model 객체 생성후 목록을 구해옴
$oMemberModel = &getAdminModel('member');
$output = $oMemberModel->getMemberList();
foreach($output->data as $key => $value) {
$output_document_count = executeQuery("document.getMemberDocumentCount", $value);
$output_comment_count = executeQuery("comment.getMemberCommentCount", $value);
$output->data[$key]->document_count = $output_document_count->data->count;
$output->data[$key]->comment_count = $output_comment_count->data->count;
}
// 템플릿에 쓰기 위해서 context::set
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('member_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
// 템플릿 파일 지정
$this->setTemplateFile('member_list');
}
modules\member\tpl 폴더에서 member_list.html 파일을 편집합니다.
<thead></thead> 사이에 아래 소스를 삽입하고,
<th scope="col">Document</th>
<th scope="col">Comment</th>
<tbody></tbody> 사이에 아래 소스를 삽입합니다.
<td class="tahoma">{$val->document_count}</td>
<td class="tahoma">{$val->comment_count}</td>
※ 소스를 참고하여 포인트 모듈의 회원 목록에서도 적용할 수 있습니다.
'tiptech' 카테고리의 다른 글
최근 이미지 위젯에 페이지 기능 달기 (0) | 2008.11.06 |
---|---|
확장변수 전용 파일업로드 에디터 구현하기[공식 사이트 배포용] (1) | 2008.06.21 |
Zb XE, 컴포넌트 제작 자바스크립트 설명 #0.1 (0) | 2008.06.21 |
Zb XE, 위젯 제작·편집 설명 (0) | 2008.06.21 |
게시판 분류(카테고리)를 텍스트&이미지로 나열 하기 (0) | 2008.06.21 |
포인트 모듈 관리자 (0) | 2008.06.21 |
원하는 곳에 서명 출력하기 (1) | 2008.06.21 |
첨부 파일 날짜 출력 및 아이콘 표시 (0) | 2008.06.21 |
무플 검색 (0) | 2008.06.21 |
쪽지 수신 음성 알림 (0) | 2008.06.21 |
RECENT COMMENT