Rev. 2.73

카테고리표시.png

태터에서 그림처럼 카테고리, 아카이브, 검색 등 리스트가 출력되는 경우 해당 포스트의 카테고리를 표시하고, 표시된 카테고리를 클릭할 경우 해당 카테고리의 목록이 활성화되도록 하는 기능이다. index.php파일을 몇 줄 편집하는 것으로 가능하다. 난이도는 매우 쉬운 편이지만 백업은 필수.

index.php파일의 305열에서 아래의 코드를 찾는다.

$p2_rp = str_replace("[ ##_list_rep_rp_cnt_##]", $rp_cnt, $p2_rp);
$p2 .= $p2_rp;

이것을 아래처럼 변경한다.(빨간 부분 추가)

$p2_rp = str_replace("[ ##_list_rep_rp_cnt_##]", $rp_cnt, $p2_rp);

//리스트에 카테고리 표시
if($&&&ct1 || $setdate || $setday || $stext)
$category = get_category1_label($category1);
if ($category2) $category .= " - ".get_category2_label($category2);
$p2_rp = str_replace("[ ##_list_rep_cat_##]", $category, $p2_rp);
$p2_rp = str_replace("[ ##_list_rep_clink_##]", "index.php?&&&ct1=$category1&ct2=$category2", $p2_rp);
//카테고리 표시 끝

$p2 .= $p2_rp;

그리고 스킨의 적절한 위치에 해당 치환자를 추가해 주는 것으로 완료된다. s_list, 에서 찾을 수 있을 것이다. 참고로 다음은 본인의 스킨에 치환자를 적용한 예이다.

		<s_list_rep>
		<div class='list_bar'>
			<div class='list_head'>[ ##_list_rep_regdate_##] <a href="[ ##_list_rep_clink_##]">[ ##_list_rep_cat_##]</a></div>
			<div class='list_title' nowrap><strong>ㆍ</strong> <font class="list_link"><a href="[ ##_list_rep_link_##]">[ ##_list_rep_title_##]</a></font> [ ##_list_rep_rp_cnt_##]</div>
		</div><br><div class='list_line'></div>
		</s_list_rep>

늘 말하지만, index.php와 skin.html에 삽입된 코드에서 '['와 '##'사이의 공간은 지워야 한다. 문제를 해결 할 수 없거나 오류가 발생했다면 이곳에 리플로 남겨 주기 바란다.

Comments

유독 MS IE에서는 PNG 이미지 파일의 알파 투명도를 표현할 수 없었다. 스크립트와 CSS를 이용하여 이를 표현하는 방법이 있다. 뭔가 색다른 디자인 아이탬이 될 것 이다.

1.png

적용된 모습

2.png

적용 안된 모습

아래처럼 스타일에서 정의를 해주고. 자바스크립트로 처리할 수 있다.

<style> 
.png24 { 
    tmp:expression(setPng24(this)); 
} 
</style> 
<script> 
function setPng24(obj) { 
    obj.width=obj.height=1; 
    obj.className=obj.className.replace(/png24/i,''); 
    obj.style.filter = 
    "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ obj.src +"',sizingMethod='image');" 
    obj.src='';  
    return ''; 
} 
</script>

그리고 이미지의 클래스를 png24로 지정해야한다.

 예) <img class="png24" src="image.png">

스크립트 출처 : miniwini.com

또다른 방법으로는 jeolee님의 블로그처럼 png파일을 자동으로 대체되도록 하는 스크립트도 있다.

if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) {
	document.writeln('<style type="text/css">img, input.image { visibility:hidden; } </style>');
	window.attachEvent("onload", fnLoadPngs);
}

function fnLoadPngs() {
	var rslt = navigator.appVersion.match(/MSIE (d+.d+)/, '');
	var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);

	for (var i = document.images.length - 1, img = null; (img = document.images[i]); i--) {
		if (itsAllGood && img.src.match(/.png$/i) != null) {
			var src = img.src;
			img.style.width = img.width + "px";
			img.style.height = img.height + "px";
			img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')"
			img.src = "./images/space.gif";
		}
		img.style.visibility = "visible";
	}
}

Comments

한줄 메모장 플러그인에 이어 업데이트 형식으로 두번째 태터툴즈 플러그인v2를 배포한다. 반드시 한줄 메모장 플러그인이 설치 되어 있어야 한다. v2에 포함된 기능은 최근 갤러리 리스트, 방명록 최신글 리스트, 지정 기긴동안의 인기글 리스트, 높이값 자동계산 아이프레임 이렇게 4가지 이다. 자세한 설치방법을 살펴보자. 이미 설치가 되어있는 항목이 있을 경우 해결방법을 참고하여 오류가 생기지 않도록 하자.

최근 갤러리 리스트

plugin2.png

사진 관련 카테고리의 최근 이미지 항목을 가지고 온다. 썸네일은 자동생성 방법이 아니라 업로드 해주는 방식이다. 섬네일 이미지를 불러오는 조건식은 불러올 카테고리의 번호를 지정해 주고 지정된 카테고리 내에 있는 썸네일 규격으로 만들어진 파일이름(thumb.jpg)으로 구분한다. plugin.php파일에서 $p_rct_pt_cnt, $p_rct_pt_trunc, $p_rct_pt_ct1, $p_rct_pt_ct2 값을 지정해 주고 해당이미지의 thumb.jpg를 해당 포스트에 업로드 해 주어야 활성화 된다. 카테고리의 번호를 알아내는 방법은 갤러리로 사용하고자 하는 카테고리를 클릭했을 때 주소 창에서 확인 할 수 있다.(설명이 난해하여 이해가 힘들 것이다. 직접 plugin.php파일을 열고 실행해 보길 권장한다.)

