묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
애드온 제작 질문입니다.
2008.07.20 01:42
필요에 의해서 게시판 본문 내용에서 특정 문자열을 치환해주는 애드온을 만들어 보았습니다.
제 실력이 모자라서인지 딱히 게시판 본문을 반환해주는 방법을 찾지 못해서, $called_position 이 before_display_content 일때, $output에서 preg_replace_callback 함수를 이용해서 BeforeDocument, AfterDocument 주석을 찾아내어 치환 처리하는 방법으로 구현했는데요.
이렇게 구현했을 경우, 글에 에디터 컴포넌트로 삽입한 컴포넌트 오브젝트와 애드온에서 치환할 문자열이 함께 나타나면 애드온의 효과가 무효화되고 컴포넌트만 제대로 동작을 하네요.
어떻게 다른 방법으로 게시판 본문만을 접근, 처리할 방법이 없는지 궁금합니다.
제 실력이 모자라서인지 딱히 게시판 본문을 반환해주는 방법을 찾지 못해서, $called_position 이 before_display_content 일때, $output에서 preg_replace_callback 함수를 이용해서 BeforeDocument, AfterDocument 주석을 찾아내어 치환 처리하는 방법으로 구현했는데요.
이렇게 구현했을 경우, 글에 에디터 컴포넌트로 삽입한 컴포넌트 오브젝트와 애드온에서 치환할 문자열이 함께 나타나면 애드온의 효과가 무효화되고 컴포넌트만 제대로 동작을 하네요.
어떻게 다른 방법으로 게시판 본문만을 접근, 처리할 방법이 없는지 궁금합니다.
댓글 2
-
老姜君
2008.07.20 13:41
-
칠리칠리
2008.07.20 21:56
혼자 끙끙대다가 해결했습니다. 주석으로 본문을 집어내는 정규표현식의 문제였네요; s 옵션을 빠뜨려서... orz
스킨에 손을 대는건 어떨까요? 스킨에서 {$oDocument->getContent()} 로 게시물 본문을 불러오니까 여기에 preg_replace를 적용시키면 될것 같은데요.