/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');

 

 

이거보고 그대로 따라했는데 안되서 끙끙대고있네요

 

문제가 뭘까요 

 

이상하게 본문 비회원 추천 비추천은 되는데 댓글만 안됩니다..

  • ? Lv6

    comment/comment.controller.php 에서

    function procCommentVoteUp(), function procCommentVoteDown() 찾으시고

     

    "

    if(!Context::get('is_logged'))
    {
    return new BaseObject(-1, 'msg_invalid_request');
    }

    "


    이 부분 삭제하세요

  • ? Lv6 ?
    안녕하세요 답변주셔서 감사합니다
    주석처리했는데도 여전히 안되네요 ㅜㅜ
  • 기드온님 혹시 댓글 비회원 추천 되게 하셨나요? 저도 이 기능이 필요한데... 막혀있습니다. 되신다면 힌트를 좀 부탁드려요.
  • Lv19
    현재 라이믹스(2.0.8 기준) 게시판 모듈에 '비회원 추천 허용' 옵션이 이미 있습니다.
    게시판 관리 > 게시판 정보 > 고급설정 > 비회원 추천 허용

    댓글 추천, 댓글 추천취소, 댓글 비추천 모두 이 옵션이 적용되어 있어요.
    따라서 코어를 수정할 필요는 없을 것 같구요.
    만약 이 옵션을 허용했는데도 비회원 댓글 추천 커맨드가 작동하지 않는다면 스킨의 설정을 살펴보거나 소스를 뜯어봐야 할 겁니다.
  • Lv19

    윤삼님 답변 감사합니다.

    댓글추천부분에 대해서 xedition 게시판과 스케치북 게시판 소스를 비교해보았는데,
    함수 정의된것도 서로 틀린부분이 보여서, 제 손을 넘어갔다고 생각이 들었습니다.
    스케치북 게시판으로 바꿔야 하나 생각중입니다. ^^;
    한번더 훓터보고 안되면 xedition 스킨은 휴지통으로 ...

    답변해주시는분들에게 포인트를 많이 드리고, 그걸 코인화해서 현물화 할수있는 커뮤시스템이 생겼으면 좋겠다는 생각이 듭니다!
    감사합니다.

  • Lv19

    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. 스킨이 이렇게 된다면 위에서 말씀드린 것처럼 게시판 관리에서 비회원 추천 옵션을 설정하는 것만으로 되지 않을까 싶어요.

  • Lv19

    본문글에 있는 추천은 비회원도 잘 되서, 본문글에 있는 추천 함수하고 댓글에 있는 추천함수하고도 비교를 해봤습니다. 

    알려주신데로 |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>

     

  • Lv19
    이상하네요.
    권한이 없다는 메시지는 비회원 추천 허용 값이 Y가 아닌 상태에서 로그인을 하지 않았을 때 추천/비추천 커맨드를 실행하면 나오는 건데요.
    게시판 추가 설정 등에서 댓글 추천 사용으로 되어 있겠죠?
    천천히 신중을 기해 살펴봐야겠습니다ㅜ
  • Lv19
    네 윤삼님 관심을 가져주셔서 감사합니다. ㅠ,ㅠ
    게시판 추가설정은 당연히 되어있습니다.
    질문하기전에 3-4번씩 일일이 다 확인해보고 질문드렸습니다.
    답변하시는 분들 시간도 소중하니까요.

    비회원 추천기능은 대다수 분들이 사용하지 않는가 봅니다. 그러니 아직까지 수정이 안되고 있는것 같아요.
    여러모로 감사했습니다.^^=b
  • Lv19

    https://xetown.com/questions/911736

    기출이님이 올린 팁으로 하니 잘 되네요. 다른데 문제가 생길지는 모르겠습니다만 .. 댓글 비회원 추천 비추천은 잘 됩니다.
    스케치북 게시판도 비회원 댓글 추천은 안되더라고요...ㅠㅡㅠ;;
    이것도 언젠가 라이믹스에서 고쳤으면 좋겠습니다.

     

    classes/module/ModuleObject.class.php

    if($this->checkPermission($grant) !== true) 를

    if($this->checkPermission($grant) !== true && !Context::get('target_srl')) 

     

  • Lv19
    찾았습니다.
    그 부분은 그냥 원상 복구하시구요ㅎㅎ

    https://github.com/rhymix/rhymix/blob/be1fbc9d65ec59cabc554706365ba7d7144e7d11/modules/comment/conf/module.xml#L10-L13
    이쪽에 보면 10~13행에 각각 permission="member"이라는 부분이 있는데 여기서 퍼미션을 걸렀더군요.
    이 부분을 삭제해보세요~
  • Lv19
    잘못된 요청입니다로 나옵니다.

    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>
  • Lv19
    그 메시지는 comment_srl이나 module_srl이 전달되지 않을 때 나오는 건데요.
    글쎄요. 저는 일단 잘 재연했거든요.
    따로 팁 게시판으로 정리해서 올려보겠습니다.
    여기는 원글 작성자님께 계속 알림이 갈 테니ㅜㅜ
    거기서 대화 계속 이어가면 될 듯합니다.