웹마스터 팁
특정게시판, 비밀글로 작성하기 (대암지기님 팁 보완)
2010.03.17 17:17
주의 : 게시판정보에서 비밀글기능에 체크되어 있어야 합니다.
전에 개인적으로 받았던 질문이기도 하고, 묻고 답하기 게시판에도 올라와서 재탕해봅니다.
묻고답하기에 질문을 하셨던 분이 링크한 대암지기님께서 작성한 팁의 경로는 아래와 같습니다.
http://www.xpressengine.com/16495811
대암지기님께서 팁을 작성했던 시점보다 현재 XE 버전이 많이 올라갔으므로, 안되는 팁을 작성했던 것은 아닙니다.
그럼, 아래의 설명을 읽고 원하는 바를 이뤄보세요.
이 팁을 작성하는 시점은 XE 1.4.0.10 이며, 설명에서 사용되는 것은 XE 게시판 기본 스킨입니다.
특정게시판에서만 되는 팁이 아니며, 여러분이 사용하고 있는 게시판스킨을 원하는 방법으로 수정하면 됩니다.
1. 먼저 skin.xml문서를 열고 스킨관리에 기능을 추가합니다.
<extra_vars>와 </extra_vars>사이에 아래의 부분을 끼워넣으면 됩니다.
========+++
대암지기님의 팁을 수정하는 것이므로 var name은 secret_document로 해보겠습니다.
반드시 secret_document로 해야되는 것은 아니며, 원하는 이름을 부여하면 됩니다.
+++========
<var name="secret_document" type="select">
<title xml:lang="ko">비밀글 작성</title>
<description xml:lang="ko">모든 게시물이 비밀글로 작성됩니다.</description>
<options value="N">
<title xml:lang="ko">사용안함</title>
</options>
<options value="Y">
<title xml:lang="ko">사용</title>
</options>
</var>
위의 작업을 마쳤으면 아래의 그림과 같이 스킨관리에 제대로 나타나는지 확인해보세요.
스킨관리에 비밀글 설정기능을 추가했으면 글쓰기창에도 조건을 추가해야 원하는 기능을 사용할 수 있습니다.
2. write_form.html 문서를 수정합니다.
2-1 기존글은 기존설정을 따르게 하기
이것은 이미작성된 글이 비밀글이 아닐 경우 강제로 체크되어 있지 않도록 설정하는 것입니다.
(사용자가 체크해제할 수 있게)
아래와 같은 부분을 찾아서
아래와 같이 수정합니다.
(사용자가 체크해제할 수 없게)
위에서 말씀드린 빨간색 부분에 onclick="this.checked=true" 이것을 추가하면 됩니다.
적용해보면 아래와 같이 되겠죠?=======================================================================================
2-2 비밀글로 작성된 글이 아니어도 글 수정시 비밀글에 체크되어 있도록 하기
이것은 기존에 작성된 글이 비밀글이 아니라도 글 수정 버튼을 누르면 비밀글에 체크되어 있도록 하는 것입니다.
2-1에서 말씀드린 파란색 부분을 찾아서 아래와 같이 수정합니다.
(사용자가 체크해제할 수 있도록)
(사용자가 체크해제할 수 없도록)
위에서 말씀드린 부분에 onclick="this.checked=true" 이것을 추가하세요.=======================================================================================
2-3 비밀글체크인풋 숨기기
이것은 무조건 비밀글로 작성하지만이 부분을 작성자에게 보여주지 않기 위한 설정입니다.
![]()
아래의 부분을 찾습니다. 딱 한 곳이 있을 겁니다.
<!--@if($module_info->secret=="Y")-->
숨김상태에서는 체크나 체크해제를 할 수 없기 때문에 무조건 체크되도록하는 소스만 설명드릴게요.
위의 그림을 기준으로 65행부터 68행을 삭제 후 아래의 소스를 끼워넣습니다.
![]()
이렇게이 부분을 숨겼으면 사용자에게 안내을 해줘야겠죠..
아래의 소스를 원하는 곳에 넣어보세요. (html태그는 알아서 꾸미세요)
<!--@if($module_info->secret_document == "Y")-->이 글은 비밀글로 저장됩니다.<!--@end-->
적용하면 아래와 같이 됩니다.
* 스킨관리에 기능을 추가하지 않고 글쓰기창에만 mid별로 조건을 추가해서 사용할 수도 있습니다.