웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
글쓴이의 정보 추출해서 게시판 출력하기
2011.02.24 14:42
잘모르는 사람이 팁을 쓰니까;;
이해해 주시고 적용해보실분은 그대로 코드만 넣어도 될듯하고요.
만약에 잘못된 점이 있으면 댓글로 달아주셔서 바로 잡아주세요.
1. 글쓴이의 현재 포인트 구해오기
경로
module/board/skins/적용스킨/view_document.html 적당한 위치나 문서 상단에 아래를 적습니다.
{@
$oPointModel = &getModel('point');
$point = $oPointModel->getPoint($oDocument->get('member_srl'));
}
사용 되는 변수는 {$point} 예시 <div>{$point}</div>
적당히 css class 걸어주시고 이런식으로 적어주시면 글쓴이의 현재 포인트가 출력이 됩니다.
2. 글쓴이의 현재 레벨 출력하기
{@
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('point');
$level = $oPointModel->getLevel($point, $config->level_step);
}
사용되는 변수는 {$level} 예시 <div>{$level} </div> 적당히 css class 걸어주시고
이런식으로 적어주시면 글쓴이의 현재 레벨이 출력이 됩니다.
3. 글쓴이의 소속된 그룹과 최근로그인과 가입일 출력하기
{@
$oMemberModel = &getModel('member');
$member_group = $oMemberModel->getMemberInfoByMemberSrl($oDocument->get('member_srl'));
$regjoin = $oMemberModel->getMemberInfoByMemberSrl($oDocument->getMemberSrl(), $module_info->site_srl);
$lastlogin = $oMemberModel->getMemberInfoByMemberSrl($oDocument->getMemberSrl(), $module_info->site_srl);
}
사용되는 변수는 {member_group} , {zdate($regjoin->regdate, "y-m-d")} , {zdate($lastjoin->last_login, "y-m-d")}
예시 <div>
<group_list">!--@foreach($member_info->group_list as $key => $member_info)-->{$member_info}<!--@end-->
</div>
글쓴이가 속한 그룹이 표시되며 <div>{zdate($regjoin->regdate, "y-m-d")}</div> 은 글쓴이의 가입일이 표기되며 <div>{zdate($lastjoin->last_login, "y-m-d")}</div> 은 글쓴이의 마지막로그인 날짜와 시간이 표기됩니다. Y 대문자시 2011 로 표기 y 소문자시 11년만 표기됨 3. 글쓴이의 사이트 전체 게시한 게시물수와 댓글수 출력하기
이 방법은 러키군님이 제시해준 방법이며 쿼리를 직접 호출하기때문에 대형사이트에서는 어울리지 않을수 있습니다.
{@
$oDB = &DB::getInstance();
$_query = $oDB->_query(sprintf("select count(*) as total_count from `xe_documents` where member_srl='%d';",$oDocument->get('member_srl')));
$output = $oDB->_fetch($_query);
$document_count = (int)$output->total_count;
$_query = $oDB->_query(sprintf("select count(*) as total_count from `xe_comments` where member_srl='%d';",$oDocument->get('member_srl')));
$output = $oDB->_fetch($_query);
$comment_count = (int)$output->total_count;
}
테이블명 xe_ 꼭 확인하세요.
사용되는 변수는 {$document_count} , {$comment_count} <div>{$document_count}</div> 는 글쓴이가 작성한 전체 글 갯수가 출력되며 <div>{$document_count}</div> 는 글쓴이가 작성한 전체 댓글의 갯수가 출력됩니다.
4. 그밖의
SRL 글쓴이의 고유번호 뽑아오기
{$oDocument->getMemberSrl()}
글쓴이 ID 불러오기
{$oDocument->get('user_id')}
글쓴이 닉네임 불러오기
{$oDocument->getNickName()}
글쓴이 레벨 포인트를 % 로 구해오는건 아직 모름니다. 팁한번 써주시면 좋겠네요.
혹시 댓글에도 적용 하시려면
$oDocument-> 를
$comment-> 로 변경만 해주시면 됩니다.
위사항들이 적용된 예시
http://dotple.kr/freeboard
많은 분들이 도움 주셔서 고맙습니다. 또한 이런 정보를 기반으로 새로운 스킨이 나오기를 기대하며
아는데 까지만 적어 봤습니다. 틀린점이나 고칠점은 댓글을 남겨서 바로 잡아 주세요.
이해해 주시고 적용해보실분은 그대로 코드만 넣어도 될듯하고요.
만약에 잘못된 점이 있으면 댓글로 달아주셔서 바로 잡아주세요.
1. 글쓴이의 현재 포인트 구해오기
경로
module/board/skins/적용스킨/view_document.html 적당한 위치나 문서 상단에 아래를 적습니다.
{@
$oPointModel = &getModel('point');
$point = $oPointModel->getPoint($oDocument->get('member_srl'));
}
사용 되는 변수는 {$point} 예시 <div>{$point}</div>
적당히 css class 걸어주시고 이런식으로 적어주시면 글쓴이의 현재 포인트가 출력이 됩니다.
2. 글쓴이의 현재 레벨 출력하기
{@
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('point');
$level = $oPointModel->getLevel($point, $config->level_step);
}
사용되는 변수는 {$level} 예시 <div>{$level} </div> 적당히 css class 걸어주시고
이런식으로 적어주시면 글쓴이의 현재 레벨이 출력이 됩니다.
3. 글쓴이의 소속된 그룹과 최근로그인과 가입일 출력하기
{@
$oMemberModel = &getModel('member');
$member_group = $oMemberModel->getMemberInfoByMemberSrl($oDocument->get('member_srl'));
$regjoin = $oMemberModel->getMemberInfoByMemberSrl($oDocument->getMemberSrl(), $module_info->site_srl);
$lastlogin = $oMemberModel->getMemberInfoByMemberSrl($oDocument->getMemberSrl(), $module_info->site_srl);
}
사용되는 변수는 {member_group} , {zdate($regjoin->regdate, "y-m-d")} , {zdate($lastjoin->last_login, "y-m-d")}
예시 <div>
<group_list">!--@foreach($member_info->group_list as $key => $member_info)-->{$member_info}<!--@end-->
</div>
글쓴이가 속한 그룹이 표시되며 <div>{zdate($regjoin->regdate, "y-m-d")}</div> 은 글쓴이의 가입일이 표기되며 <div>{zdate($lastjoin->last_login, "y-m-d")}</div> 은 글쓴이의 마지막로그인 날짜와 시간이 표기됩니다. Y 대문자시 2011 로 표기 y 소문자시 11년만 표기됨 3. 글쓴이의 사이트 전체 게시한 게시물수와 댓글수 출력하기
이 방법은 러키군님이 제시해준 방법이며 쿼리를 직접 호출하기때문에 대형사이트에서는 어울리지 않을수 있습니다.
{@
$oDB = &DB::getInstance();
$_query = $oDB->_query(sprintf("select count(*) as total_count from `xe_documents` where member_srl='%d';",$oDocument->get('member_srl')));
$output = $oDB->_fetch($_query);
$document_count = (int)$output->total_count;
$_query = $oDB->_query(sprintf("select count(*) as total_count from `xe_comments` where member_srl='%d';",$oDocument->get('member_srl')));
$output = $oDB->_fetch($_query);
$comment_count = (int)$output->total_count;
}
테이블명 xe_ 꼭 확인하세요.
사용되는 변수는 {$document_count} , {$comment_count} <div>{$document_count}</div> 는 글쓴이가 작성한 전체 글 갯수가 출력되며 <div>{$document_count}</div> 는 글쓴이가 작성한 전체 댓글의 갯수가 출력됩니다.
4. 그밖의
SRL 글쓴이의 고유번호 뽑아오기
{$oDocument->getMemberSrl()}
글쓴이 ID 불러오기
{$oDocument->get('user_id')}
글쓴이 닉네임 불러오기
{$oDocument->getNickName()}
글쓴이 레벨 포인트를 % 로 구해오는건 아직 모름니다. 팁한번 써주시면 좋겠네요.
혹시 댓글에도 적용 하시려면
$oDocument-> 를
$comment-> 로 변경만 해주시면 됩니다.
위사항들이 적용된 예시
http://dotple.kr/freeboard
많은 분들이 도움 주셔서 고맙습니다. 또한 이런 정보를 기반으로 새로운 스킨이 나오기를 기대하며
아는데 까지만 적어 봤습니다. 틀린점이나 고칠점은 댓글을 남겨서 바로 잡아 주세요.
댓글 9
-
아아악내눈
2011.02.25 00:23
오옷.. 감사합니다... 잘쓸게요... ^^ -
가스통
2011.02.25 09:04
좋은 정보 감사합니다. -
SMaker
2011.02.25 11:46
전체 게시물 수와 댓글 수는 모듈을 이용해 통계 테이블에 저장했다가 빼내어 쓰는 방식이 좋다고 봅니다.
직접 문서DB와 댓글DB에 접근하는 경우 테이블 용량이 크면 서버부담이 장난아니겠죠.
차후 배포할 마이페이지 모듈을 이용하면 간단히 해결할 수 있으라고 봅니다. -
야호z
2011.02.26 00:26
이미 처음에 러키님이 알려주신 직접 호출의 문제는 위에도 적어놨고요
제가 찾아본것은 마이페이지와는 조금 다름니다.
내정보를 보는게 아니고 게시판내의 글쓴이 즉 다른사람의 정보를 불러와서 보여주는 거니까요.
외국 CMS 처럼 ,, -
하늘종
2011.02.25 18:35
유용한 정보 정리해주셔서 감사합니다 'ㅡ' -
獨立軍
2011.02.26 12:15
게시글수/댓글수를 출력할 때 "지식인XE"나 "memo" 서비스에 남긴 글도 출력 대상에 포함되나요? -
야호z
2011.03.01 15:03
지식인이나 memo 모두 _Document , _Comment db 에 들어가는 걸로 알고 있으며 모두 포함될듯 하네요.
위에 보다시피 xe_document 란 테이블과 xe_comment 테이블을 불러오니까요. -
월하선향
2011.05.20 11:42
회원들의 전체게시물 뽑아오기를
게시판 상단에 넣었는데 (등업게시판때문에..)
처음 들어왔을땐 안보이고 글을 한번쓰고난 다음에야 보이네요..ㅠㅠ.. -
rminkim
2012.03.19 18:38
유용한 팁 잘 쓸게요..~~