최신글에 자신이 원하는 글만, 보여주고 싶은 순서대로 보여주기 > 그누3 팁자료실

그누3 팁자료실

최신글에 자신이 원하는 글만, 보여주고 싶은 순서대로 보여주기 정보

최신글에 자신이 원하는 글만, 보여주고 싶은 순서대로 보여주기

본문

## 관리자가 게시판 필드의 wr_1번 필드에 번호(영문도가능)를 기재하여 여기에 기재된 번호순으로 최신글을 보여주도록 한다.
  (wr_1이 사용중일 경우 wr_2 ~ wr_5중 하나를 선택해서 사용가능함)

1. 게시판 스킨 파일중 gbform.skin.php를 수정하여 wr_1번 필드를 관리자만 수정가능하도록 한다.
  gbform.skin.php에서 <? if ($is_name) { ?> 윗부분에 다음의 내용을 추가한다.
  <? if ($is_admin) { ?><tr class='ht'><td>조회번호</td><td><input type=text name='wr_1' size=20 maxlength=20 itemname='wr_1' value='<?=$write[wr_1]?>' class='input'></td></tr><? } ?>
 
2. 최신글 조회 프로그램을 수정한다. 두가지 방법이 있는데, 다음 둘중 하나를 선택하여 적용한다.
2-1. 첫째는 기존 lib/latest.lib.php 파일을 수정하는 방법인데 이것을 수정할 경우 모든 게시판 최신글에 적용되며, 프로그램 패치시 마다 수정해야 하는 문제가 있다.
  수정전 :
    $sql = " select *
              from {$cfg[write_table_prefix]}{$bo_table}
              where wr_comment = 0
              order by wr_id desc limit 0, $rows ";
  수정후 :
    $sql = " select *
              from {$cfg[write_table_prefix]}{$bo_table}
              where wr_comment = 0 and wr_1 <> ''
              order by wr_1, wr_id desc limit 0, $rows ";

2-2. 둘째는 lib/latest.lib.php에 있는  function latest($skin_dir='', $bo_table, $rows=10, $len=40) 함수 전체를 카피해서 lib/developer.lib.php에 붙여넣기를 한다.
    2-2-1. 붙여넣기 완료된 lib/developer.lib.php에서 function latest를 function new_latest로 수정한다.
    2-2-2. 위의 2-1에서 적용한 방식으로 $sql을 수정한다.
    2-2-3. 기존 최신글 호출시 latest(.....)로 했던부분을 new_latest(.....)로 수정한다.

3. 위 내용을 적용한 게시판에 관리자가 로그인해서 보여주고자 하는 게시물을 수정모드로 들어가 wr_1번 필드에 값을 부여한다.
추천
1
  • 복사

댓글 전체

정말 감사합니다.
참고로,
$sql = " select *
              from {$cfg[write_table_prefix]}{$bo_table}
              where wr_comment = 0 and wr_1 <> ''
              order by wr_1, wr_id desc limit 0, $rows ";    에서
 and wr_1 <> ''  을 제외하면 순서무/순서1/순서2  식으로 되네요.

제외하지 않으면 순서1/순서2 식이고, 순서무 는 나오지 않습니다.

순서1/순서2/.../순서무 식으로 나오게 하려면 어떤 조건을 줘야할까요.
초기입력시 wr_1 값을 1000000 정도로 줘버리면 되겠지만,
코드를 적게 건드리고 하는 방법이 있을것 같긴한데요.
© SIRSOFT
현재 페이지 제일 처음으로