관리자가 글쓰기에서 체크한 것만 최신글로 불러오기
- 노니맨
- 작성일시
- 조회 4,143
- 댓글 21
첨부파일
본문
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"; ?>> 신상품
<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
- 싫어요 0
댓글보기

고생하였습니다. ^^
이런거 예전에 제가 팁란을 한참 뒤졌었는데 정말 감사합니다.^^
유용하게 잘 사용하겠습니다.
스크랩 했습니다..///언제가 쓸날을 기다리며.............감사드립니다

잘 보고 배웁니다~
좋은 팁입니다. 감사히 사용하겠습니다.

오오오
좋은팁입니다
좋은팁이네요. 감사합니다
정말 좋은팁였습니다. 감사해요~ ^^;
좋은 정보 감사합니다. ^^
적용이 안되네요 ㅜㅜ
혹시해서 다시 수정모드를 보았더니 체킹 안한 상태로 나오네요.
전 4989 스킨에서 적용해보려하는데,
다들 잘 되시나요 ?
도움 주실분~~~~~
고맙습니다~
아주 좋아요
감사합니다. ^^
dd
아주 좋습니다.. 그런데 한개의 게시판이 아닌 여러 게시판에서 이 방법을 사용하려면 어떻게 해야 될까요?

관리자가 글쓰기에서 체크한 것만 최신글로 불러오기
좋네요.^^ 감사^^
굿
관리자가 글쓰기에서 체크한 것만 최신글로 불러오기
좋은 팁 감사드려요. 잘 사용하고 있습니다~
로그인 하시면 댓글을 남길 수 있습니다.








