텍스트큐브 플러그인 가상치환자

텍스트큐브 센터플러그인을 만들다가 가상치환자를 사용할 일이 있어서 소스를 좀 살펴봤다.

치환자란?
흔히 플러그인에서 블로그화면으로 데이터를 뿌려주기 위해 사용한다.
형태는 [##_치환자명_##] 이고,
텍스트큐브가 치환자를 만나면 플러그인의 index.xml에 지정된 함수를 호출하여 반환값을 치환자 위치에 뿌린다.

가상치환자란?
실제로 스킨에 존재하지 않지만 마치 스킨에 존재하는 것처럼 동작하는 치환자를 가상치환라고 한다. 다시 말하면, 실제로 스킨에 [##_SKIN_body_start_##]와 같은 치환자가 없더라도 플러그인 index.xml에
<tag name="SKIN_body_start" handler="doSomething" />
라는 바인딩 코드가 있으면 실제로 doSomething함수의 반환값을 SKIN의 body 태그 시작부분에 뿌려준다.

종류
가상치환자의 종류는 아래 6가지다. 이름에서 알 수 있듯이 그렇게 동작한다.
SKIN_html_start, SKIN_html_end
SKIN_head_start, SKIN_head_end
SKIN_body_start, SKIN_body_end

동작원리
이렇게 할 수 있는 이유는 간단하다. 텍스트큐브가 스킨을 불러들일때 html, head, body 태그를 찾아서 가상치환자를 삽입한다.

/lib/blog.skin.php 화일 124라인을 보면
replaceSkinTag($sval, 'html');
replaceSkinTag($sval, 'head');
replaceSkinTag($sval, 'body');
이런 코드가 나온다.

replaceSkinTag함수는 두번째 파라미터의 태그를 찾아서 첫부분에 start 가상치환자를 끝부분에 end 가상치환자를 넣어주는 함수.

Textcube wiki 페이지 참조

Posted by 망고

08 1, 2008 23:39 08 1, 2008 23:39
,
Response
No Trackback , 6 Comments
RSS :
http://www.shimminkyu.com/tc/rss/response/850


Recent Photo

recent photo from http://mangolog.tistory.com/ from Mango PhotoLog

Stay Foolish, Stay Hungry.

- 망고


Seoul

Paris

Authors

  1. 망고

Schedule

«  »
with Google Calendar API

Site Stats

Total hits:
201126
Today:
105
Yesterday:
311