/modules/comment/comment.controller.php 를 여시고, 20번째줄쯤에 if(!Context::get('is_logged')) return new Object(-1, 'msg_invalid_request'); 를 찾아서 주석처리해줍니다. // if(!Context::get('is_logged')) return new Object(-1, 'msg_invalid_request'); 이렇게 됩니다.
그리고 42번째줄에 if(!Context::get('is_logged')) return new Object(-1, 'msg_invalid_request'); 를 찾으셔서 같은 방법으로 앞에 주석처리를 합니다. // if(!Context::get('is_logged')) return new Object(-1, 'msg_invalid_request');
이거보고 그대로 따라했는데 안되서 끙끙대고있네요
문제가 뭘까요
이상하게 본문 비회원 추천 비추천은 되는데 댓글만 안됩니다..
댓글 13
comment/comment.controller.php 에서
function procCommentVoteUp(), function procCommentVoteDown() 찾으시고
"
if(!Context::get('is_logged'))
{
return new BaseObject(-1, 'msg_invalid_request');
}
"
이 부분 삭제하세요
주석처리했는데도 여전히 안되네요 ㅜㅜ
게시판 관리 > 게시판 정보 > 고급설정 > 비회원 추천 허용
댓글 추천, 댓글 추천취소, 댓글 비추천 모두 이 옵션이 적용되어 있어요.
따라서 코어를 수정할 필요는 없을 것 같구요.
만약 이 옵션을 허용했는데도 비회원 댓글 추천 커맨드가 작동하지 않는다면 스킨의 설정을 살펴보거나 소스를 뜯어봐야 할 겁니다.
윤삼님 답변 감사합니다.
댓글추천부분에 대해서 xedition 게시판과 스케치북 게시판 소스를 비교해보았는데,
함수 정의된것도 서로 틀린부분이 보여서, 제 손을 넘어갔다고 생각이 들었습니다.
스케치북 게시판으로 바꿔야 하나 생각중입니다. ^^;
한번더 훓터보고 안되면 xedition 스킨은 휴지통으로 ...
답변해주시는분들에게 포인트를 많이 드리고, 그걸 코인화해서 현물화 할수있는 커뮤시스템이 생겼으면 좋겠다는 생각이 듭니다!
감사합니다.
1. _comment.html의 42~45행을 봤는데, 여기서 각 행의 onclick 속성에 |cond="$is_logged" 라는 게 붙어 있을 거예요.
이걸 한번 제거해보시겠어요?
https://github.com/rhymix/rhymix/blob/be1fbc9d65ec59cabc554706365ba7d7144e7d11/modules/board/skins/xedition/_comment.html#L42
2. 그리고 라이믹스용 스케치북에서는 같은 파일 62행에서 && $is_logged" 부분을 제거하시면 될 것 같구요.
https://github.com/rhymix/rhymix-sketchbook/blob/bf16a70c5a38fe7e604fbb58ec1a65316188db88/_comment.html#L62
(다만, 신고 부분에만 한정해서 $is_logged 조건을 걸어줘야 하겠네요)
3. 스킨이 이렇게 된다면 위에서 말씀드린 것처럼 게시판 관리에서 비회원 추천 옵션을 설정하는 것만으로 되지 않을까 싶어요.
본문글에 있는 추천은 비회원도 잘 되서, 본문글에 있는 추천 함수하고 댓글에 있는 추천함수하고도 비교를 해봤습니다.
알려주신데로 |cond="$is_logged" 이게 차이가 있어서.. 삭제해서 해봤습니다.
본문은 잘되고, 댓글은 권한이 없다는 메세지가 나옵니다.
아래는 본문에 있는 추천코드.
<a cond="$oDocument->getMyVote() === false || $oDocument->getMyVote() < 0" href="#" onclick="doCallModuleAction('document','procDocumentVoteUp','{$oDocument->document_srl}');return false;" class="voted"> <i class="xi-thumbs-up"></i><br>{$lang->cmd_vote} {$oDocument->get('voted_count')}</a>
이것은 댓글에 있는 추천코드.
<a cond="$comment->getMyVote() === false || $comment->getMyVote() < 0" href="#" onclick="doCallModuleAction('comment','procCommentVoteUp','{$comment->comment_srl}');return false;" class="voted">
<i class="xi-thumbs-up"></i>{$lang->cmd_vote}{$comment->get('voted_count')}</a>
권한이 없다는 메시지는 비회원 추천 허용 값이 Y가 아닌 상태에서 로그인을 하지 않았을 때 추천/비추천 커맨드를 실행하면 나오는 건데요.
게시판 추가 설정 등에서 댓글 추천 사용으로 되어 있겠죠?
천천히 신중을 기해 살펴봐야겠습니다ㅜ
게시판 추가설정은 당연히 되어있습니다.
질문하기전에 3-4번씩 일일이 다 확인해보고 질문드렸습니다.
답변하시는 분들 시간도 소중하니까요.
비회원 추천기능은 대다수 분들이 사용하지 않는가 봅니다. 그러니 아직까지 수정이 안되고 있는것 같아요.
여러모로 감사했습니다.^^=b
https://xetown.com/questions/911736
기출이님이 올린 팁으로 하니 잘 되네요. 다른데 문제가 생길지는 모르겠습니다만 .. 댓글 비회원 추천 비추천은 잘 됩니다.
스케치북 게시판도 비회원 댓글 추천은 안되더라고요...ㅠㅡㅠ;;
이것도 언젠가 라이믹스에서 고쳤으면 좋겠습니다.
classes/module/ModuleObject.class.php
if($this->checkPermission($grant) !== true) 를
if($this->checkPermission($grant) !== true && !Context::get('target_srl'))
그 부분은 그냥 원상 복구하시구요ㅎㅎ
https://github.com/rhymix/rhymix/blob/be1fbc9d65ec59cabc554706365ba7d7144e7d11/modules/comment/conf/module.xml#L10-L13
이쪽에 보면 10~13행에 각각 permission="member"이라는 부분이 있는데 여기서 퍼미션을 걸렀더군요.
이 부분을 삭제해보세요~
xedtion 스킨 코멘트부분 추천소스입니다.
동작 잘되는 뷰 부분에 있는 추천소스하고 비교해봐도 거의 비슷합니다.
<a cond="$comment->getMyVote() === false || $comment->getMyVote() < 0" href="#" onclick="doCallModuleAction('comment','procCommentVoteUp','{$comment->comment_srl}');return false;"class="voted"><i class="xi-thumbs-up"></i>{$lang->cmd_vote}{$comment->get('voted_count')}</a>
<a cond="$comment->getMyVote() > 0" href="#" onclick="doCallModuleAction('comment','procCommentVoteUpCancel','{$comment->comment_srl}');return false;" class="voted"><i class="xi-thumbs-up"></i>{$lang->cmd_vote}{$comment->get('voted_count')}</a>
<a cond="$comment->getMyVote() === false || $comment->getMyVote() > 0" href="#" onclick="doCallModuleAction('comment','procCommentVoteDown','{$comment->comment_srl}');return false;" class="voted"><i class="xi-thumbs-up"></i>{$lang->cmd_vote_down}{$comment->get('blamed_count')}</a>
<a cond="$comment->getMyVote() < 0" href="#" onclick="doCallModuleAction('comment','procCommentVoteDownCancel','{$comment->comment_srl}');return false;" class="voted"><i class="xi-thumbs-up"></i>{$lang->cmd_vote_down}{$comment->get('blamed_count')}</a>
글쎄요. 저는 일단 잘 재연했거든요.
따로 팁 게시판으로 정리해서 올려보겠습니다.
여기는 원글 작성자님께 계속 알림이 갈 테니ㅜㅜ
거기서 대화 계속 이어가면 될 듯합니다.