라이믹스 프레임워크 와 코어 모듈 이 제공하는 이벤트를 정리한다. 서드파티 모듈은 별도 이벤트를 제공할 수 있다. 이벤트 이름과 호출 시점을 함께 지정하여 필요한 작업에 개입한다.
일반적으로 before는 작업 전, after는 작업 후에 호출된다. 공식 매뉴얼은 before에서 오류를 담은 BaseObject를 반환하거나 프레임워크 예외를 던져 작업을 중단할 수 있다고 설명한다. after는 이미 일어난 작업의 통보이므로 반환한 오류나 예외가 일반적으로 무시된다. 개별 이벤트의 실제 인자와 반환값 처리는 사용하는 버전의 호출 코드를 확인한다.
권한 확인이나 작업 금지 조건을 구현할 때 after에서 이미 끝난 작업을 취소할 수 있다고 가정하지 않는다. 애드온 의 called_position과 이벤트 이름은 서로 다른 인터페이스이므로 라이믹스/애드온 과 구분한다.
act:모듈명.액션명은 해당 액션을 호출할 때만 발생한다. 모든 요청에서 실행되는 이벤트보다 개입 범위를 좁힐 수 있다. 공식 문서의 모듈 선언 예시는 다음과 같은 속성 형식이다.
<eventHandler beforeAction= "모듈명.액션명" ... />
<eventHandler afterAction= "모듈명.액션명" ... />
...는 나머지 필수 속성을 생략한 표기이며 그대로 사용하는 XML이 아니다. 플러그인에서는 $this->beforeAction()·$this->afterAction() 인터페이스를 안내한다. 지원 버전과 등록 방식은 실제 자료 구조에 맞춰 확인한다.
아래 목록은 공식 매뉴얼의 이벤트 표를 기준으로 정리하였다. 동일 이름·시점이 중복된 행은 하나로 합쳤다. 2.2+ 등 버전 표시가 있는 이벤트는 이전 버전에서도 제공된다고 가정하지 않는다.
4.1. 코어 라이프사이클[ 편집 / 원본 편집 ] #
순서
이벤트 이름
호출 시점
비고
1
moduleHandler.init
before/after
2
moduleObject.proc
before
3
act:모듈명.액션명
before/after
4
moduleObject.proc
after
5
moduleHandler.proc
after
6
layout
before
7
display
before/after
4.2. 모듈 라이프사이클[ 편집 / 원본 편집 ] #
모듈
이벤트 이름
호출 시점
비고
module
module.deleteModule
before/after
module
module.dispAdditionSetup
before/after
module
module.getModuleAdminScopes
after
module
module.insertModuleConfig
before/after
2.2+
module
module.insertModulePartConfig
before/after
2.2+
module
module.procModuleAdminCopyModule
after
모듈
이벤트 이름
호출 시점
비고
member
member.addMemberToGroup
before/after
member
member.deleteGroup
before/after
member
member.deleteMember
before/after
member
member.deleteScrapDocument
before/after
member
member.dispMemberSignUpForm
before
member
member.doAutoLogin
before/after
member
member.doLogin
before/after
member
member.doLogout
before/after
member
member.getMemberMenu
before/after
member
member.insertGroup
before/after
member
member.insertMember
before/after
member
member.insertMemberDevice
before/after
member
member.procMemberAuthAccount
before/after
member
member.procMemberCheckValue
before/after
member
member.procMemberInsert
before/after
member
member.procMemberModifyInfo
before/after
member
member.procMemberScrapDocument
before/after
member
member.removeMemberFromGroup
before/after
member
member.updateGroup
before/after
member
member.updateMember
before/after
member
member.updateMemberEmailAddress
after
모듈
이벤트 이름
호출 시점
비고
document
document.copyDocumentModule
add
deprecated
document
document.copyDocumentModule
before/after
document
document.copyDocumentModule.each
before/after
document
document.declaredDocument
before/after
document
document.declaredDocumentCancel
before/after
document
document.deleteCategory
before/after
document
document.deleteDocument
before/after
document
document.getComments
after
document
document.getDocumentList
before/after
document
document.getDocumentMenu
before/after
document
document.getNoticeList
before/after
document
document.getThumbnail
before
document
document.insertCategory
before/after
document
document.insertDocument
before/after
document
document.manage
before/after
document
document.moveDocumentModule
before/after
document
document.moveDocumentToTrash
before/after
document
document.publishDocument
before/after
document
document.restoreTrash
after
document
document.updateCategory
before/after
document
document.updateDocument
before/after
document
document.updateReadedCount
before/after
document
document.updateVotedCount
before/after
document
document.updateVotedCountCancel
before/after
모듈
이벤트 이름
호출 시점
비고
comment
comment.copyCommentByDocument
add
deprecated
comment
comment.copyCommentByDocument.each
before/after
comment
comment.declaredComment
before/after
comment
comment.declaredCommentCancel
before/after
comment
comment.deleteComment
before/after
comment
comment.getCommentList
before/after
comment
comment.getCommentMenu
before/after
comment
comment.getThumbnail
before
comment
comment.getTotalCommentList
before/after
comment
comment.insertComment
before/after
comment
comment.moveCommentToTrash
before/after
comment
comment.procCommentAdminChangeStatus
after
comment
comment.sendEmailToAdminAfterInsertComment
after
comment
comment.updateComment
before/after
comment
comment.updateVotedCount
before/after
comment
comment.updateVotedCountCancel
before/after
모듈
이벤트 이름
호출 시점
비고
file
file.deleteFile
before/after
file
file.downloadFile
before/after
file
file.insertFile
before/after
4.7. 커뮤니케이션 모듈[ 편집 / 원본 편집 ] #
모듈
이벤트 이름
호출 시점
비고
communication
communication.addFriend
before/after
communication
communication.deleteFriend
before/after
communication
communication.deleteMessage
before/after
communication
communication.deleteMessages
before/after
communication
communication.sendMessage
before/after
4.8. 회원 포인트[ 편집 / 원본 편집 ] #
모듈
이벤트 이름
호출 시점
비고
point
point.setPoint
before/after
모듈
이벤트 이름
호출 시점
비고
admin
admin.dashboard
before
board
module.dispAdditionSetup
before/after
editor
editor.deleteSavedDoc
after
install
menu.getModuleListInSitemap
after
menu
menu.getModuleListInSitemap
after
ncenterlite
ncenterlite._insertNotify
before/after
Rhymix Framework
mail.send
before/after
Rhymix Framework
push.send
before/after
Rhymix Framework
sms.send
before/after
이 문서는 라이믹스 공식 매뉴얼 을 바탕으로 설명과 예제를 정리하였다. 공식 매뉴얼은 CC BY-SA 4.0으로 배포된다. 원문의 기여 이력은 rhymix-docs 저장소 에서 확인할 수 있다.