자료실 모듈을 참조하여 게시판 댓글에 평점 넣는 작업을 진행 중입니다.
1. 게시판 스킨 수정
1) 자료실 스킨을 참조해서 게시판 스킨에서 star_point 항목을 넣어주었습니다.
<input type="hidden" name="star_point" value="" />
2) 별점 선택 : 버튼으로 별점을 표시해서 자바스크립트로 star_point 인풋에 value 값으로 넣어줍니다.
<ul class="starPoint"> <li><button type="button" data-point="1">1</button></li> <li><button type="button" data-point="2">2</button></li> <li><button type="button" data-point="3">3</button></li> <li><button type="button" data-point="4">4</button></li> <li><button type="button" data-point="5">5</button></li> </ul>
3) js는 생략.. (아직 미작업-_-;;)
2. 자료실 모듈에서는 코멘트 인서트할 때 ruleset을 이용하고, 게시판 모듈에서는 filter의 xml 파일을 이용하더군요.
insert_comment.xml 파일에서
<node target="star_point" required="true" />
<param name="star_point" target="star_point" />
를 넣어주었습니다.
3. 여태까지는 이렇게 하면 글이 추천되는 줄 알았는데 이제 보니, 글이 아니라 해당 코멘트를 추천하는 것이더군요.
이게 제가 insert_comment.xml 파일에서 추가해서 그런 걸까요?;
자료실 모듈도 insertComment 펑션이었으니, 아마 코멘트 추천이 맞을 겁니다.
코멘트 추천을 게시물 추천으로 넘겨서 더하는건지 여튼 그런 작업을 해야할 것 같군요;
각 코멘트 추천수를 더해서, 전체 코멘트 수로 나누면, 게시물 추천 수가 될겁니다. 하하-.-;
이제 그 작업을 해야하고,
또 각 코멘트에서 각 추천수별로 합계를 더해서 표시를 해주는 작업도 해주면 될 것 같네요..
하나씩 뭔가 코드가 보이는 거 같긴 한데 어렵네요 ㅠㅠ
plusPackageStar
코멘트를 쓰면, insertComment 펑션에서 위 쿼리를 실행시키는 것 같네요.
$output = executeQuery('resource.plusPackageStar', $star_args);
$star_args->module_srl = $this->module_srl;
$star_args->package_srl = $args->package_srl;
$star_args->item_srl = $args->item_srl;
$star_args->voted = $item->voted+$args->star_point;
$output = executeQuery('resource.plusItemStar', $star_args);
그러면 plusPackageStar라는 아이디를 가진 xml 파일이 실행이 되는 거구요.
이렇게 합해지는 것 같습니다. -_-a;
맞겠죠?
참조
https://xe1.xpressengine.com/?mid=qna&document_srl=17079808