예전에 만든 태터툴즈에 인쇄 버튼을 달아주는 플러그인의 올림판입니다. 처음 만들어서 배포했던 태터 플러그인: 태터에 인쇄 버튼 달기는 올라온 글 중 마지막에 올린 글만 인쇄할 수 있던 문제가 있었습니다.

이 문제를 수정한 판을 태터 플러그인: 인쇄 버튼 - 판올림으로 올렸지만 이 판 역시 블로그당 글이 하나 이상이면 사용할 수 없었습니다. 이번 판은 이러한 문제를 모두 수정한 판입니다. 즉, 블로그의 글을 하나 이상 지정해도 모두 인쇄가 가능합니다.

다만 제가 태터툴즈를 사용하고 있는 환경이 단일 사용자이기 때문에 여러 사용자가 사용하는 경우 정상적으로 동작할지는 의문입니다. 설치 및 사용하는 방법은 다음과 같습니다.

플러그인 설치
내려받은 플러그인을 푼 후 태터툴즈의 플러그인 폴더로 폴더째 복사합니다.
플러그인 설정
'관리 도구/환경 설정/플러그인 관리'에서 '인쇄 버튼'을 '미사용'에서 '사용중'으로 변경합니다.
.htaccess 변경
좋아하는 편집기로 .htaccess를 불러온 뒤 다음처럼 변경합니다. 적색 줄이 새로 추가된 줄입니다.
RewriteEngine On
RewriteCond %{ENV:REDIRECT_SURI} !^$
RewriteRule (.*) - [L]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+[^/])$ $1/ [L]
RewriteRule ^print/[0-9]+$ plugins/vPrintArticle/item.php [E=SURI:1,L]
스킨 변경
자신이 사용하는 Skin.html 파일의 <HEAD> 태그와 </HEAD> 사이에 [ ##_print_js_code_## ]라는 치환자를 삽입하고 인쇄 버튼을 달 위치에 [ ##_print_article_## ]이라는 치환자를 삽입합니다.
인쇄용 스킨 생성

인쇄를 하기 위해서는 지난번과 마찬가지로 별도의 인쇄용 스킨이 필요합니다. 태터툴즈의 표준 스킨을 사용하는 경우에는 압축 파일에 포함된 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)으로 변환한 경우입니다. 대충 다음처럼 구성하면 됩니다.

