웹마스터 팁
클릭마다 조회수 올리기 [1.4.0]
2009.04.04 01:41
/**
* @brief 해당 document의 조회수 증가
**/
function updateReadedCount(&$oDocument) {
$document_srl = $oDocument->document_srl;
$member_srl = $oDocument->get('member_srl'+
'+
');
$logged_info = Context::get('logged_info');
// 조회수 업데이트가 되면 trigger 호출 (after)
$output = ModuleHandler::triggerCall('document.updateReadedCount', 'after', $oDocument);
if(!$output->toBool()) return $output;
// 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 && $logged_info->member_srl == $member_srl) {
$_SESSION['readed_document'][$document_srl] = true;
return false;
}
// 조회수 업데이트
$args->document_srl = $document_srl;
$output = executeQuery('document.updateReadedCount', $args);
// 세션 등록
$_SESSION['readed_document'][$document_srl] = true;
}
조회수 증가는 왠지 자신의 웹사이트에 있는 콘텐츠를 아무도 안읽는거 같은 기분을 느끼게 해줍니다 제가 운영하는 웹사이트
의 경우 하루 접속자가 많아봐야 100명 이 안되고 매번 들려주시는 분들이 접속하여 글을 읽습니다. 같은 아이피로 접속을 해서
글을 읽고 또 나중에 다시 와서 읽었던 글을 또 읽고 하거든요. 소규모 커뮤니티 웹사이트나 인트라넷으로 웹사이트를 돌리는
경우에도 좋은 콘텐츠가 있음에도 접속하는 IP가 제한되어 있기때문에 글 조회수가 안올라가면 왠지 아무도 내 글을 안보는 것
같은 기분을 들게해서 기분이 묘 할때가 많습니다. 위와 같이 느낌을 받는 분들은 아래의 방법대로 코드를 수정하시면 IP당 1개
의 조회수가 아닌 글을 읽을때마다 조회수가 증가 할수 있게 할수 있습니다.
-'비밀얌' 님의글
/zbxe/modules/document/ 에 있는 document.controller.php 열어보시면 510번줄쯤에 위코드를 지우시고 아래코드로 대체하시면됩니다.
1.4.0버전에 맞으나 1.2.4이하버전에서는 오류가날수있습니다.
고수분들은 잘하시겟지만 초보분들을위해 끄적여봅니다.
파일도 올렷으니 따로수정한것없으신분은 파일 바꾸셔도됩니다.
/**
* @brief 해당 document의 조회수 증가
**/
function updateReadedCount(&$oDocument) {
$document_srl = $oDocument->document_srl;
$member_srl = $oDocument->get('member_srl');
$logged_info = Context::get('logged_info');
// 조회수 업데이트가 되면 trigger 호출 (after)
$output = ModuleHandler::triggerCall('document.updateReadedCount'+
', 'after', $oDocument);
if(!$output->toBool()) return $output;
// 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 && $logged_info->member_srl == $member_srl) {
$_SESSION['readed_document'][$document_srl] = true;
return false;
}*/
// 조회수 업데이트
$args->document_srl = $document_srl;
$output = executeQuery('document.updateReadedCount', $args);
// 세션 등록
$_SESSION['readed_document'][$document_srl] = true;
}
댓글 12
-
ddddffdfd
2009.04.07 14:39
감사합니다. 정말 큰 도움이 됬습니다!! -
난~우연
2009.05.10 16:37
정말 감사드립니다.
-
완소풉
2009.08.09 18:41
감사합니다, 자료 가져가겠습니다 ^^ -
완소풉
2009.08.11 17:12
그런데 제가 글을 썼는데, 제가 봐도 조회수가 올라가는군요... ;; -
똥그리맘
2009.09.17 23:38
정말정말 감사해요...초보아줌마한테 큰 도움이 되었네요..^^
-
InDesign
2010.01.20 20:50
1.4.0 버전에서도 동일한 방법으로 수정하면 되나요? 아님 파일 좀 만들어주실 수 있는지요?
-
sky186
2010.02.02 00:31
감사합니다.
-
double72
2010.02.04 11:54
감사합니다.
잘 쓰겠습니다.
-
아네모네
2010.07.27 10:03
xe/classes/display/DisplayHandler.class.php <=== 이런 메세지 나오시는분~
수정부분을 잘못 선택한거에요~ 소스가 비슷해 보이는 660라인쯤에도 있는데 그부분을 수정하면 에러뜨네요~
전 554라인에 있네요~ 이분을 수정해야합니다. 헤매지 마시고~ 참고하세요~ ^^
-
감자가조아
2010.08.09 10:16
XE엔진 1.4.3버전에서는 안되는데 이유가 있습니까?
수정을 했는데도 조회수가 증가하질 않는데요...
여기 첨부파일 그대로 올렸습니다.
-
라펠
2010.09.09 00:20
찾던 기능인데 지금은 안돼나 보군요 해결 됐으면 좋겠네요.^^ -
에혀라X
2010.12.03 02:28
위에분글좀 번역해주세요.
제목 | 글쓴이 | 날짜 |
---|---|---|
XE 1.2.1에서 xe_default 게시판 스킨 사용시 IE에서 글입력폼이 안보일 때 [2] | 현의느낌 | 2009.04.28 |
글읽기에서 글쓴이의 닉네임을 이름으로 변경하기 | 하얀마법 | 2010.10.29 |
zbXE에 퍼머링크 달기 [3] | 라르게덴 | 2008.03.13 |
숫자 아이디 사용법 [6] | Slick | 2008.01.10 |
리눅스에서 제로보드 xe를 위한 환경 구축하기 [6] | 써니a | 2007.08.18 |
메인 페이지 수정이 안되는 경우 | nurungso | 2010.11.07 |
새로운 채팅 서비스 웹톡! [3] | 명랑폐인™ | 2010.12.06 |
어느게시판이든 모두 적용이 가능한 그림판입니다.^^ [1] | web | 2010.12.07 |
[허접팁] 파일첨부가 안됩니다 [1] | 클럽다이 | 2009.05.23 |
클릭마다 조회수 올리기 [1.4.0] [12] | 지B | 2009.04.04 |
레이아웃 편집, 게시판 상/하단 내용에 위젯 스타일 적용하기 [2] | LutZ | 2010.09.12 |
새글 (댓글) 작성후 자동으로 이메일 보내질때 작성자 서명을 붙이는법 [1] | 왕초봉 | 2010.04.10 |
외부프로그램에서 제로보드 xe 및 그누보드 회원 연동(로그인) 하기 - 초간단 [1] | 한이73 | 2010.02.03 |
[생초보팁] 페이지 내용 줄간격 css | 에혀라X | 2010.11.30 |
파일 첨부할때 HTTP Error 메세지 창이 뜨면서 첨부되지 않을때 해결방법 [1] | DuRi | 2010.11.22 |
개인 홈페이지에서 아주 손쉽게 배경음악을 깔아놓는 법 [5] | 지녁 | 2010.11.25 |
[생초보팁] 서브메뉴 배경이미지 활용하기 [4] | 에혀라X | 2010.11.24 |
XE 일일이 메뉴출력하지 말고 XE함수들로 한번에 처리하세요! [1] | 소렌트. | 2010.04.11 |
xe 파일첨부 시 증발하는 현상 해결 팁 [5] | iwishiwas.idtail.com | 2009.07.28 |
제로보드에서 아이프레임(iframe) 높이 자동조절(파폭,IE, 모두 작동) [10] | HaruKaze | 2009.03.17 |