[G4] 원본 수정없이 게시판 목록에서 마음대로 정렬하기 > 그누4 팁자료실

그누4 팁자료실

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

[G4] 원본 수정없이 게시판 목록에서 마음대로 정렬하기 정보

[G4] 원본 수정없이 게시판 목록에서 마음대로 정렬하기

첨부파일

board_sort.php (11.0K) 81회 다운로드 2005-06-15 14:47:25
sort.exe (31.2K) 23회 다운로드 2005-06-15 14:47:25

본문

G4로 넘어오면서 마이너 업그레이드 된 기능으로 인하여 무한 삽질을 거듭한 끝에 결국은 해냈습니다.
결론부터 말씀드리면 원본 수정없이 게시판 목록에서 원하는 대로 정렬이 가능합니다.

[2005. 06. 04. 11:30 수정]

============================ 방 법 1. ===========================

1. 첨부파일1(board_sort.php)을 bbs/디렉토리 아래 올립니다.
첨부파일의 내용은 별거 없습니다. board.php 파일과 list.php 파일을 합친겁니다. 소스를 보시면 아실겁니다.


2. 스킨에서 아래와 같이 불러오시면 됩니다.

(1) 직접 불러오는 방법
< a href='./board_sort.php?bo_table=<?=$bo_table?>&sop=and&sst=wr_link1_hit&sod=desc'>▼ 링크1조회순< /a>
< a href='./board_sort.php?bo_table=<?=$bo_table?>&sop=and&sst=wr_link1_hit&sod=asc'>▼ 링크1조회순< /a>
< a href='./board_sort.php?bo_table=<?=$bo_table?>&sop=and&sst=wr_hit&sod=desc'>▼ 조회순위순< /a>
< a href='./board_sort.php?bo_table=<?=$bo_table?>&sop=and&sst=wr_hit&sod=asc'>▼ 조회순위순< /a>
이런식으로 원하는 필드를 적용하시어 불러옵니다.

(2) 누를때 마다 조회방법을 다르게 불러오는 방법
< ?=subject_sort_link('wr_link1_hit', $qstr2, 1)?>▼ 링크1조회순< /a>
< ?=subject_sort_link('wr_hit', $qstr2, 1)?>▼ 조회순위순< /a>
게시판을 불러올때 http://도메인/bbs/board_sort.php?bo_table=테이블명 이렇게 링크를 걸어주시면 됩니다.
단, 이 경우 반드시 (1)번의 직접 불러오는 방법이 하나 이상 사용되어 져야만 합니다. 이유는 (2)번 방법만 사용할 경우 인덱스 필드가 아니면 정렬에 사용하지 않는 기능으로 인해 안됩니다. 반드시 먼저 (1)번의 방법이 선행되어져 첨부파일이 불러지고 그 다음에 이 소스를 실행하셔야 합니다.
설명이 좀 복잡하군요.
결론은,
(2)번 방법만 단독으로 사용할 수 없으며, (1)번, (2)번을 같이 사용되어져야 하는데 반드시 (1)번소스가 실행되어야 (2)번의 소스도 작동한다는 얘기입니다.


3. 주의점
board.php, list.php 파일이 업그레이드가 된다면 이 파일도 해당 부분이 수정되어야 합니다.
================================================================================

============================ 방 법 2. ===========================

1. 첨부파일2(sort.zip)을 다운 받아 압축 풀면 나오는 board_sort.php파일과 list_sort.php 파일을 bbs/디렉토리 아래 올립니다.

board_sort.php 파일은 bbs/board.php 파일에서 172라인의 소스를 아래와 같이 바꾼겁니다.
==========================================
include_once ("./list.php");
=>
include_once ("./list_sort.php");
==============================================