<s_t3>
<div id="container">
<s_article_protected>
<div class="entry_protected">
<h2>[##_article_rep_title_##]</h2>
<span class="date">[##_article_rep_date_##]</span>
<p>보호되어 있는 글입니다. 내용을 보실려면 비밀번호를 입력하세요.</p>
<p><label for="[##_article_password_##]">비밀번호 ::</label>
<input type="password" maxlength="16" id="[##_article_password_##]" name="[##_article_password_##]" value="" onkeydown="if (event.keyCode == 13) [##_article_dissolve_##]" />
<input type="button" class="submit" value="submit" onclick="[##_article_dissolve_##]" />
</p>
</div>
<hr />
</s_article_protected>
<!-- entries -->
<s_article_rep>
<div class="entry">
<h2><a href="[##_article_rep_link_##]">[##_article_rep_title_##]</a></h2>
<span class="name"><a href="[##_article_rep_category_link_##]">[##_article_rep_category_##]</a> | [##_printarticle_##]</span> | <span class="date">[##_article_rep_date_##]</span>
<div class="article"> [##_article_rep_desc_##] </div>
<div class="btn_top"><a href="#top"><img src="./images/btn_top.gif" /></a></div>
</div>
</s_rp>
</div>
</s_article_rep>
</s_t3>

일단 플러그인을 설치하고 인쇄 버튼을 클릭하면 다음 그림과 같은 인쇄용 화면이 나타나면 자동으로 인쇄 창이 나타납니다.

이전 판을 사용하시던 분은 일단 플러그인을 사용중에서 미사용으로 변경하고 이전 판을 삭제한 뒤 사용하시기 바랍니다.

관련 글타래

글쓴이
author image
운영체제의 모든 것을 운영하고 있는 IT 블로거. IT 블로거라는 이름은 현재 시국때문에 시사 블로거로 바뀐 상태다. 그러나 나는 아직도 시사와 사회에 관심이 많은 IT 블로거일 뿐이다. 컴퓨터, 운영체제, 시사, 가족, 여행, 맛집, 리뷰등과 살면서 느끼는 소소한 일상이 블로그의 주제이다. 왼쪽의 아이콘은 둘째 딸 다예가 그린 내 모습이다.
2006/08/03 14:50 2006/08/03 14:50
오늘의 글
인기있는 글
조회수 많은 글 | 베오베
댓글 많은 글 | 베오베

Trackback

Trackback Address :: https://offree.net/trackback/517

Facebook

Comments

  1. zetyx 2006/09/15 11:48

    이거 설치 했는데 왜 안될까요.... http://www.webnet17.com
    설치했고 .htaccess도 변경하고 설명대로 다 했는데 페이지를 찾을 수 없다고 나오네요.... 스킨은 제가 수정한 zetyx를 사용하고요... 도와주세요 ㅠㅠ

    perm. |  mod/del. reply.
    • 도아 2006/09/15 16:11

      추가적인 정보없이 안된다고만 하시면 저 역시 답변할 수 있는 방법이 없습니다. 확인차 블로그를 방문했더니 포기하셨다는 글을 보고 저 역시 포기했습니다.

      그럼.

  2. zetyx 2006/09/20 21:47

    관리자만 볼 수 있는 댓글입니다.

    perm. |  mod/del. reply.
    • 도아 2006/09/20 21:51

      맨 아래 줄에 추가하면 당연히 안됩니다. 위에서 설명했듯

      RewriteRule ^(.+[^/])$ $1/ [L] RewriteRule ^print/[0-9]+$ plugins/vPrintArticle/item.php [E=SURI:1,L]

      다음 줄에 추가해야 합니다.

  3. zetyx 2006/09/22 08:58

    아하.. 그렇군요 맨밑줄에 있길래 맨밑줄에 썼는데 ㅠㅠ 얼릉 적용해 봐야 겠네요 ^^

    perm. |  mod/del. reply.
  4. zetyx 2006/09/22 09:31

    아우 왜 안될까요... 페이지를 찾을수 없다고만 나오네요...
    도아님껏 처럼 http://offree.net/print/517 경로가 나오려면
    (저는 http://www.webnet17.com/rc3가 tt경로예요)
    http://www.webnet17.com/rc3/print/250 <== 이렇게 나와야 하는데
    http://www.webnet17.com/print/250 <== 이렇게 나와요

    그래서 플러그인의 index.php에서 16번째줄
    $target.="function ArticlePrint(url) { url='print/'+url; window.open(url); }";

    을$target.="function ArticlePrint(url) { url='rc3/print/'+url; window.open(url); }";

    로 변경하니까 주소가 제대로 나와서 인쇄 하면은 뜨는데 인쇄장치 선택화면이 안나와요... .htaccess도 도아님이 알려주신 대로 수정을 다시 했구요
    지금 도아님꺼로 해놨으니까 시간 나실때 와서 한번 봐주세요 ㅠㅠ

    perm. |  mod/del. reply.
    • 도아 2006/09/22 14:04

      주소가 제대로 나와서 인쇄 하면은 뜨는데 인쇄장치 선택화면이 안나와요… .htaccess도 도아님이 알려주신 대로 수정을 다시 했구요 화면이 나오면 정상적으로 된 것입니다. 프린트 화면은 Print 스킨의 BODY 태그에

      onLoad='window.print(); return false;'

      를 추가하면 됩니다.

  5. zetyx 2006/09/22 16:54

    아.. 정말 간단한 방법인데 전 바보인가봐요.. 감사합니다.
    이제 프린트 화면만 깔끔히 꾸미면 되겠네요 감사해요

    perm. |  mod/del. reply.

(옵션: 없으면 생략)

글을 올릴 때 [b], [i], [url], [img]와 같은 BBCode를 사용할 수 있습니다.