2014년 03월 xe세미나 xe 애드온 개발 강좌(2/2)

17
예제로 알아보는 애드온 제작

Upload: sol-kim

Post on 23-Jun-2015

1.217 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: 2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)

예제로 알아보는 애드온 제작

Page 2: 2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)

애드온 제작기능 게시글에 전화번호가 있을 경우 끝자리 4개의 숫자를 숨김( *표시 ) 처리 !애드온 이름 게시글 내용 변경(document_content_change) !예제를 위한 선행 작업 XE 설치 “사이트 메뉴 편집” > 메뉴추가 > 게시판 > 메뉴 ID 는 “board”로 메뉴를 추가합니다.

!예제 코드 저장소 : https://github.com/akasima/xe-addons

Page 3: 2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)

제작 애드온의 기능

Page 4: 2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)

기본 파일 생성

제작하려는 애드온 이름의 document_content_change 폴더를 만들고 document_content_change.addon.php, conf/info.xml 파일을 만듭니다.

관리자 > 설치된애드온(/index.php?module=admin&act=dispAddonAdminIndex)을 확인합니다.

Page 5: 2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)

conf/info.xml 파일 작성

Page 6: 2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)

애드온 사용함 설정 !애드온이 동작할 수 있도록 체크하고 저장합니다.(/index.php?module=admin&act=dispAddonAdminIndex)

Page 7: 2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)

document_content_change.addon.php 파일 작성 !시작부분을 작성합니다.

Page 8: 2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)

$called_position 정하기 !애드온이 불려질 위치를 확인하기 위해 코드를 살펴봅니다. 게시글 노출시 내용을 확인할 수 있는 시점을 찾으면 됩니다. !게시글이 노출되는 url은 /index.php?mid=board&document_srl=글번호 입니다. !mid board는 board 모듈을 사용하고 act가 없을 때 기본으로 실행되는 메소드는 boardView::dispBoardContent() 입니다.

Page 9: 2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)

$called_position 정하기 (계속)

Page 10: 2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)

$called_position 정하기 (계속) !boardView::dispBoardContent()를 보면 게시글 노출은 boardView::dispBoardContentView(); 을 호출해서 처리됩니다. !이렇게 코드를 확인하면 Context::set('oDocument', $oDocument); 으로 게시글 정보를 Context에 할당하는것을 확인할 수 있습니다.

Page 11: 2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)

$called_position 정하기 (계속) !boardView::dispBoardContent() 완료 후 Context::get(‘oDocument’); 해서 게시글 내용을 변경하는 애드온을 만들기로 결정합니다. !모듈 실행이 완료된 후 이므로 $called_position은 after_module_proc을 사용합니다.

Page 12: 2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)

기능 구현 !boardView::dispBoardContent() 에서 Context에 할당된 oDocument에 접근해서 현재 노출될 게시글 내용을 가져옵니다. !글 내용에 접근해서 전화번호를 찾아서 변경합니다.

Page 13: 2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)

예외 처리 코드 추가 !애드온이 게시글 수정할 때 동작 되어 글 수정에 문제가 있습니다.

Page 14: 2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)

예외 처리 코드 추가 ! 게시글이 노출될 때만 애드온이 동작하도록 수정합니다.

애드온이 동작할 상황들을 고려해서 코드를 추가합니다.

Page 15: 2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)

디버깅debugPrint() 사용 XE의 디버깅을 위한 함수입니다.

debugPrint()를 사용하기 위한 설정XE_PATH/config/config.user.inc.php 를 작성

XE_PATH/files/_debug_message.php 를 통해서 확인

XE를 사용할 때 유용한 디버깅 방법입니다.

Page 16: 2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)

실습 !document_content_replace 애드온을 이용해서 몇가지 기능 추가를 해보겠습니다. !1. info.xml 에 extra_vars 를 추가하고 ‘찾는 문자’, ‘변경될 문자’ 두개의

입력 필드를 설정합니다. 그리고 입력받은 값으로 내용이 변경될 수 있도록 애드온을 수정합니다. (extra_vars 사용)

2. 게시글을 볼 때 글이 끝나는 지점에 배너를 추가합니다. (before_display_content)

Page 17: 2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)

감사합니다[email protected]