티스토리 뷰
나도 궁금해 했고 현재도 xe 개발하고 싶은 사람들에게 아주 궁금한 사항이
도대체 xe 게시판에 글이 써지는 과정이 어떻게 되냐는 것이다.
xe를 처음 접하는 개발자들에게 좌절?을 안겨주기도 하는 방식을 하나씩 살펴보기로 하자.
우선
1. write_form.html
경로: modules/board/skins/default/write_form.html
<form action="./" method="post" onsubmit="return procFilter(this, window.insert)" class="board_write">
onsubmit="return procFilter(this, window.insert)"
이 함수 부분을 잘 살펴보면 insert 필터를 호출하라는 느낌이다.
2. xml_js_filter.js
경로: common/js/xml_js_filter.js
/**
* @brief Function to process filters
* @deprecated
*/
function procFilter(form, filter_func) {
filter_func(form);
return false;
}
3. insert.xml
경로: modules/board/tpl/filter/insert.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" />
<node target="category_srl" 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>
에 보면 드디어 우리가 바라는 act가 보인다.
4. procBoardInsertDocument 함수
경로: modules/board/board.controller.php
로직을 처리한다.
5. completeDocumentInserted 함수
경로: modules/board/tpl/js/board.js
3번에서 <response callback_func="completeDocumentInserted"> 이부분이 있다.
콜백함수가 호출된다.
'XE(XpressEngine) 팁' 카테고리의 다른 글
xe 다국어 처리 하는 방법 (0) | 2017.06.22 |
---|---|
xe 외부페이지 내에서 include 하는 방법 (0) | 2017.06.22 |
xe가 설치된 루트 경로 가져오기 (0) | 2017.06.22 |
[xe] xe comment 댓글 외부페이지에서 쓰기 (0) | 2017.06.12 |
xe 외부페이지에서 xe document에 직접 insert 하는 방법 insDoc (0) | 2017.06.12 |
- Total
- Today
- Yesterday
- proc
- 인포믹스
- MySQL
- ocpjp
- 파싱
- xe addon
- XE
- 이클립스
- 오라클
- JDBC
- 포인터
- 파이썬
- php
- KG
- ocajp
- 자바
- webix
- 스크래핑
- C
- 자바 smtp
- XE3
- EC
- 문자열
- esql
- 프로씨
- C언어
- ocjap
- Python
- 플러터
- xe애드온
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |