웹마스터 팁
관리자가 글 쓸때는 분류를 선택 안 해도 등록되도록 (공지글을 쓸때를 위해) 개선
2014.06.21 08:19
원본글 출처 : http://sejin7940.co.kr/index.php?mid=xe_tips&document_srl=99974
Github 에도 올려두었으니, 운 좋으면 추후 Core 에 탑재될지도(?)
===============================================
게시판에서 분류기능을 쓰는 경우..
공지등을 쓰기 위해서는 분류를 선택 안 하고플때가 있다. (모든 분류에 대해 공지가 나오게 하기 위해)
그런데, 현재 XE 에서는 분류 선택이 필수사항이다보니, 공지글을 제대로 쓸 방법이 없다
결국 편법으로 다른 분류 안 쓰는 게시판에서 공지글을 쓴 후, 게시글 이동 기능을 이용해
분류없는 공지글로 등록시키는 편법을 쓰지만, 이 글을 수정하게 되면 또 문제가 생긴다.
아예 filter 를 관리자 전용으로 하나 추가해서..
관리자가 글 등록시에는, 분류 값이 필수가 아니여도 되게 하는 기능을 추가했다.
( 공지글인경우만 적용되게 하면 좋지만, 이건 스킨쪽이 아닌 모듈 쪽에서 제어할 수 있는게 아니여서..)
ps. 추가적으로, 관리자의 경우, 확장변수 필수 기재 사항도 무시할 수 있으면 좋은데..
이 부분은 나중에.. ㅡㅡ;; 이건 게시글 이동 편법으로 해야한다.
1. board.view.php 에서
function dispBoardWrite() 함수에서
Context::addJsFilter($this->module_path.'tpl/filter', 'insert.xml');
를 아래걸로 교체
if(Context::get('logged_info')->is_admin=='Y') Context::addJsFilter($this->module_path.'tpl/filter', 'insert_admin.xml');
else Context::addJsFilter($this->module_path.'tpl/filter', 'insert.xml');
2. board/tpl/filter/insert_admin.xml 파일 추가
<filter name="insert" module="board" act="procBoardInsertDocument">
<form>
<node target="nick_name" required="true" maxlength="20"/>
<node target="password" required="true" />
<node target="email_address" maxlength="250" filter="email" />
<node target="homepage" maxlength="250" filter="url" />
<node target="title" required="true" minlength="1" maxlength="250" />
<node target="content" required="true" />
</form>
<response callback_func="completeDocumentInserted">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="document_srl" />
<tag name="category_srl" />
</response>
</filter>
乃