RadarURL
웹 프로그래밍

제로보드 상위(하위)메뉴에 새글(new), 새코멘트(com) 표시

by JaeSoo posted Feb 16, 2007
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

제목 : 프리첼이나 다음처럼 하위메뉴에 새글이나 새 코멘트 뜨면 상위 메뉴에 NEW 랑 코멘트 표시 달아주기 (04년 증보판)


 



저번에도 한번 "새 글이나, 새 코멘트 올라오면 구분해서 상위 메뉴에 new icon 붙이기 " 라는 제목으로


글을 올렸었는데.. (아래 링크 참조) 문제가 있는 듯 해서.. 계속 수정 하고 수정 하고.. 하다가 나온 결과물 입니다.


현제 nzeo 에 올라온 비슷한 팁들을 몽땅 참고 했다고 보면 될겁니다.


http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=1&sn1=&divpage=1&sn=on&ss=on&sc=off&keyword=alsmini&select_arrange=headnum&desc=asc&no=4246


뭐 제가 보기에.. 더 깔끔해 지고 각종 버그도 잡았습니다.  그리고 더 간략해 지기도 했구요..


이걸 보시고 누가 테클을 거신다면.. 바로 지우겠습니다.. 원래 공개 할 생각이 없던거라.... .. ..


그럼 잡설은 그만두고.. 본론으로 들어가겠습니다.


 


 


먼저 작업 순서를 정리해 보겠습니다.



1번. new.php 라는 파일을 만들어 제로보드 경로에 넣어둔다.


2번. new 아이콘이 들어갈 파일 상단에 <?  include $_zb_path."new.php"; ?> 를 넣어준다.


3번. new 아이콘이 들어갈 자리에 <? show_new(list_new(pds)); ?> 코멘트 아이콘이 들어갈 자리에 <? show_com(list_new(pds)); ?> 를 넣어준다.


4번. 하위메뉴의 새글과 코멘트를 붙이고 싶다면, <? show_new(list_new(photo_best)|list_new(photo_essay)|list_com(photo_guest)|list_new(photo_guest));?>  


      이런식으로 붙인다.


 


 


 


작업 순서별 세부사항입니다.


 


1번. new.php 라는 파일을 만들어 제로보드 경로에 넣어둔다.


----------------------------------------------------------------------------------------------------
<?
function list_new($id)
{
        $result=mysql_query("select * from zetyx_board_$id order by no desc limit 1");
        $data=mysql_fetch_array($result);
        $check_time=(time()-$data[reg_date])/60/60;
        if($check_time>48) {
                return false;
        }
        else {
                return true;
        }
}


function list_com($zb_id)
{
        global $connect, $t_board, $t_comment;
        $com_result=mysql_fetch_array(mysql_query("select reg_date from $t_comment"."_".$zb_id." order by reg_date desc limit 1", $connect));
        $com_reg_time = (time()-$com_result[reg_date])/60/60;
        if($com_reg_time>48) {
                return false;
        }
        else {
                return true;
        }
}


function show_com($IconStatus) {
        if($IconStatus) {
          $comment_new.="<font face='Tahoma' size='2' color=white><b>*</b></font>";
                echo $comment_new;
        }
        else {
                echo "";
        }
}


function show_new($IconStatus) {
        if($IconStatus) {
                $new.="<font face='Tahoma' size='1' color=white><b>NEW</b></font>";
                //echo "".stripslashes($new)."";
                echo $new;
        }
        else {
                echo "";
        }
}
?>
----------------------------------------------------------------------------------------------------


 



2번. new 아이콘이 들어갈 파일 상단에 <?  include $_zb_path."new.php"; ?> 를 넣어준다.


----------------------------------------------------------------------------------------------------
<?  include $_zb_path."new.php"; ?>


위에처럼 넣어도 되고..



<?
   $_zb_url = "http://제로보드경로/";
   $_zb_path = "/절대경로/";
   include $_zb_path."outlogin.php";
   include $_zb_path."new.php";                 <--------- 이부분 추가~!
?>


위에처럼 넣어도 됩니다.



----------------------------------------------------------------------------------------------------


 


 


 


3번. 4번, new 아이콘이 들어갈 자리에 , 코멘트 아이콘이 들어갈 자리에 함수를 넣어준다.


4번. 하위메뉴의 새글과 코멘트를 붙이고 싶다면,


----------------------------------------------------------------------------------------------------


<? show_new(list_new(pds)); ?>  : 새글표시를 달고 싶은곳에 넣어주면 됩니다.  (pds)는 게시판명


<? show_com(list_com(pds)); ?>   : 새코멘트 표시를 달고 싶은곳에 넣어주면 됩니다.  역시 (pds)는 게시판명



<? show_new(list_new(photo_best)|list_new(photo_essay)|list_com(photo_guest)|list_new(photo_guest));?>  


  위에는 여러게시판(하위 게시판)의 새글과 새코멘트를 상위메뉴에 표시해 주는 부분입니다.
 
----------------------------------------------------------------------------------------------------
 
 


팁. 위에 표시방법의 예..
 
---------------------------------------------------------------------------------------------------- 
<tr>
  <td width="110">
    <a href="../inc/gal.php" onfocus='this.blur()'><img src="../img/gallery.gif" width="70" height="20" border="0" align="absmiddle">
    <? show_new(list_new(photo_best)|list_new(photo_essay)|list_new(photo_person)|list_new(photo_landscape)|list_new(photo_ecology)|list_new(photo_approach)|list_new(photo_smile)|list_new(photo_etc)|list_new(photo_guest));?><? show_com(list_com(photo_best)|list_com(photo_essay)|list_com(photo_person)|list_com(photo_landscape)|list_com(photo_ecology)|list_com(photo_approach)|list_com(photo_smile)|list_com(photo_etc)|list_com(photo_guest));?></a>
  </td>
</tr>


<tr>
    <td width="110">
      <img src="../img/blank.gif" width="70" height="2" border="0">
    </td>
</tr>


<tr>
    <td width="110">
      <a href="../zb/zboard.php?id=write" onfocus='this.blur()'><img src="../img/letter.gif" width="70" height="20" border="0" align="absmiddle"> <? show_new(list_new(write)); ?><? show_com(list_com(write)); ?></a>
    </td>
</tr>
----------------------------------------------------------------------------------------------------       


 


 


참고로.... 테스트 페이지는 없고, 제 홈( http://alsmini.net ) 에 적용시켜 뒀습니다.   무분별한 테스트는 삼가해 주시길..



흠..... 올리고 보니까..... 바가지님이 전에 제 소스를 수정해서 올리셨네요.... .. 그래도 걍 올릴랍니다.



참.... 질문 사절 입니다~~~~~~~~ 뭐 질문 할 것도 없을거에요~~~ 그럼 이만........


출처 : http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=1&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=상위&select_arrange=headnum&desc=asc&no=5251


Articles

1 2 3 4 5 6 7 8 9 10