묻고답하기
특정 게시판에서 비밀댓글 기능을 사용하고싶습니다
2015.03.01 15:58
특정게시판에서만 비밀댓글기능(댓글 작성자와 관리자만 볼 수 있도록)을 사용하고 싶어서
comment_write.php 파일을 아래처럼 고쳤습니다 (스케치북게시판입니다)
<!--@if($grant->write_comment && $oDocument->isEnableComment())-->
<form action="./" method="post" onsubmit="return procFilter(this, insert_comment)" class="bd_wrt cmt_wrt clear">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="document_srl" value="{$oDocument->document_srl}" />
<input type="hidden" name="comment_srl" value="" />
<input type="hidden" name="content" value="" />
<block cond="$module_info->mid='board_xTxn91'">
<input type="hidden" name="is_secret" value="Y">
</block>
------------
<block cond="$mi->use_status!='PUBLIC' || $module_info->mid='board_xTxn91'">
<input type="checkbox" name="is_secret" value="Y" checked="checked" id="is_secret_{$oDocument->document_srl}" checked="checked"|cond="@in_array('secret',$mi->wrt_opt)" />
<label for="is_secret_{$oDocument->document_srl}">{$lang->secret}</label>
</block>
-------------
<span class="opt_chk">
<block cond="$is_logged">
<input type="checkbox" name="notify_message" value="Y" id="notify_message" checked="checked"|cond="@in_array('notify',$mi->wrt_opt)" />
<label for="notify_message">{$lang->notify}</label>
</block>
<block cond="$mi->use_status!='PUBLIC' || $module_info->mid='board_xTxn91'">
<input type="checkbox" name="is_secret" value="Y" id="is_secret" checked="checked"|cond="@in_array('secret',$mi->wrt_opt)" />
<label for="is_secret">{$lang->secret}</label>
</block>
</span>
만,
이렇게 해도 로그인하지 않은 사용자까지 열람이 됩니다.
즉, 비밀글로 저장되지 않는것 같습니다
원게시물은 모든사람이 열람가능해야하고, 오직 댓글만 다른사람의 댓글은 볼 수 없도록 하고싶습니다
어디를 더 손봐야할까요?
댓글 5
-
닉이
2015.03.01 17:52
-
forest535
2015.03.01 21:43
목록과 내용은 누구나 쓰고, 읽기가 가능해야합니다
단지 댓글만 본인이 올린것 이외에는 안보이도록 해야해서 ㅠㅠ
-
닉이
2015.03.01 22:29
제가 너무 대충적어놨나보네요.
1. 게시판 설정에서 상태 - 비밀체크 ---> 이러면 글과 댓글 비밀글을 선택할수 있음
2. write_form.html 에서 상태 관한 부분에 파일에서 빨간부분 추가 (mid는 원하는 게시판주소로 변경)
<div cond="is_array($status_list) && $mid != 's_comment'" class="section">
<!--@foreach($status_list AS $key=>$value)-->
<input cond="@!in_array('secret',$mi->wrt_opt)" type="radio" name="status" value="{$key}" id="{$key}" checked="checked"|cond="$oDocument->get('status')==$key || ($key=='PUBLIC' && !$document_srl)" />
<input cond="@in_array('secret',$mi->wrt_opt)" type="radio" name="status" value="{$key}" id="{$key}" checked="checked"|cond="$oDocument->get('status')==$key || ($key=='SECRET' && !$document_srl)" />
<label for="{$key}">{$value}</label>
<!--@end-->
</div>
<input type="hidden" name="status" value="PUBLIC" id="PUBLIC" checked="checked" cond="$mid == 's_comment'"/>3. _comment_write.html, comment_form.html 파일에서 빨간부분 추가
<block cond="$mi->use_status!='PUBLIC' && $mid != 's_comment'">
<input type="checkbox" name="is_secret" value="Y" id="is_secret" checked="checked"|cond="@in_array('secret',$mi->wrt_opt)" />
<label for="is_secret">{$lang->secret}</label>
</block>
<block cond="$mid == 's_comment'">
<input type="hidden" name="is_secret" value="Y" id="is_secret_{$oDocument->document_srl}" checked="checked" />
</block>테스트 해보니 잘되네요.
테스트 페이지 http://www.dramajoa.com/xe/s_comment
-
forest535
2015.03.02 00:04
감사합니다
조금만 수정하면 바로 사용할 수 있겠어요 ^^
정말 감사합니다
-
2donggalbi
2015.03.01 21:57
글쓴이와 관리자만 보기를 원한다면 상담기능을 이용하면 되는것 아닌가요?
게시판 설정에서 상태 - 비밀체크하시고 해당 게시판에서 글쓸때는 비밀글 선택을 못하게 공개에 checked를 강제하면 될듯합니다.