Q&A

$document->allowComment() 로

댓글 허용 부분 체크 하려하는데

리스트에선 값이 안잡히는 듯하네요

 

게시판 리스트에서

 

해당 게시글의 댓글을 허용했는지 안했는지를 잡는 방법 아시는분 있으신가요?

 

 

<input type="checkbox" name="comment_status" value="ALLOW" checked="checked" id="comment_status">

이 체크박스 체크 기준입니다.

 

댓글 허용 체크박스

댓글 9

  • 각 게시글 마다 document 값을 얻어와서 검사 해줘야겟죠
  • @마카롱
    $document->allowComment()

    이게 먹히지가 않습니다..
  • @마카롱
    <block loop="$document_list=>$no,$document">
    이 블락도 잘 돌고있는듯해요.
  • 게시판의 리스트를 보여주는 경우에 불러오는 값과, 게시판을 읽어들일때 값이 서로 다릅니다.

    해당 변수에 처리하는 내용이 달라서 documentItem 에 적용된 해당 메서드를 실행해도 재대로 가져오지 못하고 false 값이 반환되는 것 같습니다.

    리스트 값에 comment_status 값이 있는지 확인해보고 그 값을 ALLOW으로 되어있는지 등으로 검사하는 방법으로 사용하셔야 할 것 같습니다.
  • @람보
    근데 그 마저도 해당 칼럼이 제외 하고 있어서 리스트 상에서는 해당 기능을 사용이 불가능할 것 같네요.
  • @람보
    편법은 없을까요? DB에서 바로 가져온다던지..
    막막하네요 허허
  • Core 수정이 가능하시다면..
    modules/board/board.view.php 에서
    function _makeListColumnList() 함수에서 $defaultColumn 에 'comment_status' 를 추가해주시고
    스킨에서 $document->get('comment_status') 를 출력하면 ALLOW 또는 DENY 로 값이 나올겁니다
  • 코어는 수정하지 마시고
    정 뭐하면 루프문 안에다가

    $args = new stdClass();
    $args->document_srl = $document->get('document_srl');
    $output = executeQueryArray('document.getDocument',$args);
    print_r($output);

    한번 해보셔요.
  • GG님 내용에 추가하여 완성본입니다.

     

    {@
        $args = new stdClass();
        $args->document_srl = $document->get('document_srl');
        $oDocumentTemp = executeQueryArray('document.getDocument',$args);
        reset($oDocumentTemp->data);
        if(current($oDocumentTemp->data)->comment_status == 'ALLOW')
            $allowComment = true;
        else
            $allowComment = false;
    }
    <span cond="$allowComment">댓글 허용</span>
    <span cond="!$allowComment">댓글 거부</span>