댓글을 지울 시,
게시물 추천수에서도
해당 댓글의 추천수만큼 삭감해주고 싶습니다.
자료실 모듈을 참고삼아 해보려고 하는데, 자료실 모듈의 경우
댓글을 지우고 나서 다시 해당 글의 댓글의 합을 게시글 추천수로 업데이트 하는 것 같습니다.
(자료실 모듈을 참조해서 해보려고 해도 잘 안되네요.)
/www/modules/board/board.controller.php
function procBoardDeleteComment()
이 아래에,
$output = $oCommentController->deleteComment($comment_srl, $this->grant->manager); if(!$output->toBool()) { return $output; }
이 아래 부분에 다음과 같이 적어주었습니다.
$p_star_args->module_srl = $this->module_srl; $p_star_args->document_srl = $this->document_srl; $p_star_args->voted_count = (int)$output->data->voted_count; $output = executeQuery('board.voteRemove', $p_star_args);
board/queiry/voteRemove.xml 파일은 다음과 같습니다.
<query id="voteRemove" action="update"> <tables> <table name="documents" /> </tables> <columns> <column name="voted_count" var="voted_count" notnull="notnull" default="0" /> </columns> <conditions> <condition operation="equal" column="module_srl" var="module_srl" filter="number" notnull="notnull" /> <condition operation="equal" column="document_srl" var="document_srl" filter="number" notnull="notnull" pipe="and" /> </conditions> </query>
코멘트를 지우면, procBoardDeleteComment 펑션이 실행되면서,
voteRemove 쿼리가 실행이 되는 거라고 생각이 됩니다만...
(제가 작성한 부분 중에서 3째줄이 무슨 뜻인지는 모르고 적었습니다; )
$p_star_args->voted_count = (int)$output->data->voted_count;
이 부분은 자료실에 있는거 그대로 보고 가져왔는데 무슨 뜻이죠?; 이 부분을 고쳐줘야할것 같고;
일단 저렇게 적어주고 나서 코멘트를 지우고 나면, 게시물 추천수에는 변화가 없고;;
게시물 글보기 상태가 아닌, 게시물 리스트 화면으로 돌아가 버립니다.
제가 잘 몰라서 사실 저 부분에서 없는게
해당 게시물의 전체 voted_count 에서 해당 코멘트의 voted_count를 빼주는 부분이 아마 3째줄에 들어가줘야 할것 같은데, 그것도 잘 모르겠고..
update하는 쿼리문이 저게 맞는지도 잘 모르겠습니다. ;;
Function 부분을 잘못 적으니깐, 목록 화면으로 가거나, 지우기 해도 화면이 바뀌질 않네요. 왜 그런걸까요?;
페이지 전환하는 건 어디서 확인할 수가 있죠
# 빠른 라이믹스 커뮤니티용 호스팅을 찾고 계신가요? >>>> 이온디호스팅 서비스는 PHP8 & Redis 서버 캐시를 활용하여 라이믹스에 최적화된 호스팅 서비스를 제공해드립니다. (서버세팅시 웹패널, 내도메인메일서비스도 함께 구축해드립니다.)
https://eond.com
댓글 0