태터에 인쇄 버튼 달기

2005/05/11 15:27


설치형 블로그의 장점은 관리자 마음대로 기능을 추가 삭제할 수 있다는 점이다. 기능이 부족하면 다른 곳에서 가져오고, 불필요한 기능이면 과감히 삭제하면된다.
설치형 블로그의 장점은 관리자 마음대로 기능을 추가 삭제할 수 있다는 점이다. 기능이 부족하면 다른 곳에서 가져오고, 불필요한 기능이면 과감히 삭제하면된다.

사실 블로그를 방문하는 사람치고 블로그의 내용을 인쇄할 사람이 몇이나 될까 싶지만 블로그를 운영하는 분들 중 실력자가 많다보니 양질의 기사나 정보가 올라오는 경우가 많다. 따라서 이런 정보나 기사의 경우 한번 인쇄해서 보고 싶은 욕구가 생기 수 있다.

그런데 태터에는 인쇄 버튼이 없다. 개인 블로그이기 때문이겠지만 가끔 직접 쓴 글도 인쇄해서 보는 필자로서는 조금 불편했다. 따라서 간단한 파일 수정으로 태터에 인쇄 버튼을 달았다.

한가지 주의할 것은 필자 역시 여러 패치를 적용했기때문에 행은 일치하지 않을 수 있다는 점이다. 절차는 다음과 같다(태터 0.951 기준으로 작성했지만 0.96에서도 정상적으로 동작한다).

index.php
// 변경전

150:	$time_skin = chk_time($time_skin);
151:	$skin = new set_skin();
152:	$time_skin = chk_time($time_skin);

// 변경후
150:	if($md == 'print') $s_skin = $md;
151:	$time_skin = chk_time($time_skin);
152:	$skin = new set_skin($s_skin);
153:	$time_skin = chk_time($time_skin);

//150행에 if($md == 'print') $s_skin = $md;를 추가하고 152행의 $skin = new set_skin();을 $skin = new set_skin($s_skin);로 변경한다.

inc_function.php
//변경전
69:	function set_skin() {
70:		global $s_skin_path, $p_skin;
71:		$url = $s_skin_path.$p_skin."/skin.html";

// 변경후
69:	function set_skin($s_skin) {
70:		global $s_skin_path, $p_skin, $s_skin;
71:		$url = $s_skin_path.$p_skin."/skin.html";
72:		if($s_skin == 'print') $url =  $s_skin_path.$p_skin."/skin_print.html";

//69행의 function set_skin()을 function set_skin($s_skin)로 변경하고 72행을 추가한다.

skin_print.html skin.html을 skin_print.html로 복사한 후 skin_print.html 파일을 다음처럼 변경한다.

  1. 몸체(중앙 블럭)를 표현하는 테이블 테그를 제외한 <s_t3>...<s_article_rep> 사이의 모든 내용을 삭제한다.
  2. 몸체(중앙 블럭)를 표현하는 테이블 테그를 제외한 </s_article_rep>...</s_t3> 사이의 모든 내용을 삭제한다.
  3. <s_article_rep>...</s_article_rep>에서 불필요한 부분(예: 글쓴이: 도아 답글 (16) 엮인글 (2) 올블로그에 추천)을 모두 삭제한다.

skin.html 인쇄버튼을 삽입할 만한 곳에 다음과 같은 코드를 삽입한다([와 #은 공백없이 입력해야 합니다). 한가지 주의할 것은 ><s_article_rep>...</s_article_rep> 사이에 삽입해야 한다.

<a href='[ ##_article_rep_link_##]&md=print' target=_blank>인쇄</a>

덧글 답글이나 트랙백의 경우 skin_print.html 파일에서 직접 제거해도 되며, 환경 설정에서 기본적으로 접도록 설정해도 된다.

관련 글타래

Tags

인쇄 버튼, 패치, 플러그인