관리자가 글쓰기에서 체크한 것만 최신글로 불러오기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

관리자가 글쓰기에서 체크한 것만 최신글로 불러오기 정보

관리자가 글쓰기에서 체크한 것만 최신글로 불러오기

첨부파일

latest2.lib.php (1.6K) 228회 다운로드 2006-07-20 03:42:04

본문

말그대로 관리자가 글쓰기에서 체크박스를 선택하여 글을 쓰면 최신글로 불러오는 것입니다..

lib폴더에
latest.lib.php 이것을 하나더 다름이름으로 만듭니다.
latest2.lib.php이런식으로 다른이름도 상관없구요 일단 이것을 최신글 들어가는 부분 보통 index.php 상단에
<? include_once("$g4[path]/lib/latest2.lib.php"); ?> 를 넣어 최신글 함수를 불러 옵니다.

일단 게시판 글쓰는 폼 스킨 write.skin.php 에서 아래와 같이 wr_1 ~wr_10 중에 쓰지 않는 필드로
 사용 하여 체크할수 잇는 폼을 만듭니다. 저 같은 경우는 갤러리로 사용 햇기 때문에 추천상품 , 인기상품을 체크하여 쓰도록 하였습니다.


<tr>
    <td width=120 style='padding-left:20px; height:30px;'><span class='w_text'>· 보기옵션</span></td>
    <td>
        <input type='checkbox' name='wr_7' value="y" <? if($write[wr_7] == "y") echo "checked"; ?>>  신상품&nbsp;&nbsp;
      <input type='checkbox' name='wr_8' value="y" <? if($write[wr_8] == "y") echo "checked"; ?>>  추천상품
        </td></tr><? } ?>


그런후에 이제 latest2.lib.php의 함수를 아래와 같이 수정합니다.
저같은 경우는 wr_7,wr_8 두개를 사용하여 인기상품,추천상품 체크한것을 불러오도록 함
중간쯤 보시면 인기순,추천순 쿼리 가 잇을 것입니다.

<?
if (!defined('_GNUBOARD_')) exit;

// 최신글 추출
function latest_gallery($skin_dir="", $bo_table, $rows=10, $subject_len=40, $brch="")
{
    global $g4;

    if ($skin_dir)
        $latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
    else
        $latest_skin_path = "$g4[path]/skin/latest/basic";

    $list = array();

    $sql = " select * from $g4[board_table] where bo_table = '$bo_table'";





    $board = sql_fetch($sql);

    $tmp_write_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
    $sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_id desc limit 0, $rows ";
    //explain($sql);

if ($brch == "ingi")         
  $brch = "wr_7";      // 인기순으로 쿼리
elseif ($brch == "chu")     
    $brch ="wr_8"; // 추천순으로 쿼리
else                                  // 넘어온값이 없거나 그이외 일때
    $brch = "wr_id";        // 걍 최근순으로 쿼리
$sql = " select * from $tmp_write_table where $brch='y'  order by wr_id desc limit 0, $rows ";




    $result = sql_query($sql);
    for ($i=0; $row = sql_fetch_array($result); $i++)
        $list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);
   
    ob_start();
    include "$latest_skin_path/latest.skin.php";
    $content = ob_get_contents();
    ob_end_clean();

    return $content;
}
?>

자 이제 이함수를 index.php의 최신글에서 호출을 합니다.
호출을 하기위해서
<? include_once("$g4[path]/lib/latest2.lib.php"); ?>
을 반드시 index.php의 php코드부분에 넣으시기 바랍니다.
그리구 아래와 같이 최신글을 추출 함수를 호출합니다..
여기서 맨 마지막에 ingi 인자는 wr_7필드가 y로 저장된 글만 추출합니다.
chu 로 쓰시면 wr_8필드의 데이터 값이 y로 저장된 글만 호출 하게 됩니다.

테스트 해보니 이상 없이 잘 추출이 되더군요 .. 질문은 하지마세요 저도 잘 모르니
이것 저것 찾아서 조합하고 테스트 한것이니 ..ㅋㅋ



<?

    // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
    // 스킨은 입력하지 않을 경우 관리자 > 환경설정의 최신글 스킨경로를 기본 스킨으로 합니다.

    // 사용방법
    // latest(스킨, 게시판아이디, 출력라인, 글자수,추출하고자하는 변수값);
    echo latest_gallery("black_gallery",gallery1,8, 70,ingi);
    echo "<p>\n";
?>
추천
6

댓글 22개

적용이 안되네요 ㅜㅜ
혹시해서 다시 수정모드를 보았더니 체킹 안한 상태로 나오네요.
전 4989 스킨에서 적용해보려하는데,
다들 잘 되시나요 ?

도움 주실분~~~~~
전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT