Rev. 2.73

태터툴즈로 블로그를 처음만들면서 약간 불편하였던것이 제로보드나 기타 홈패이지들을 연결하는게 약간 힘들게 되어 있다는것이 였습니다.

그래서 포럼이나 이곳 저곳을 돌아다니면서 iframe을 이용하여 절묘하게 태터에 다른 것들을 연결할 수 있는 방법을 알게되었습니다.

그러나 열릴때 불안전하게 열린다든지 약간 보기 불편한 면이 보였습니다.

그래서 모르는 웸 프로그래밍이지만 대충 뜯어보고 정확하게는 이해가 안되지만 약간 skin을 적용하는 방식에 대해 이해를 하게 됬습니다.

그 결과 나온 결론이 저의 블로그 입니다.

그럼 지금부터 제가 어떤식으로 바꿨는지를 이야기를 해드리겠습니다.

한 일주일정도 블로그에 대해 찾아도보고 이곳 저곳을 돌아다니면서 재미있는 일이구나 하면서 만들어봤습니다.

이런 방식으로 하면 대충 생각하면 2가지 문제가 있습니다.

1. 비슷한 파일이 여러개 있으니가 공간을 차지 할수 있다는 점
2. 스킨이 바뀌면 스킨 파일이 여러개니까 동일하게 변경해야된다는 점

1번은 대충넘어 갈수 있으나 2번문제는 해결을 하고 싶긴한데
웹 프로그램을 잘몰라서....

약간의 귀차니즘은 있지만 만들어놓으니까 나름대로 뿌듯하네요..

ps. 제가 한 방식에 대해서 많은 의견,조언 부탁드립니다.

추가된 php파일에 버그를 없애기 위해 다음을 수정합니다.

복사한 php파일의 22번째 줄에

<form method=post name=weblog action="<?=$PHP_SELF?>"> 

부분이 있습니다.
이부분을 다음과 같이 수정하면 서치에서도 달력과 같은 현상이 발생하지 않고 정상적인 작동을 하게 됨니다.

<form method=post name=weblog action="index.php?"> 

그리고 찾아바꾸기를 아래와 같이 실행합니다.

$PHP_SELF 문자열을 모두 index.php 로 바꿉니다.

출처 : 철이의 넉두리(http://user.chol.com/~inaddout/ )

Comments

index.php 의 178줄 부분이다. 다음과 같이 고치면 본 블로그 카테고리와 같이 글의 갯수를 보여 준다.

    if (strpos($d1, "")) { 
     
    //전체 갯수를 구해옴 
    $sql = "select count(*) from t3_".$dbid." where is_public = '1'"; 
    $result_1 = @mysql_query($sql); 
      $temp_1=mysql_fetch_array($result_1); 
      $total_1=$temp_1[0]; 

        $rtval = array("label"=>"분류 전체보기 ($total_1)", "link"=>"location.href='index.php?nc=1';"); 

        $g_array = array(); 
        $m_array = array(); 

        $sql = "select no, sortno, label from t3_".$dbid."_&amp;&amp;&amp;ct1 order by sortno asc"; 
        $result = @mysql_query($sql); 

        while(list($pno, $psortno, $plabel) = @mysql_fetch_array($result)) { 

            $sql = "select no, sortno, label from t3_".$dbid."_ct2 where pno = $pno order by sortno asc"; 
            $result2 = @mysql_query($sql); 

            while(list($no, $sortno, $label) = @mysql_fetch_array($result2)) { 
                 
                //카테고리2의 갯수 세기 
                $sql_2 = "select count(*) from t3_".$dbid." where is_public = '1' and category2='$no'"; 
                $result_2 = @mysql_query($sql_2); 
                $temp_2 = mysql_fetch_array($result_2); 
                $total_2=$temp_2[0]; 
                 
                array_push($m_array, array("num"=>$no, "label"=>"$label ($total_2)" , "link"=>"location.href='index.php?&amp;&amp;&amp;ct1=$pno&amp;ct2=$no';")); 
            } 
             
            //카테고리1의 갯수 세기 
            $sql_1 = "select count(*) from t3_".$dbid." where is_public = '1' and category1='$pno'"; 
            $result_1 = @mysql_query($sql_1); 
            $temp_1 = mysql_fetch_array($result_1); 
            $total_1=$temp_1[0]; 
             
            array_push($g_array, array("num"=>$pno, "label"=>"$plabel ($total_1)", "link"=>"location.href='index.php?&amp;&amp;&amp;ct1=$pno';", "items"=>$m_array)); 
            $m_array = array(); 
        } 

        if (count($g_array)) { 
            ob_start(); 
            print_tree($rtval, $g_array, $p_tree_limit, $s_tree_path.$p_tree."/",0); 
            $tree_str = ob_get_contents(); 
            ob_end_clean(); 
        } 
        $d1 = str_replace("", $tree_str, $d1); 
    } 

출처 : http://jio.08port.net/blog.php

Comments

// 이부분을 해드에 추가한다.

<SCRIPT language=javascript>
<!--

function Init() {

	ScrollMenu();

}

function ScrollMenu(){

	var bNetscape4plus = (navigator.appName == "Netscape" &amp;amp;amp;&amp;amp;amp; navigator.appVersion.substring(0,1) >= "4"); 
	var bExplorer4plus = (navigator.appName == "Microsoft Internet Explorer" &amp;amp;amp;&amp;amp;amp; navigator.appVersion.substring(0,1) >= "4"); 

	var menuFrom, menuTo, timerCheck, offset;
	var iMenu;

	if ( bNetscape4plus ) { 
		iMenu		= document.getElementById("inteliMenu");
	} 
	else if ( bExplorer4plus ) {
		iMenu		= inteliMenu;
	}

	menuFrom	= parseInt (iMenu.style.top, 10); 
	menuTo		= document.body.scrollTop + 20;

	timerCheck = 500;

	if ( menuFrom != menuTo ) { 
			offset = Math.ceil( Math.abs( menuTo - menuFrom ) / 10 ); 
			if ( menuTo < menuFrom ) 
				offset = -offset; 

			iMenu.style.top = parseInt (iMenu.style.top, 10) + offset; 

			timerCheck = 10;
	}

	setTimeout ("ScrollMenu()", timerCheck); 
}

-->
</SCRIPT>


<BODY onload=Init();>


//따라다닐 테이블

<TABLE cellSpacing=0 cellPadding=0 width=975 align=center border=0>
  <TBODY>
  <TR>
    <TD width=375>
      <DIV id=inteliMenu style="POSITION: absolute; TOP: 20px">
      <TABLE cellSpacing=0 cellPadding=0 border=0>
        <TBODY>
        <TR>
          <TD vAlign=top width=154>
            <TABLE class=Window cellSpacing=0 cellPadding=0 width=150 
              border=0><TBODY>
              <TR>
                <TD style="PADDING-TOP: 10px" align=middle>메뉴 내용 입력</TD></TR></TBODY></TABLE>
       </TD></TR></TBODY></TABLE></DIV>
   </TD></TR></TBODY></TABLE>

Comments