웹마스터 팁
글을 읽을때마다 조회수 증가 하게 하는 팁
2007.11.06 08:16
제로보드XE나 똑띠님 웹사이트 또는 Simulz님의 웹사이트 처럼 접속자가 많은 대형 웹사이트가 아닌 이상 접속한 IP 당 1개의
조회수 증가는 왠지 자신의 웹사이트에 있는 콘텐츠를 아무도 안읽는거 같은 기분을 느끼게 해줍니다 제가 운영하는 웹사이트
의 경우 하루 접속자가 많아봐야 100명 이 안되고 매번 들려주시는 분들이 접속하여 글을 읽습니다. 같은 아이피로 접속을 해서
글을 읽고 또 나중에 다시 와서 읽었던 글을 또 읽고 하거든요. 소규모 커뮤니티 웹사이트나 인트라넷으로 웹사이트를 돌리는
경우에도 좋은 콘텐츠가 있음에도 접속하는 IP가 제한되어 있기때문에 글 조회수가 안올라가면 왠지 아무도 내 글을 안보는 것
같은 기분을 들게해서 기분이 묘 할때가 많습니다. 위와 같이 느낌을 받는 분들은 아래의 방법대로 코드를 수정하시면 IP당 1개
의 조회수가 아닌 글을 읽을때마다 조회수가 증가 할수 있게 할수 있습니다.
알바트로스 적용후 다시 코드를 수정하였으므로 알바트로스 적용하신 분들만 아래와 같이 코드를 수정하시면 됩니다.
(물론 이전 버전으로 웹사이트 돌리시는 분들도 라인만 다를뿐 코드는 똑같기 때문에 적용해보시면 될껍니다. 혹시 모르니
항상 수정하시기 전에 파일을 백업해두세요)
수정 방법:
본인 웹사이트의 /zbxe/modules/document/ 에 있는 document.controller.php 파일을 열어보시면 314 번째 라인 부터 361 라인
까지 조회수 증가 코드가 시작됩니다.
아래와 같은 코드가 들어 있는데
/**
* @brief 해당 document의 조회수 증가
**/
function updateReadedCount($oDocument) {
$document_srl = $oDocument->document_srl;
$member_srl = $oDocument->get('member_srl');
$logged_info = Context::get('logged_info');
// session에 정보로 조회수를 증가하였다고 생각하면 패스
if($_SESSION['readed_document'][$document_srl]) return false;
// 글의 작성 ip와 현재 접속자의 ip가 동일하면 패스
if($document->ipaddress == $_SERVER['REMOTE_ADDR']) {
$_SESSION['readed_document'][$document_srl] = true;
return false;
}
// document의 작성자가 회원일때 조사
if($member_srl) {
// 글쓴이와 현재 로그인 사용자의 정보가 일치하면 읽었다고 생각하고 세션 등록후 패스
if($member_srl && $logged_info->member_srl == $member_srl) {
$_SESSION['readed_document'][$document_srl] = true;
return false;
}
}
// 로그인 사용자이면 member_srl, 비회원이면 ipaddress로 판단
if($logged_info->member_srl) {
$args->member_srl = $logged_info->member_srl;
} else {
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
}
$args->document_srl = $document_srl;
$output = executeQuery('document.getDocumentReadedLogInfo', $args);
// 로그 정보에 조회 로그가 있으면 세션 등록후 패스
if($output->data->count) return $_SESSION['readed_document'][$document_srl] = true;
// 조회수 업데이트
$output = executeQuery('document.updateReadedCount', $args);
// 로그 남기기
$output = executeQuery('document.insertDocumentReadedLog', $args);
// 세션 정보에 남김
return $_SESSION['readed_document'][$document_srl] = true;
}
이를 삭제 하시고 아래의 코드를 넣으시고 저장 후에 서버에 올리시면 됩니다
/**
* @brief 해당 document의 조회수 증가
**/
function updateReadedCount($oDocument) {
$document_srl = $oDocument->document_srl;
$member_srl = $oDocument->get('member_srl');
$logged_info = Context::get('logged_info');
// session에 정보로 조회수를 증가하였다고 생각하면 패스
/*if($_SESSION['readed_document'][$document_srl]) return false;
// 글의 작성 ip와 현재 접속자의 ip가 동일하면 패스
if($document->ipaddress == $_SERVER['REMOTE_ADDR']) {
$_SESSION['readed_document'][$document_srl] = true;
return false;
} */
// document의 작성자가 회원일때 조사
if($member_srl) {} /*
// 글쓴이와 현재 로그인 사용자의 정보가 일치하면 읽었다고 생각하고 세션 등록후 패스
if($member_srl && $logged_info->member_srl == $member_srl) {
$_SESSION['readed_document'][$document_srl] = true;
return false;
}
}*/
// 로그인 사용자이면 member_srl, 비회원이면 ipaddress로 판단
if($logged_info->member_srl) {
$args->member_srl = $logged_info->member_srl;
} else {
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
}
$args->document_srl = $document_srl;
$output = executeQuery('document.getDocumentReadedLogInfo', $args);
// 로그 정보에 조회 로그가 있으면 세션 등록후 패스
/* if($output->data->count) return $_SESSION['readed_document'][$document_srl] = true; */
// 조회수 업데이트
$output = executeQuery('document.updateReadedCount', $args);
// 로그 남기기
$output = executeQuery('document.insertDocumentReadedLog', $args);
// 세션 정보에 남김
return $_SESSION['readed_document'][$document_srl] = true;
}
쿨럭!
- [2015/06/02] 묻고답하기 링크게시판은 조회수가 안 올라가나요? *2
- [2014/07/16] 묻고답하기 스케치북5 게시판 목록에서 조회수 삭제하는 방법 *2
- [2011/04/25] 묻고답하기 전체조회수를 메인에 나타내는 방법이 없나요? *1
- [2009/08/15] 웹마스터 팁 게시글 조회수 바꾸기 *4
댓글 19
제목 | 글쓴이 | 날짜 |
---|---|---|
''웹진형태의 최근문서 출력''위젯에서 썸네일 생성이 되지 않을때 [2] | 아시안느 | 2008.05.20 |
버튼 글씨체 바꾸기.... [2] | winter548 | 2008.05.20 |
글 쓸 때 자동으로 비밀 글 체크하기(''비고수''님의 팁) [1] | 띵야 | 2008.05.20 |
보안로그인 사용시 기본포트가 아닐 경우 [2] | bluemind69 | 2008.05.20 |
회원 관리 리스트에 생일/이메일 추가하기
[4]
![]() | 老姜君 | 2008.05.19 |
텔넷으로 순간 압축풀기/폴더 삭제/폴더파일 압축하기... [5] | Crazyhouse.cn | 2008.05.19 |
본문과 댓글 입력의 기본 폰트. 크기 한번에 변경하기... [3] | winter548 | 2008.05.19 |
홈페이지에 닉네임 대신 실명으로 뜨게 만들기
[5]
![]() | findwind | 2008.05.19 |
1.0.3 오토링크(autolink) 디자인 수정본
[6]
![]() | 위드파트너 | 2008.05.18 |
게시물목록의 조회수 등의 글씨(폰트), 폰트 크기, 색깔 변경 [1] | winter548 | 2008.05.17 |
New 등의 아이콘 변경하기...
[3]
![]() | winter548 | 2008.05.17 |
게시판→설정→스킨관리→글제목 표시 유무 넣기 [2] | 탑심 | 2008.05.15 |
오른쪽 상단에 로그인 정보 출력하기 (게시판 만으로)
![]() | youngminpark | 2008.05.15 |
일반 html이나 php파일에 모듈을 추가했을시 나타나는 문제점. (최근게시물 모듈. 링크 타겟 지정). [8] | 장민수 | 2008.05.11 |
아고라 서명운동 전용 웹카운터 [2] | 살색마수 | 2008.05.10 |
rewrite mod 사용시 404 페이지 에러 해결 방법 | 이종준 | 2008.05.09 |
확장변수(textarea)에 html태그 적용 [6] | 오엘 | 2008.05.08 |
회원 확장 정보를 레이아웃에서 활용하기
[6]
[1] ![]() | mooo | 2008.05.06 |
리플이나 서명에서 특정 태그 막기 [4] | 老姜君 | 2008.05.05 |
주문형게시판 만들기
[22]
![]() | 팔공산 | 2008.05.04 |