위에 사진은 document.model.php 의 getDocumentList 함수속 트리거 입니다.
검색 결과를 변경하기 위해 제가 만든 모듈 'abc'(예시)에 저 트리거를 넣어놓고, 트리거 처리를 해서 return을 했습니다.
여기서 abc 모듈에 getBoardList에는 executequery를 통해 받아온 DB output이 그대로 리턴됩니다.
그리고 trigger에서 리턴하는 $output의 값은 DB의 데이터가 그대로 들어가 있습니다
그런데, 제일 위에 getDocumentList함수에 트리거를 받아온 output값에는 그냥 일반 BaseObject(0,"success")를 호출한 값이 들어있더군요
DB에 관련된 값이 전혀 존재하지 않았습니다.
혹시 트리거에서 모체로 데이터를 넘겨줄때는 다른 방법을 거쳐야 할까요?
감사합니다~
트리거에서 return할 수 있는 것은 new BaseObjct(-1, 에러메시지) 뿐입니다.
에러가 아닌 반환값은 모두 무시됩니다.
예외적으로, getDocumentList before 트리거에서는
$obj->use_alternate_output = 반환하고 싶은 데이터;
이렇게 하시면 게시판 목록이 그것으로 대체됩니다. 이것도 return하는 것은 아니고, 이미 받아온 $obj에 속성 하나를 추가하는 것 뿐입니다. 또한 아무거나 넣으면 안 되고 getDocumentList에서 원래 반환하는 것과 완벽하게 똑같은 구조로 만들어서 넣어야 합니다. 모든 스킨들이 그 데이터 구조를 기반으로 만들어져 있으니까요.