예) /index.php?ct1=13&ct2=1
대분류 카테고리(ct1) = 13
소분류 카테고리(ct2) = 0

최근 방명록 리스트

plugin1.png

방명록에 최근 작성된 방문객의 글을 가지고 온다. 이 때 최근 12시간 안에 올라온 글에는 New아이콘이 표시된다. 이미 방명록 최신글 리스트 기능을 추가한 사용자라면 플러그인 설치시 오류가 날 것이다. 아래의 해결방법을 참고하자.

해결 방법 : 두 방법 중 택1
추천 : 추가한 원문을 참고하여 실행했던 작업을 모두 삭제한다.
inc_function.php파일의 상단 set_skin에 지정한 의 함수와 inc_presswork.php파일에서 function get_rctgt_rep() {... 에서 ...}까지 해당 함수를 삭제한다.
비추천 : inc_function.php파일의 상단 set_skin에서 중복되는 함수를 피하고, plugin.php에서 function get_rctgt_rep() {... 에서 ...}까지 해당 함수를 삭제한다.

지정 기긴동안의 인기글 리스트

plugin4.png

사용자가 지정 기간동안의 리플과 트랙백 수를 근거로 한 인기글 리스트 이다. 기존의 공개된 소스에서 추가된 점은 최근 24시간 안에 올린 포스트가 순위에 오를경우 New아이콘이 표시되고, 해당 카테고리 목록 링크를 지원한다. 이미 지정 기긴동안의 인기글 리스트 기능을 추가한 사용자라면 추가한 사용자라면 플러그인 설치시 오류가 날 것이다. 아래의 해결방법을 참고하자.

해결 방법 : 두 방법 중 택1
추천 : 추가한 원문을 참고하여 실행했던 작업을 모두 삭제한다.
inc_function.php파일의 상단 set_skin에 지정한 의 함수와 inc_presswork.php파일에서 function get_popular_rep() {... 에서 ...}까지 해당 함수를 삭제한다.
비추천 : inc_function.php파일의 상단 set_skin에서 중복되는 함수를 피하고, plugin.php에서 function get_popular_rep() {... 에서 ...}까지 해당 함수를 삭제한다.

높이값 자동계산 아이프레임
태터툴즈에 다른페이지를 삽입 할 수 있는 용도로 유용하다. 높이 값이 자동으로 계산되어 마치 프레임을 사용하지 않은 것처럼 보이게 된다. 프레임을 사용할 경우 태터 툴즈에서 페이지수가 표시되는데 이것을 막으려면 index.php파일의 코드를 아래처럼 수정해야한다.

찾을 문자열 : ($md == "rss" || $md == "guest" || ...
바꿀 문자열 : ($mdf || $md == "rss" || $md == "guest" ...
290열 부근과 350열 부근에 두곳을 바꿔 주어야 한다.

사용법 :/index.php?mdf=삽입할주소

예) /index.php?mdf=tools/staticker/staticker.php
예) /index.php?mdf=tools/bbs/admin/readme.php

참고로, 삽입한 페이지에서 프레임을 거부할경우 스크립트 오류가 난다.

파일 업로드 :
아래의 파일을 다운로드 한 후 inc_plugin.php 파일은 tt/폴더(index.php가 있는 폴더)에 업로드 하고, newicons.zip파일은 압축을 풀고 tt/images폴더(skin의 이미지 폴더 아님)에 업로드 한다.(모두 덮어 씌어우기)

inc_plugin.php inc_plugin.php (10.0 KB)
newicons.zip newicons.zip (722 Byte)

라이센스 :
1. plugin.php파일에 포함된 저작권을 삭제할 수 없다.
2. 마음껏 수정하여 사용 할 수 있다.
3. 출처표기 및 통보하에 허락없이 개작, 재배포 가능 함.(트랙백 또는 리플 사용)
4. 상업적 목적으로 사용 할 수 없다.

관련 포스트 : 태터툴즈 플러그인 배포계획 / 한줄메모 플러그인 배포 / 최근 지정기간동안의 인기글목록 달기

미약하지만 최강의 태터툴즈 플러그인으로 거듭날 때까지 업데이트는 계속 될 것이다.

덧1(2005.02.14). 워니님의 멋진 함수전달 방법으로 inc_function.php파일에 손댈 필요도 없게 변경 되었다. 기존 사용자들은 inc_function.php파일의 set_skin에 지정했던 함수들을 삭제하고, index.php 파일에 하단에 삽입했던 문구를 아래처럼 변경해 주자.

변경전 :
if (strpos($d1, "[##_s_")) {$d1 = load_plugin($d1);} // 플러그 인 로드

변경후 :
// Plugin 적용부분
$plugin = new set_plugin($d1);
$d1 = $plugin->s_s;
$d1 = load_plugin($d1);
// 여기까지

Comments