포럼
[시니시즘] '내용을 입력해주세요' 무시하기 팁
2011.05.13 11:24
게시판 스킨을 만들다보면 content 항목 자체가 필요 없을 때가 있습니다. (지금껏 없으셨더라도 언젠간 있으실 겁니다...;)
그런데 내용을 입력하지 않고 등록을 누르면 '내용을 입력해주세요'라고 경고창이 뜨게 되죠.
그걸 간단히 무시해버리는 팁을 오늘 알려드릴게용 ㅋ
XE에서 내용을 입력하는 부분은 editor로 처리되게 됩니다.
이런식으로 말이죠.
<div class="editor">{$oDocument->getEditor()}</div>
보통은 이걸 지워버리고 input으로 content 값을 삽입해주면 경고창이 안뜰거라고 생각하죠.
<input name="content" value="내용입니다">
그런데 이렇게 해도 '내용을 입력해주세요'라는 창은 뜹니다ㅡㅡ^
이 경고 메세지를 원천적으로 봉쇄하는 방법은 필터 파일을 수정하는 겁니다.
아래처럼요.
/modules/board/tpl/filter/insert.xml
content 부분을 수정해주면 됩니다.
<filter name="insert" module="pxeboard" act="procBoardInsertDocument"> <form> <node target="nick_name" required="true" maxlength="20"/> <node target="password" required="true" /> <node target="email_address" maxlength="250" /> <node target="homepage" maxlength="250"/> <node target="title" required="true" minlength="1" maxlength="250" /> <node target="content" required="true" /> <node target="category_srl" required="true" /> <node target="attach_file" /> <node target="attach_screenshot" /> </form> <response callback_func="completeDocumentInserted"> <tag name="error" /> <tag name="message" /> <tag name="mid" /> <tag name="document_srl" /> <tag name="category_srl" /> </response> </filter>
요렇게 수정해주면 됩니다.
<filter name="insert" module="pxeboard" act="procBoardInsertDocument"> <form> <node target="nick_name" required="true" maxlength="20"/> <node target="password" required="true" /> <node target="email_address" maxlength="250" /> <node target="homepage" maxlength="250"/> <node target="title" required="true" minlength="1" maxlength="250" /> <node target="content" /> <node target="category_srl" required="true" /> <node target="attach_file" /> <node target="attach_screenshot" /> </form> <response callback_func="completeDocumentInserted"> <tag name="error" /> <tag name="message" /> <tag name="mid" /> <tag name="document_srl" /> <tag name="category_srl" /> </response> </filter>
그런데 이렇게 해버리면 스킨을 독립적으로 구동할 수 없습니다.
스킨을 깔 때마다 해당 부분을 수정해줘야 되죠ㅠ
그리고 가능하면 XE의 원본 파일들을 건드리지 않는걸 지향하기 때문에
(예전에 제 마음대로 XE 파일들을 튜닝한 웹사이트가 있는데 아직까지 새 버전으로 업그레이드를 못하고 있다는 ㅡㅡㅋ)
최종적인 해결책은 아래처럼 해결하면 됩니다.
아래 파일을 수정해주세용.
/modules/board/skins/해당스킨/write_form.html
js 파일을 import하는 코드 아래 부분에 넣어주세용.
이런 소스들 아래에 넣어주세용.
<!--#include("_header.html")-->
<!--%import("../../tpl/js/write_form.js")-->
<!--%import("../../tpl/js/labelbox.js")-->
아래 소스를 넣어주시면 됩니당 ㅋ
<script language="JavaScript"> (function($){ $("html").ready(function(){ jQuery('#xpress-editor-1').val("안녕하세요 내용입니다"); }); })(jQuery); </script>
끝 ㅋ