태터툴즈 고쳐쓰기 #3 - 방명록 최근글 보여주기
Trackback to :: 태터 툴즈 방명록 최신글 보여주기
안그래도 최근방명록 리스트를 뽑아오게 고쳐보고 싶었는데 PYS님이 멋지게 만들어주셨다. 다만 DB를 수정해야하는게 찝찝해서 최소한의 수정으로만 돌아가게 가지를 좀 쳤다. (무단으로 수정하게 돼서 정말 죄송합니다;;)
1. inc_presswork.php 파일에 아래의 함수를 추가
2. inc_function.php 파일 120번째줄에 아래의 코드를 삽입한다. (정확한 위치를 모르면 비슷하게 생긴 코드들 사이에 추가하면 됨)
3. index.php 파일 547번째줄 근처로 가서 아래의 코드를 삽입한다 (역시 비슷하게 생긴놈들 사이에 끼워넣기)
4. 마지막으로 스킨파일을 수정한다. 096_quan 스킨을 예로 들면 이렇게 수정한다
이렇게 하면 작업 끝. PYS님의 소스에서는 태터툴즈에서 직접 지원하는 것처럼 환경설정에서 표시갯수, 표시길이 등을 수정할 수 있지만 이건 get_rctgt_rep() 함수 내에서 직접 적어줘야 한다. 소스 수정해놨다가 나중에 태터에서 공식 지원해버리면 허무할 것 같아서 이런 짓을..
소스를 만들어주신 PYS님께 다시한번 감사를!!
안그래도 최근방명록 리스트를 뽑아오게 고쳐보고 싶었는데 PYS님이 멋지게 만들어주셨다. 다만 DB를 수정해야하는게 찝찝해서 최소한의 수정으로만 돌아가게 가지를 좀 쳤다. (무단으로 수정하게 돼서 정말 죄송합니다;;)
1. inc_presswork.php 파일에 아래의 함수를 추가
function get_rctgt_rep() {
global $db, $dbid;
unset($p);
$p_rct_gt_cnt = 5; // 몇개까지 표시할지 결정
$p_rct_gt_trunc = 30; // 길이를 몇바이트에서 자를지 결정
$sql = "select no, name, body, regdate from t3_".$dbid."_guest order by regdate desc limit 0, $p_rct_gt_cnt";
// print $sql;
$result = @mysql_query($sql);
while(list($no, $name, $body, $regdate) = @mysql_fetch_array($result)) {
// 방명록 리플갯수를 표시하지 않으려면 아래 두줄을 삭제 하세요
list($rp_cnt) = @mysql_fetch_array(@mysql_query("select count(no) from t3_".$dbid."_guest_reply where pno=$no"));
$rp_cnt = $rp_cnt==0 ? "" : "<font face=\"Tahoma\" size=\"1\">($rp_cnt)</font>";
$p_rep = $GLOBALS["skin"]->s_rctgt_rep;
$p_rep = str_replace("[##_rctgt_rep_link_##]", "index.php?md=guest#gue" . $no, $p_rep);
$p_rep = str_replace("[##_rctgt_rep_body_##]", str_cut($body, $p_rct_gt_trunc, 0).$rp_cnt, $p_rep);
$p_rep = str_replace("[##_rctgt_rep_name_##]", $name, $p_rep);
$p_rep = str_replace("[##_rctgt_rep_time_##]", get_timevalue0($regdate, 2), $p_rep);
$p .= $p_rep;
}
return $p;
}
global $db, $dbid;
unset($p);
$p_rct_gt_cnt = 5; // 몇개까지 표시할지 결정
$p_rct_gt_trunc = 30; // 길이를 몇바이트에서 자를지 결정
$sql = "select no, name, body, regdate from t3_".$dbid."_guest order by regdate desc limit 0, $p_rct_gt_cnt";
// print $sql;
$result = @mysql_query($sql);
while(list($no, $name, $body, $regdate) = @mysql_fetch_array($result)) {
// 방명록 리플갯수를 표시하지 않으려면 아래 두줄을 삭제 하세요
list($rp_cnt) = @mysql_fetch_array(@mysql_query("select count(no) from t3_".$dbid."_guest_reply where pno=$no"));
$rp_cnt = $rp_cnt==0 ? "" : "<font face=\"Tahoma\" size=\"1\">($rp_cnt)</font>";
$p_rep = $GLOBALS["skin"]->s_rctgt_rep;
$p_rep = str_replace("[##_rctgt_rep_link_##]", "index.php?md=guest#gue" . $no, $p_rep);
$p_rep = str_replace("[##_rctgt_rep_body_##]", str_cut($body, $p_rct_gt_trunc, 0).$rp_cnt, $p_rep);
$p_rep = str_replace("[##_rctgt_rep_name_##]", $name, $p_rep);
$p_rep = str_replace("[##_rctgt_rep_time_##]", get_timevalue0($regdate, 2), $p_rep);
$p .= $p_rep;
}
return $p;
}
2. inc_function.php 파일 120번째줄에 아래의 코드를 삽입한다. (정확한 위치를 모르면 비슷하게 생긴 코드들 사이에 추가하면 됨)
list($sval, $this->s_rctgt_rep) = cut_skintag($sval, "s_rctgt_rep");
3. index.php 파일 547번째줄 근처로 가서 아래의 코드를 삽입한다 (역시 비슷하게 생긴놈들 사이에 끼워넣기)
if (strpos($d1, "[##_s_rctgt_rep_##]")) $d1 = str_replace("[##_s_rctgt_rep_##]", get_rctgt_rep(), $d1);
4. 마지막으로 스킨파일을 수정한다. 096_quan 스킨을 예로 들면 이렇게 수정한다
<div class="h3"><img src="./images/left.gif" align="absmiddle"> 최근에 달린 방명록</div>
<div style="padding:0 0 0 20"><s_rctgt_rep><a href="[##_rctgt_rep_link_##]">[##_rctgt_rep_body_##]</a><div class="rp_rep">[##_rctgt_rep_time_##] - [##_rctgt_rep_name_##]</div></s_rctgt_rep>
</div>
<div style="padding:0 0 0 20"><s_rctgt_rep><a href="[##_rctgt_rep_link_##]">[##_rctgt_rep_body_##]</a><div class="rp_rep">[##_rctgt_rep_time_##] - [##_rctgt_rep_name_##]</div></s_rctgt_rep>
</div>
이렇게 하면 작업 끝. PYS님의 소스에서는 태터툴즈에서 직접 지원하는 것처럼 환경설정에서 표시갯수, 표시길이 등을 수정할 수 있지만 이건 get_rctgt_rep() 함수 내에서 직접 적어줘야 한다. 소스 수정해놨다가 나중에 태터에서 공식 지원해버리면 허무할 것 같아서 이런 짓을..
소스를 만들어주신 PYS님께 다시한번 감사를!!
'컴퓨터 얘기 > 프로그래밍' 카테고리의 다른 글
| 표준 소득률/기준경비율 데이터 (0) | 2004/10/01 |
|---|---|
| 태터툴즈 고쳐쓰기 #4 - 이미지보기 팝업 개선 (6) | 2004/09/30 |
| 태터툴즈 고쳐쓰기 #3 - 방명록 최근글 보여주기 (17) | 2004/09/17 |
| 태터툴즈 고쳐쓰기 #2 - 문자열 정밀하게 자르기 (9) | 2004/09/16 |
| 태터툴즈 고쳐쓰기 #1 - XML 파일내의 작은따옴표 처리 (5) | 2004/09/13 |
| 웹 에이전시의 바보들 (4) | 2004/09/09 |