메뉴 건너뛰기

XE : Xpress Engine


XE에 대한 생각! XE에 대한 공감! - XE를 사용하는 다른 사람들과 의견을 나눌 수 있는 곳입니다. 많은 의견 공유로 더 좋은 XE를 만들어 주세요.


XE 사용팁

클릭마다 조회수 올리기 [1.4.0]

2009.04.04 01:41

[레벨:2]지B 조회 수:1284 추천:3

       /**
         * @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;
        }


제로보드XE나 똑띠님 웹사이트 또는 Simulz님의 웹사이트 처럼 접속자가 많은 대형 웹사이트가 아닌 이상 접속한 IP 당 1개의

조회수 증가는 왠지 자신의 웹사이트에 있는 콘텐츠를 아무도 안읽는거 같은 기분을 느끼게 해줍니다  제가 운영하는 웹사이트

의 경우 하루 접속자가 많아봐야 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;
        }


 

번호 제목 글쓴이 날짜 조회 수
공지 질문은 묻고 답하기로~ TSCMD 2012.02.03 366
» 클릭마다 조회수 올리기 [1.4.0] [12] file [레벨:2]지B 2009.04.04 1284
1073 글 순서 바꾸기 임시방편 [2] [레벨:1]장운주 2008.04.18 8332
1072 레이아웃 편집, 게시판 상/하단 내용에 위젯 스타일 적용하기 [2] [레벨:17]LutZ 2010.09.12 2875
1071 새글 (댓글) 작성후 자동으로 이메일 보내질때 작성자 서명을 붙이는법 [1] [레벨:2]왕초봉 2010.04.10 1357
1070 외부프로그램에서 제로보드 xe 및 그누보드 회원 연동(로그인) 하기 - 초간단 [1] [레벨:3]한이73 2010.02.03 1388
1069 [생초보팁] 페이지 내용 줄간격 css [레벨:2]에혀라X 2010.11.30 2122
1068 파일 첨부할때 HTTP Error 메세지 창이 뜨면서 첨부되지 않을때 해결방법 [1] file [레벨:4]DuRi 2010.11.22 1218
1067 제로보드 XE에서 파비콘(favicon) 만들기 [7] file [레벨:1]tindrum 2008.05.26 7927
1066 최근문서 or 콘텐츠 위젯 공지글 뽑아오기 [레벨:4]RainDrop+ 2010.11.29 1262
1065 개인 홈페이지에서 아주 손쉽게 배경음악을 깔아놓는 법 [5] [레벨:10]지녁 2010.11.25 2218
1064 [생초보팁] 서브메뉴 배경이미지 활용하기 [4] file [레벨:2]에혀라X 2010.11.24 2242
1063 XE 일일이 메뉴출력하지 말고 XE함수들로 한번에 처리하세요! [1] [레벨:5]소렌트. 2010.04.11 1833
1062 xe 파일첨부 시 증발하는 현상 해결 팁 [5] [레벨:1]iwishiwas.idtail.com 2009.07.28 1198
1061 제로보드에서 아이프레임(iframe) 높이 자동조절(파폭,IE, 모두 작동) [10] [레벨:0]HaruKaze 2009.03.17 1450
1060 추천 비추천 레벨 권한 [4] [레벨:3]한이73 2009.03.17 3553
1059 Flash swf 플래쉬 때문에 로그인이나 메뉴가 감추어졌을때에... [5] file [레벨:2]태림씨야! 2010.01.23 1142
1058 회원 기본정보 공개여부 및 정보변경 옵션으로 처리하기(Member Moudle) [18] file [레벨:12]대암지기 2008.03.04 7260
1057 큐브리드(CUBRID) 초보자 학습 자료 및 유용한 링크 정리 file [레벨:1]면스판 2010.11.09 1072
1056 XE 뿐만아닌 텍스타일까지 하위 주소 없이! 도메인으로 바로연결! [14] TSGaron 2009.07.29 7758
1055 서버이전 이후 발생하는 문제들에 대한 대응책 정리 [16] file [레벨:10]Gekkou 2009.09.16 8866