카테고리(분류)별 새로운글 표시기능 > 그누3 팁자료실

그누3 팁자료실

카테고리(분류)별 새로운글 표시기능 정보

그누호환 카테고리(분류)별 새로운글 표시기능

본문

리스트에서 selec로 된 카테고리(분류)를 한줄로 처리한후
카테고리(분류)에 새로운 글있는지 표시기능 추가....

1. lib/developer.lib.php에 다음 내용을 추가한다.
function new_list_category($table, $ca_id)
{
    $sql  = " select wr_datetime from $table";
    if($ca_id != "all") $sql .= " where ca_id = $ca_id ";
    $sql .= " order by wr_datetime desc limit 1";

    $row = mysql_fetch_array(mysql_query($sql));

    if (!$row) return 0;    // 조회된 값이 없을 경우

    if($row[wr_datetime] >= date("Y-m-d H:i:s", time() - 24 * 3600))
        return 1;
    else
        return 0;
}

function get_category_list($table,$loc)
{
    global $stext;

    $sql = " select * from {$table}_cat order by ca_id ";
    $result = sql_query($sql);

    if(new_list_category($table,"all"))
        $icon_new = "<img src=http://www.sir.co.kr/image/icon_new3.gif border=0>";
    else
        $icon_new = "";

    if(!$stext){
        $str = "<b><blink>[</blink> <a href=$loc> $icon_new 전체 </a> <blink>]</blink></b> ";
    } else {
        $str = "[ <a href=$loc> $icon_new 전체 </a> ] ";
    }
   
    while ($row = mysql_fetch_array($result))
    {     
        if(new_list_category($table,$row[ca_id]))
            $icon_new = "<img src=http://www.sir.co.kr/image/icon_new3.gif border=0>";
        else
            $icon_new = "";

        if($stext == $row[ca_id]) $str .= " <b><blink>[</blink> ";
        else                      $str .= " [ ";

        $str .= $icon_new;
        $str .= " <a href=$loc$row[ca_id]>".get_category_name($table,$row[ca_id])."</a> ";

        if($stext == $row[ca_id]) $str .= " <blink>]</blink></b> ";
        else                      $str .= " ] ";
    }

    mysql_free_result($result);

    return $str;
}

2. 게시판 스킨 디렉토리에있는 gblist.skin.php을 다음과 같이 수정한다.
아래의 수정전 내역을 수정후와 같이 바꾸셔도되고,
수정전 파일의 앞뒤에 html 주석을 처리를 하고 수정후를 추가하셔도 됩니다.
수정전 :
<!-- // html 주석으로 처리하고자 할경우
      <? if ($is_category) { ?>
          <select name=ca_id onchange="location='<?=$category_location?>'+this.value;" class=select>
          <option value=''>전체</option>
          <?=$category_option?>
          </select>
      <? } ?>
      // html 주석으로 처리하고자 할경우 -->
수정후 :
<?
if ($is_category) {
echo "<input type=hidden name=ca_id>";
echo get_category_list("$cfg[write_table_prefix]$bo_table",$category_location);
}
?>

3. 게시판 스킨 디렉토리에있는 gblist.skin.php에  다음 내용을 추가한다..
<?
/*******************************************************/
// 다음의 스크립터는 <blink></blink> 처리를 위한것이다.
// 350은 깜박이는 속도. (높은 수일수록 깜박이는 속도 느림)
/*******************************************************/
print "<script language=JavaScript>\n";
print " function doBlink() {\n";
print " var blink = document.all.tags(\"BLINK\")\n";
print " for (var i=0; i < blink.length; i++)\n";
print " blink[i].style.visibility = blink[i].style.visibility == \"\" ? \"hidden\" : \"\"\n";
print " }\n";
print " function startBlink() {\n";
print " if (document.all)\n";
print " setInterval(\"doBlink()\",350)\n";
print " }\n";
print " window.onload = startBlink;\n";
print "</script>\n";
?>
추천
2
  • 복사

댓글 전체

© SIRSOFT
현재 페이지 제일 처음으로