|
|
가 1.x에는 플러그인 기능이 있다. 0.9x까지는 태터툴즈
에 기능을 추가하려면 태터툴즈
를 직접 패치해야 한다. 그러나 플러그인 기능을 사용하면 태터툴즈
를 패치하지 않고 관리 도구에서 플러그인만 설정해주면 된다. 설치하는 방법이 워낙 간단하기 때문에 이전에 태터툴즈를 패치해서 사용하던 기능을 플러그인으로 만들었다.
첫 번째로 만든 플러그인이 필자가 QAOS.com에서 소개한 TraceWatch의 분석 코드를 쉽게 태터툴즈에 삽입할 수 있는 TraceWatch 로그였고, 두 번째로 만든 플러그인이 태터툴즈
에 인쇄 버튼을 달 수 있는 인쇄 버튼 플러그인이었다.
인쇄 버튼 플러그인을 태터 센터
에 올린 후 확인해보니 인쇄 버튼을 클릭하면 인쇄 페이지가 만들어지지만 항상 최신 글만 인쇄 페이지에 나타나는 치명적인 버그가 있다는 것을 알았다. 그 이유는 간단했다. 플러그인에서 사용한 파일이 index.php 파일이었기 때문이다.
태터툴즈
의 각 폴더를 확인해보면 알 수 있지만 태터툴즈
는 기본적으로 index.php 파일과 item.php 파일로 구성된다. 이중 index.php 파일은 http://offree.net/처럼 URL에 파일 경로가 없는 경우에 호출되는 파일이며, item.php 파일은 http://offree.net/457처럼 URL에 파일 경로가 있는 경우에 호출되는 파일이다. 글의 ID를 이용해서 인쇄 페이지를 표시하려면 당연히 URL에 글의 ID가 표시되는 item.php를 이용해야 한다.
사실 여기까지는 쉽게 왔다. 그런데 문제는 플러그인에서 글의 ID를 가져올 수 있는 방법이 많지 않다는 점이었다. 태터툴즈의 이벤트 중 글의 ID를 가져올 수 있는 이벤트는 ViewPostContent처럼 치환자를 사용하지 않는 이벤트들인데 인쇄 버튼 플러그인은 인쇄 버튼을 달기 위해서는 꼭 치환자를 사용해야 하기 때문이다.
결국 인쇄 버튼 링크에 자바스크립트
를 호출하는 코드를 삽입하고 자바스크립트
를 ViewPostContent 이벤트를 이용해서 생성하는 방법으로 문제를 해결했다. 그러나 이 방법도 역시 문제가 있었다. 치환자를 이용해서 플러그인을 호출하면 글의 ID를 알 수 있는 방법이 없기 때문에 블로그의 글을 한 페이지당 하나만 출력하도록 설정해야 정상적으로 동작한다는 점이다.
이 부분은 태터툴즈
의 이벤트가 보강되면 수정하도록 하겠다. 이 인쇄 버튼을 사용하는 방법은 다음과 같다.
- 내려받기: PrintArticlePlugin.zip
- 플러그인 설치
- 내려받은 플러그인을 푼 후 태터툴즈
의 플러그인 폴더로 폴더째 복사한다.
- 플러그인 설정
- 관리 도구/환경 설정/플러그인 관리에서 인쇄 버튼을 미사용에서 사용중으로 변경한다.
- 블로그 설정
- 관리 도구/스킨 관리/스킨에 맞춘 출력 설정을 클릭하고 블로그 글을 한 페이지 당 1개 보여줍니다로 변경한다.
- .htaccess 변경
- 좋아하는 편집기로 .htaccess를 불러온 후 다음처럼 변경한다. 적색 줄이 새로 추가된 줄이다.
- 스킨 변경
- 자신이 사용하는 Skin.html 파일의 적당한 위치에 [ ##_printarticle_## ]이라는 치환자를 삽입한다.
- 인쇄용 스킨 생성
- 인쇄를 하기 위해서는 별도의 인쇄용 스킨이 필요하다. 태터툴즈
의 표준 스킨을 사용하는 경우에는 압축 파일에 포함된 skin_print.html 파일을 /skin/Tattertools_skyline_ko 폴더에 복사하면 된다. 그러나 이외의 스킨을 사용하는 사람은 스킨 파일을 직접 변경해야 한다. 이 인쇄용 버튼을 자주 사용하는 사람은 스킨을 제작하는 분께 인쇄용 스킨 제작을 문의하는 것도 한 방법이다. 변경하는 방법은 스킨마다 차이가 있다. 일반적으로 <s_t3> 태그와 <s_article_protected> 태그 사이에서 <DIV> 태그를 제외한 모든 내용, <s_article_rep> 태그와 </s_article_rep> 태그 사이의 내용 중 불필요한 내용, </s_article_rep> 태그와 </s_t3> 태그 사이에서 <DIV> 태그를 제외한 모든 내용을 지우면 된다.
좌/우측 패널이 존재하는 경우 해당 <DIV> 태그도 삭제해야 한다.
다음은 태터툴즈의 표준 스킨을 인쇄용 스킨(skin_print.html)으로 변환한 경우이다. 대충 다음처럼 구성되면 된다.
Trackback
Trackback Address :: http://offree.net/trackback/474


Comments
판 올림이라는 표현 너무 좋네요 ^^
표현이 너무 좋아 글을 남기고 갑니다.
맞춤법 검사기로 돌린 후 글을 올려보면 제가 사용하는 말 중 불필요한 외래어가 꽤 있더군요. 또 자동적으로->자동으로처럼 은연 중 배어있는 일본식 표현도 꽤 되고요.
그래서 가급적이면 우리 말을 사용하기로 했습니다. 조금 귀찮아도 맞춤법 검사기로 돌려보고 글을 올리고 있습니다.
보강되어야 하는 이벤트가 있다면 지체없이 www.tattertools.com/ko/forum 에 알려주십시오.. ^^
제 블로그에 글을 올리고 정리해서 올릴 생각입니다. 그럼 수고해주세요... 1.0.5만 눈이 빠지게 기다리고 있습니다. 요새는 트랙백 스팸이 하루에만 100여건씩 날나옵니다.
있는 그대로 했는데..왜 전 안되는 걸까요?
모릅니다. 그대로 했다면 당연히 되야 하므로 그대로 안한 것으로 봐야겠지요.
아울러 그대로 했다는 말 한 마디로는 도와주고 싶어도 도울 수 있는 방법이 없습니다.