묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
조회수 조정 어떻게 하나요?
2007.10.11 13:34
http://www.zeroboard.com/?mid=zbxe_qna&search_target=title&search_keyword=%EC%A1%B0%ED%9A%8C%EC%88%98&document_srl=15826600
위 링크에 보면 답변이 있는 것 같은데요.
다시한번 정리해 보겠습니다.
zbxe/modules/document
에서 document.controller.php 파일을 받아서 노트패드(notepad)로 열어서..
// 조회수 업데이트
$output = executeQuery('document.updateReadedCount', $args);
부분을 어떻게 고치라는 건가요?
위 링크에 보면 답변이 있는 것 같은데요.
다시한번 정리해 보겠습니다.
zbxe/modules/document
에서 document.controller.php 파일을 받아서 노트패드(notepad)로 열어서..
// 조회수 업데이트
$output = executeQuery('document.updateReadedCount', $args);
부분을 어떻게 고치라는 건가요?
댓글 3
-
digicam
2007.10.11 13:36
-
HIKARU
2007.10.12 07:32
Simulz님이 말씀하신 부분 주석처리하면 됩니다.
// session에 정보로 조회수를 증가하였다고 생각하면 패스
// 글의 작성 ip와 현재 접속자의 ip가 동일하면 패스
// 글쓴이와 현재 로그인 사용자의 정보가 일치하면 읽었다고 생각하고 세션 등록후 패스
// 로그인 사용자이면 member_srl, 비회원이면 ipaddress로 판단
// 로그 정보에 조회 로그가 있으면 세션 등록후 패스
그리고 링크하신 부분의 답변은 주석처리를 잘못할 경우 클릭하지 않은 게시물의 조회수 전체가 올라가는 현상에 대한 주의 사항입니다.
아래 보시면 붉은색으로 주석 처리한 부분이 있는데 아래처럼 수정하시면 됩니다.
주의하실 점은
$args->document_srl = $document_srl;
$output = executeQuery('document.getDocumentReadedLogInfo', $args);
이 부분은 주석 처리하면 안된다는 점입니다.
이 부분을 주석처리하면 위에 이야기된대로 클릭하지 않은 게시물 전체 조회수가 올라가버리거나,
댓글을 달 수 없는 현상이 발생합니다.
/** // 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; **/
뭐...제가 답변 드릴 수 있는 부분은 이정도인 듯...─..─;
ver 0.2.0에서 별 이상없이 작동합니다. -
digicam
2007.10.12 18:48
HIKARU님 대단히 감사합니다. 그런데 에러 발생됩니다.
위 본문에서
// 조회수 업데이트
$output = executeQuery('document.updateReadedCount', $args);
를
// 조회수 업데이트
$output = executeQuery('document.updateReadedCount', $args->document_srl = $document_srl);
로 고치라는 건가요?