list_sort.php 파일은 bbs/list.php 파일에서 58라인의 소스를 아래와 같이 바꾼겁니다.
==========================================
if (!$sst || ($sst && !(strstr($sst, 'wr_id') || strstr($sst, "wr_datetime")))) {
=>
if (!$sst || ($sst && !(strstr($sst, 'wr_id') || strstr($sst, "wr_datetime") || strstr($sst, "wr_subject") || strstr($sst, "wr_link1_hit") || strstr($sst, "wr_hit") || strstr($sst, "wr_1") || strstr($sst, "wr_2") || strstr($sst, "wr_3") || strstr($sst, "wr_5") || strstr($sst, "wr_6") || strstr($sst, "wr_7") || strstr($sst, "wr_8") || strstr($sst, "wr_9") || strstr($sst, "wr_10") || strstr($sst, "wr_link2_hit") || strstr($sst, "ca_name")))) { //수정본
==============================================


2. 스킨에서 아래와 같이 불러오시면 됩니다.

(1) 직접 불러오는 방법
< a href='./board_sort.php?bo_table=<?=$bo_table?>&sop=and&sst=wr_link1_hit&sod=desc'>▼ 링크1조회순< /a>
< a href='./board_sort.php?bo_table=<?=$bo_table?>&sop=and&sst=wr_link1_hit&sod=asc'>▼ 링크1조회순< /a>
< a href='./board_sort.php?bo_table=<?=$bo_table?>&sop=and&sst=wr_hit&sod=desc'>▼ 조회순위순< /a>
< a href='./board_sort.php?bo_table=<?=$bo_table?>&sop=and&sst=wr_hit&sod=asc'>▼ 조회순위순< /a>
이런식으로 원하는 필드를 적용하시어 불러옵니다.

(2) 누를때 마다 조회방법을 다르게 불러오는 방법
< ?=subject_sort_link('wr_link1_hit', $qstr2, 1)?>▼ 링크1조회순< /a>
< ?=subject_sort_link('wr_hit', $qstr2, 1)?>▼ 조회순위순< /a>
게시판을 불러올때 http://도메인/bbs/board_sort.php?bo_table=테이블명 이렇게 링크를 걸어주시면 됩니다.
단, 이 경우 반드시 (1)번의 직접 불러오는 방법이 하나 이상 사용되어 져야만 합니다. 이유는 (2)번 방법만 사용할 경우 인덱스 필드가 아니면 정렬에 사용하지 않는 기능으로 인해 안됩니다. 반드시 먼저 (1)번의 방법이 선행되어져 첨부파일이 불러지고 그 다음에 이 소스를 실행하셔야 합니다.
설명이 좀 복잡하군요.
결론은,
(2)번 방법만 단독으로 사용할 수 없으며, (1)번, (2)번을 같이 사용되어져야 하는데 반드시 (1)번소스가 실행되어야 (2)번의 소스도 작동한다는 얘기입니다.


3. 주의점
board.php, list.php 파일이 업그레이드가 된다면 이 파일도 해당 부분이 수정되어야 합니다.
================================================================================

개인적으로 2번째 방법을 추천합니다.
만약, board.php 파일이나 list.php 파일이 업글이 된다면 수정된 부분만 찾아서 적용하기가 첫번째 방법보다 수월하기 때문입니다. 첫번째 방법을 제시한건 파일수를 줄여보려고 한겁니다.
추천
0

댓글 10개

코멘트가 3개 이상 달리면 본문글 수정이 안되는군요.

그누보드 포에버 4.00.09 버전에서 해결되었습니다.
이 팁은 더이상 무의미한 팁이 되었네요.
관리자님께 감사드립니다.
gnu 3.xx 잘 됩니다.  찾고 있던건데 감사합니다.

<?=subject_sort_link('wr_link1_hit', $qstr2, 1)?>▼ 링크1조회순</a>
<?=subject_sort_link('wr_hit', $qstr2, 1)?>▼ 조회순위순</a>
제같은 경우 업글을 할때 무조건 덮어쓰기를 합니다.
제가 이 방법을 생각한 주된 이유는 제 업글 스티일 때문이지요.
물론 보람찬님의 방법대로 한다면 더욱 간단하긴 합니다.
하지만 앞뒤 안가리고 무조건 덮어쓰기를 하는 저로서는 문제가 되는 부분이었습니다.

다소 복잡하지만 이렇게 할 수 밖에 없더군요. ㅠ.ㅠ
수고하셨습니다.

음.. 그런데  "3. 주의점" 때문에 생각해야 할것이 좀 있네요.

지난번 다음링크의 4번째 질문시에 "보람찬"님께서 알려주신 방법을 적용할경우
http://www.sir.co.kr/?doc=bbs/gnuboard.php&bo_table=g4_qa&wr_id=2325

list.php 파일 하나만 체크하면 되는데 까만도둑님이 제공하신 방법은 board.php, list.php의 변경을 패치시마다 체크해야 한다는 문제가 있군요.

그리고 보람찬님의 방법은 수정할곳이 한줄이라서 간단하게 체크가 가능할것 같은데...
까만도둑님께서 제공하신 board_sort.php는 board.php, list.php에서 어떤 부분이 변경될때 체크해서 적용해야 하는지가 모호합니다. 스스로 알아서 적용하기는 쉽지 않을듯 하군요.
전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

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