메뉴 건너뛰기

XE : Xpress Engine


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


XE 사용팁

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

2009.04.04 01:41

[레벨:2]지B 조회 수:1858 추천: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 10552
1075 플래시로 만들어진 글자 타이핑보고 만들었어요. [레벨:7]web 2010.12.09 2036
1074 [생초보팁] 페이지(page) 줄간격과 부분 웹폰트 [레벨:2]에혀라X 2010.12.11 1668
1073 [생초보팁] 레이아웃 수정시 HTML 넣는 칸 넓히기 -_- [레벨:2]에혀라X 2010.12.12 1916
1072 [생초보팁] 웹진최근게시물 요약글 링크걸기 [1] file [레벨:2]에혀라X 2010.12.12 2248
1071 XE 1.2.1에서 xe_default 게시판 스킨 사용시 IE에서 글입력폼이 안보일 때 [2] [레벨:4]현의느낌 2009.04.28 4326
1070 글읽기에서 글쓴이의 닉네임을 이름으로 변경하기 [레벨:4]하얀마법 2010.10.29 1945
1069 zbXE에 퍼머링크 달기 [4] file [레벨:19]라르게덴 2008.03.13 44550
1068 숫자 아이디 사용법 [6] [레벨:1]Slick 2008.01.10 4978
1067 리눅스에서 제로보드 xe를 위한 환경 구축하기 [6] [레벨:4]써니a 2007.08.18 2102
1066 메인 페이지 수정이 안되는 경우 file [레벨:0]nurungso 2010.11.07 2720
1065 새로운 채팅 서비스 웹톡! [3] file [레벨:3]명랑폐인™ 2010.12.06 1915
1064 어느게시판이든 모두 적용이 가능한 그림판입니다.^^ [1] [레벨:7]web 2010.12.07 1532
1063 [허접팁] 파일첨부가 안됩니다 [1] [레벨:1]클럽다이 2009.05.23 1629
1062 게시글 확장변수 순으로 정렬하기 (2010.01.18 13:18 수정) [22] [레벨:9]June Oh 2010.01.11 1711
1061 카운터위젯 - 오늘 가입한 회원수 전체 회원수 출력 [4] [레벨:2]공수래 2009.11.01 1739
» 클릭마다 조회수 올리기 [1.4.0] [12] file [레벨:2]지B 2009.04.04 1858
1059 레이아웃 편집, 게시판 상/하단 내용에 위젯 스타일 적용하기 [2] [레벨:17]LutZ 2010.09.12 3418
1058 새글 (댓글) 작성후 자동으로 이메일 보내질때 작성자 서명을 붙이는법 [1] [레벨:2]왕초봉 2010.04.10 1734
1057 외부프로그램에서 제로보드 xe 및 그누보드 회원 연동(로그인) 하기 - 초간단 [1] [레벨:3]한이73 2010.02.03 2084
1056 [생초보팁] 페이지 내용 줄간격 css [레벨:2]에혀라X 2010.11.30 2671