최근게시물 불러오기에 대해서... > 그누3 팁자료실

그누3 팁자료실

최근게시물 불러오기에 대해서... 정보

그누호환 최근게시물 불러오기에 대해서...

본문

http://www.sir.co.kr/index.php?doc=bbs/gnuboard.php&bo_table=tiptech&sselect=wr_subject%7Cwr_content&stext=%C3%D6%B1%D9&soperator=0&page=1&wr_id=1059

일단 kaja님의 라이브러리를 위에 링크에서 잘 받았습니다. 잘 쓰려고 하다보니 스킨 때문에 사람이 깝깝하더군요. -.-;;; 그래서 미친 짓을 했거든요. 스킨을 로드하지 않게 했습니다. 그냥 변수 받아서 kaja님의 라이브러리를 직접 수정해서 삽질했습니다. kaja님의 라이브러리 자체로 매우 훌륭하죠.

제가 한 삽질의 이유를 먼저 말씀드리면 홈페이지의 시작 페이지를 gnu3의 경로로 두는 것을 원치 않았습니다. 최근 게시물 불러오기를 쓰고 싶은 데 gnu3를 쓰고 싶지 않았던 것이죠. 여기서 문제가 출발했구요. 게다가 저는 gnubbs라고 이름을 게시판의 디렉토리 이름을 변경해뒀지요. 이렇게 삽질은 시작한 거죠.

kaja님의 소스에서 크게 손 본 것은 없습니다만 몇 가지 손 본 것이 일단 그누보드의 홈디렉토리를 ./gnu로 잡으셨는데요. 이걸 일괄치환 시켰습니다.... 제 홈페이지는 실제로는 ~/www/my 이곳에서 돌아가고 게다가 gnuboard는 ~/www/gnubbs에 설치가 되어 있어서요. ../gnubbs 로 경로를 지정해야만 제대로 돌아갔죠. 따라서 이것을 $gnu_path란 변수에 적용하고 모두 . 연산시켜서 자체 경로를 만들게 했거든요. kaja님의 라이브러리 업데이트를 이렇게 해주시면 저 같은 사람들이나 다양한 사람들의 시스템에 맞춰 쉽게 변경할 수 있을 겁니다.

kaja님께서 만드신 라이브러리의 developer.lib.php의 마지막에 mysql의 메모리를 해제 한 뒤에..

//include "$gnu_path$latest_skin/latest.skin.php"; 이 코드를 주석처리해버렸구요.
$latest_skin = $tmp_latest_skin;

$update_list_header = "<table width='100%' cellpadding=0 cellspacing=1><tr> <td height=1 bgcolor='#FFFFFF'></td></tr><!-- 제목 --><tr class='subject subjectbg ht'><td align=center><a href='../gnubbs/?doc={$cfg[bbs_dir]}/gnuboard.php&bo_table=$bo_table'>$bo_subject</a></td></tr><tr><td height=1 bgcolor='#FFFFFF'></td></tr>";

for ($i=0; $i<count($list); $i++)
    $update_list .= "<tr height=22><td>{$list[$i][icon_new]}<a href='../gnubbs/?doc={$cfg[bbs_dir]}/gnuboard.php&bo_table=$bo_table&wr_id={$list[$i][wr_id]}'>{$list[$i][subject]}</a>{$list[$i][commentcnt]}</td></tr>";

$update_list_footer = '</table>';

return($update_list_header . $update_list . $update_list_footer);

이런 식으로 해버렸어요. --;;; 자체적으로 새로운 게시물의 목록을 만들고 그 내용을 return 시켜버리는 것이죠. 그리고 제 시작 페이지 시작부에

$gnu_path = "../gnubbs/";
include($gnu_path . 'kaja_lib.php');
include($gnu_path . 'bbs/gblayer.php');

$recent_whatever = latest2('cheeky', free, 5, 30);
$recent_gallery = latest2('cheeky', gallery, 5, 30);
$recent_diary = latest2('cheeky', diary, 5, 30);
$recent_news = latest2('cheeky', news, 5, 30);


이렇게 쓰고 그리고 소스 중간에 $recent_whatever 등의 변수를 불러오게 했어요. skin을 사용하게 되면 이렇게 되지가 않아서요. 스킨은 기본적으로 html 파일에 부분부분 php 코드가 들어가기 때문에 latest2 함수 호출시 그냥 그 내용이 불려지고 원치 않는 꼭대기에 그 내용이 보여져버려서요...

아.. 참고로 저는 html / php 왔다갔다 하는 소스코드를 싫어합니다. --; 그냥 php에서 한 번에 다 처리하고 한 번에 flush 해버리는 스타일을 더 선호해요;; 왜 그런진 저도 잘 모르겠습니다;;

http://cheekyworks.com의 시작페이지가 이렇게 만들어져 있습니다. 매 페이지마다 새로운 그림을 보여주기 위한 기능을 넣다보니 이런 쌩쇼를 하게 된 거구요. 근데 kaja님의 라이브러리가 좋은 관계로 :) 한 30여분 만에 마칠 수 있었죠...
추천
2
  • 복사

댓글 전체

일단 제 홈에 루틴이 어떻게 돌아가는지 공개해드릴게요.
http://www.cheekyworks.com/my/main.php?menu=main&content=cheeky#s3
이것을 참고하세요. 최근 게시물 뽑는 거는 좀 더 정리를 할 필요가 있어서요. 이틀이나 사흘 정도 기다리셔야할 것 같군요. -.-;; 제가 그렇게 부지런한 녀석은 아니거든요. -_-;
아~
수정하신 파일을 업해주시면 감사하겠습니다.
저도 gnubbs로 폴더를 만들어서요...^^
윗글보고 하려고 했더니, 어질어질하네요.@.@
감사합니다.
질문게시판에 이렇게 올린 사람입니다.
http://sir.co.kr/index.php?doc=bbs/gnuboard.php&bo_table=qa&page=1&wr_id=9992

그누보드 디렉토리 외에 최근 게시물 불러오기에 대한 어려움을
 kaja님의 http://sir.co.kr/index.php?doc=bbs/gnuboard.php&bo_table=tiptech&sselect=wr_name&stext=kaja&soperator=0&page=1&wr_id=1059
이걸 보고 최근 게시물을 불러오는데 성공했습니다.

그런데 아웃로그인을 불러올려고 하니 또 앞이 막혀버렸습니다. 제가 디자인만 허접하게나마 하고 프로그램쪽은 워낙 꽝이라서요.. 아웃로그인을 불러올수 있는 방법 좀 가르켜주시겠어요??

이거가지고 만 몇일째 끙끙거리고 있습니다. 부탁드립니다.^^;;
예~ 관심가져 주셔서 감사합니다.
그런데 제가 워낙에 초보라서, cheeky님 홈을 봐도 모르겠네요.
머리만 더 아프다는..ㅜ.ㅜ
지금 눈 빠질려고 합니다.
감사합니다.(__)
© SIRSOFT
현재 페이지 제일 처음으로