거 xe 모듈 개발하기 좋은 날씨네 - xecon + phpfest 2014
DESCRIPTION
거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014 2014.11.08TRANSCRIPT
![Page 1: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/1.jpg)
거 XE 모듈 개발하기 좋은 날씨네 게시판 하나는 만들 수 있게 해드릴게
신승엽
NHN Entertainment
2014.11.08 Session 2-4 XECon + PHPFest 2014
![Page 2: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/2.jpg)
신승엽 @ NHN Entertainment • SocialXE 개발 (2011) • XE Core 개발 (~2013)
![Page 3: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/3.jpg)
모듈 구상 목표
XE의 기본 요소들을 활용하는 간단한 모듈을 제작
요구사항 Document, Comment 모듈 사용
사이트 메뉴 편집과 호환
![Page 4: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/4.jpg)
나의 게시판
목록 보기
내용 보기
글 쓰기
댓글 쓰기
사이트 메뉴 편집을 통해 추가/설정
![Page 5: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/5.jpg)
모듈 폴더 생성
XE ROOT/modules/myboard 폴더 생성
![Page 6: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/6.jpg)
info.xml 생성
MODULE ROOT/conf/info.xml 파일 생성
![Page 8: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/8.jpg)
module.xml 생성
MODULE ROOT/conf/module.xml 파일 생성
권한 관련 정보
액션 실행 퍼미션 관련 정보
모듈이 가진 액션 관련 정보
http://me2.do/54gObkCW
![Page 9: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/9.jpg)
module.xml 생성
MODULE ROOT/myboard.class.php 파일 생성
![Page 10: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/10.jpg)
XE의 모든 모듈 class 파일은 ModuleObject를 상속 받아야 함
XE 초기 설치/ 쉬운설치 시에 호출됨
모듈 업데이트 여부를 체크하기 위해 호출 됨
http://me2.do/GPf5odjx
![Page 11: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/11.jpg)
모듈 업데이트 시 호출 됨
모듈 삭제 시 호출 됨 모듈이 쉬운 설치에 올라가 있을 때만 삭제가 가능
http://me2.do/GPf5odjx
![Page 12: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/12.jpg)
메뉴 타입으로 등록
MODULE ROOT/myboard.class.php 파일 수정
![Page 15: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/15.jpg)
http://me2.do/5Mfg7fNd
트리거를 정보를 받는 메소드
if (트리거가 없다) { 업데이트가 필요하다 }
모듈 업데이트 체크 시...
![Page 19: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/19.jpg)
메뉴 타입으로 등록
MODULE ROOT/myboard.model.php 파일 생성
![Page 21: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/21.jpg)
클래스 이름 규칙 파일명 클래스명 상위 클래스
myboard.class.php myboard ModuleObject
myboard.admin.controller.php myboardAdminController myboard
myboard.admin.model.php myboardAdminModel
myboard.admin.view.php myboardAdminView
myboard.controller.php myboardController
myboard.model.php myboardModel
myboard.view.php myboardView
![Page 24: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/24.jpg)
메뉴 타입으로 등록 지금까지 잘 따라왔다면 관리자 페이지 접속 시
모듈 업데이트가 표시 됨
![Page 25: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/25.jpg)
메뉴 타입으로 등록 업데이트 후 사이트 메뉴 편집으로 접속한 후 메뉴 추가를 눌러보면
'나의 게시판'이 추가된 것을 확인할 수 있음
![Page 26: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/26.jpg)
권한 설정 만들기
MODULE ROOT/conf/module.xml 파일 수정
![Page 28: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/28.jpg)
http://me2.do/59pJ1jtr
코드에서 사용할 이름 기본 권한 설정 - guest: 모든 사용자 - member: 로그인 사용자 - manager: 관리자 권한 체크를 자동으로 해주진 않는다
코드에서 직접 처리
![Page 29: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/29.jpg)
권한 설정 만들기
![Page 30: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/30.jpg)
간단 설정 만들기
MODULE ROOT/conf/module.xml 파일 수정
![Page 31: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/31.jpg)
Front에서 요청할 수 있는 모듈의 특정 액션에 대한 정보
true이면 간단 설정용으로 사용한다는 의미이며 응답은 설정을 위한 HTML
http://me2.do/GOBAs7xo
![Page 32: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/32.jpg)
액션에 사용할 '퍼미션' - 퍼미션은 '권한1'과는 다른 개념 - 해당 액션의 최소한 '권한2' - 액션 실행 전 자동 체크
퍼미션 적용할 액션 이름
적용할 퍼미션 - guest - member - manager
http://me2.do/GOBAs7xo
![Page 33: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/33.jpg)
액션 이름 규칙 파일명 접두어 결과
myboard.admin.controller.php procMyboardAdmin procMyboardAdminXxxx
myboard.admin.model.php getMyboardAdmin getMyboardAdminXxxx
myboard.admin.view.php dispMyboardAdmin dispMyboardAdminXxxx
myboard.controller.php procMyboard procMyboardXxxx
myboard.model.php getMyboard getMyboardXxxx
myboard.view.php dispMyboard dispMyboardXxxx
![Page 34: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/34.jpg)
간단 설정 만들기
MODULE ROOT/myboard.admin.model.php 파일 생성
![Page 35: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/35.jpg)
http://me2.do/5MfEonvo
여기서 할일 - 모듈 정보, 모듈 설정을 가져와서 - 템플릿에서 사용할 수 있도록 세팅하고 - 템플릿 컴파일한 결과를 반환
![Page 36: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/36.jpg)
김예솔님의 생일을 축하드립니다. 1월 10일에 태어난 신승엽님! 생일을 진심으로 축하드립니다. 생일이신 회원님을 위한 혜택...
홍경원님의 생일을 축하드립니다. 8월 14일에 태어난 신승엽님! 생일을 진심으로 축하드립니다. 생일이신 회원님을 위한 혜택...
템플릿?
출력 내용을 미리 준비해 두고 필요한 부분만 대치하여 사용
메일 머지 기능과 유사
[NAME]님의 생일을 축하드립니다. [DATE]에 태어난 [NAME]님! 생일을 진심으로 축하드립니다. 생일이신 회원님을 위한 혜택...
NAME DATE
신승엽 4월 23일
홍경원 8월 14일
김예솔 1월 10일
신승엽님의 생일을 축하드립니다. 4월 23일에 태어난 신승엽님! 생일을 진심으로 축하드립니다. 생일이신 회원님을 위한 혜택...
미리 준비된 내용 Data 결과 머지
![Page 37: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/37.jpg)
템플릿? 미리 준비된 내용: 템플릿
Data: Context 변수 머지: 템플릿 컴파일
템플릿 Context 변수 결과 컴파일
![Page 38: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/38.jpg)
http://me2.do/5MfEonvo
여기서 할일 - 모듈 정보, 모듈 설정을 가져와서 - 템플릿에서 사용할 수 있도록 세팅하고 - 템플릿 컴파일한 결과를 반환
모듈 번호 상세 설정 URL
![Page 40: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/40.jpg)
http://me2.do/5MfEonvo
모듈 번호 상세 설정 URL
여기서 할일 - 모듈 정보, 모듈 설정을 가져와서 - 템플릿에서 사용할 수 있도록 세팅하고 - 템플릿 컴파일한 결과를 반환
모듈의 정보를 반환 모듈의 설정을 반환
![Page 41: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/41.jpg)
http://me2.do/5MfEonvo
여기서 할일 - 모듈 정보, 모듈 설정을 가져와서 - 템플릿에서 사용할 수 있도록 세팅하고 - 템플릿 컴파일한 결과를 반환
템플릿 변수를 세팅하는 메소드
변수 이름 값
![Page 42: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/42.jpg)
http://me2.do/5MfEonvo
여기서 할일 - 모듈 정보, 모듈 설정을 가져와서 - 템플릿에서 사용할 수 있도록 세팅하고 - 템플릿 컴파일한 결과를 반환
템플릿을 다루기 위한 클래스
특정 템플릿을 컴파일한 결과를 반환
![Page 43: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/43.jpg)
간단 설정 만들기
MODULE ROOT/tpl/simple_setup.html 파일 생성
![Page 47: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/47.jpg)
간단 설정 만들기
MODULE ROOT/lang/lang.xml 파일 생성
![Page 50: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/50.jpg)
간단 설정 만들기
MODULE ROOT/myboard.admin.controller.php 파일 생성
![Page 54: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/54.jpg)
http://me2.do/GZta9W7q
여기서 할일 - 정상적인 요청인지 확인한 후 - 설정을 저장
if (module_srl에 해당하는 모듈이 myboard가 아니면) { 잘못된 요청 }
![Page 55: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/55.jpg)
http://me2.do/GZta9W7q
여기서 할일 - 정상적인 요청인지 확인한 후 - 설정을 저장
개별 모듈에 대한 설정을 저장하는 메소드
![Page 56: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/56.jpg)
간단 설정 만들기
![Page 57: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/57.jpg)
XE Control Path
Context 초기화
실행 모듈 결정
모듈 실행
결과 출력
요청
응답
![Page 58: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/58.jpg)
XE Control Path
요청 index.php?act=procMyboardAdminUpdateSimpleSetup
![Page 59: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/59.jpg)
XE Control Path
요청 Context 초기화
![Page 60: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/60.jpg)
XE Control Path
요청 Context 초기화
실행 모듈 결정
procMyboardAdminUpdateSimpleSetup
XE: 내가 실행할 모듈은...
Type은 Controller
Module은 Myboard
Admin 계열이군
![Page 61: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/61.jpg)
액션 이름 규칙 파일명 접두어 결과
myboard.admin.controller.php procMyboardAdmin procMyboardAdminXxxx
myboard.admin.model.php getMyboardAdmin getMyboardAdminXxxx
myboard.admin.view.php dispMyboardAdmin dispMyboardAdminXxxx
myboard.controller.php procMyboard procMyboardXxxx
myboard.model.php getMyboard getMyboardXxxx
myboard.view.php dispMyboard dispMyboardXxxx
![Page 62: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/62.jpg)
클래스 이름 규칙 파일명 클래스명 상위 클래스
myboard.class.php myboard ModuleObject
myboard.admin.controller.php myboardAdminController myboard
myboard.admin.model.php myboardAdminModel
myboard.admin.view.php myboardAdminView
myboard.controller.php myboardController
myboard.model.php myboardModel
myboard.view.php myboardView
![Page 63: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/63.jpg)
XE Control Path
요청 Context 초기화
실행 모듈 결정
XE: 내가 실행할 모듈은...
myboard.admin.controller.php를 include하면 되고 필요한 클래스는 myboardAdminController구나!
![Page 64: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/64.jpg)
XE Control Path
요청 Context 초기화
실행 모듈 결정
myboardAdminController의 procMyboardAdminUpdateSimpleSetup 메서드 실행
모듈 실행
![Page 65: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/65.jpg)
XE Control Path
요청 Context 초기화
실행 모듈 결정
모듈 실행
결과 출력 응답
![Page 66: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/66.jpg)
글 쓰기 화면 만들기
MODULE ROOT/conf/module.xml 파일 수정
![Page 67: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/67.jpg)
해당 액션이 반드시 mid를 가지고 실행되어야 할 경우 false로 세팅 이 속성을 사용하지 않으면 보안 문제가 생길 수 있음
http://me2.do/FecSNlje
![Page 68: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/68.jpg)
글 쓰기 화면 만들기
MODULE ROOT/myboard.view.php 파일 생성
![Page 70: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/70.jpg)
여기서 할일 - 모듈 설정을 가져와서 - 템플릿에서 사용할 수 있도록 세팅하고 - 템플릿 파일을 세팅
액션 실행 전 먼저 실행되는 메소드
http://me2.do/GdsHTOaw
![Page 72: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/72.jpg)
여기서 할일 - 모듈 설정을 가져와서 - 템플릿에서 사용할 수 있도록 세팅하고 - 템플릿 파일을 세팅
http://me2.do/GdsHTOaw
![Page 73: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/73.jpg)
여기서 할일 - 모듈 설정을 가져와서 - 템플릿에서 사용할 수 있도록 세팅하고 - 템플릿 파일을 세팅
PC 스킨 경로로 템플릿 경로 설정
액션명에서 접두어만 제외하고 템플릿 파일명으로 사용
http://me2.do/GdsHTOaw
![Page 75: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/75.jpg)
글 쓰기 화면 만들기
MODULE ROOT/skins/default/skin.xml 파일 생성
skins 폴더 아래 스킨 위치 기본 스킨 폴더명은 무조건 default
![Page 76: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/76.jpg)
![Page 77: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/77.jpg)
글 쓰기 화면 만들기
MODULE ROOT/skins/default/_head.html 파일 생성
http://me2.do/5ZfB1VaH
![Page 78: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/78.jpg)
글 쓰기 화면 만들기
MODULE ROOT/skins/default/Write.html 파일 생성
![Page 79: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/79.jpg)
http://me2.do/xKdaLajQ
현재 위치에 다른 템플릿 삽입
XE 템플릿에서만 사용되는 가상 태그
cond 속성 조건에 맞을 경우에만 태그가 표시 됨
![Page 80: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/80.jpg)
글 쓰기 화면 만들기
![Page 81: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/81.jpg)
글 쓰기 처리 만들기
MODULE ROOT/conf/module.xml 파일 수정
![Page 83: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/83.jpg)
글 쓰기 처리 만들기
MODULE ROOT/myboard.controller.php 파일 생성
![Page 84: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/84.jpg)
여기서 할일 - 권한 체크하고 - 데이터를 준비한 후 - document 모듈에 등록하고 - 글보기 화면으로 이동
http://me2.do/xLoLzp02
![Page 86: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/86.jpg)
여기서 할일 - 권한 체크하고 - 데이터를 준비한 후 - document 모듈에 등록하고 - 글보기 화면으로 이동
http://me2.do/xLoLzp02
![Page 87: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/87.jpg)
여기서 할일 - 권한 체크하고 - 데이터를 준비한 후 - document 모듈에 등록하고 - 글보기 화면으로 이동
http://me2.do/xLoLzp02
![Page 88: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/88.jpg)
여기서 할일 - 권한 체크하고 - 데이터를 준비한 후 - document 모듈에 등록하고 - 글보기 화면으로 이동
http://me2.do/xLoLzp02
![Page 89: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/89.jpg)
여기서 할일 - 권한 체크하고 - 데이터를 준비한 후 - document 모듈에 등록하고 - 글보기 화면으로 이동
http://me2.do/xLoLzp02
![Page 90: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/90.jpg)
글 보기 화면 만들기
MODULE ROOT/conf/module.xml 파일 수정
![Page 92: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/92.jpg)
글 보기 화면 만들기
MODULE ROOT/myboard.view.php 파일 수정
![Page 94: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/94.jpg)
http://me2.do/xO6tyuuN
여기서 할일 - 권한 체크하고 - document 모듈에서 글을 가져오고 - 조회수를 증가시키고 - 템플릿을 지정한다
![Page 96: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/96.jpg)
http://me2.do/xO6tyuuN
여기서 할일 - 권한 체크하고 - document 모듈에서 글을 가져오고 - 조회수를 증가시키고 - 템플릿을 지정한다
![Page 97: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/97.jpg)
http://me2.do/xO6tyuuN
여기서 할일 - 권한 체크하고 - document 모듈에서 글을 가져오고 - 조회수를 증가시키고 - 템플릿을 지정한다
![Page 98: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/98.jpg)
http://me2.do/xO6tyuuN
여기서 할일 - 권한 체크하고 - document 모듈에서 글을 가져오고 - 조회수를 증가시키고 - 템플릿을 지정한다
![Page 99: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/99.jpg)
http://me2.do/xO6tyuuN
여기서 할일 - 권한 체크하고 - document 모듈에서 글을 가져오고 - 조회수를 증가시키고 - 템플릿을 지정한다
![Page 100: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/100.jpg)
글 보기 화면 만들기
MODULE ROOT/skins/default/View.html 파일 생성
![Page 102: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/102.jpg)
글 보기 화면 만들기
![Page 103: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/103.jpg)
글 보기 화면 만들기
MODULE ROOT/myboard.view.php 파일 수정
![Page 104: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/104.jpg)
http://me2.do/x4XqDrqn
여기서 할일 - 권한 체크하고 - document 모듈에서 글 목록을 가져오고 - 템플릿을 지정한다
![Page 106: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/106.jpg)
http://me2.do/x4XqDrqn
여기서 할일 - 권한 체크하고 - document 모듈에서 글 목록을 가져오고 - 템플릿을 지정한다
![Page 107: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/107.jpg)
http://me2.do/x4XqDrqn
여기서 할일 - 권한 체크하고 - document 모듈에서 글 목록을 가져오고 - 템플릿을 지정한다
![Page 108: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/108.jpg)
http://me2.do/x4XqDrqn
여기서 할일 - 권한 체크하고 - document 모듈에서 글 목록을 가져오고 - 템플릿을 지정한다
![Page 109: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/109.jpg)
글 보기 화면 만들기
MODULE ROOT/skins/default/List.html 파일 생성
![Page 112: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/112.jpg)
글 보기 화면 만들기
![Page 113: 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014](https://reader033.vdocuments.pub/reader033/viewer/2022051212/5598a1471a28ab950a8b46ad/html5/thumbnails/113.jpg)
못 다한 이야기...
XE 모듈 개발 강좌 참고
http://www.xpressengine.com/learn/22801598