NeoBoard 시간별, 쓰레드 정렬 동시 이용 패치

작성자  
   achor ( Hit: 2746 Vote: 35 )
분류      제작

게시판에 시간별 정렬 기능을 추가했습니다.

FreeBoard 게시판의 리스트 화면에서 상단을 보시면 '시간별 정렬'이라는 바가 보일 거예요.

그걸 누르시면 게시물들이 시간별로 정렬됩니다.



시간별 정렬 후에는 다시 '쓰레드 정렬' 바로 변환되어

원래 화면으로 돌아올 수 있습니다.



시간별 정렬은 게시물들을 작성 시간대로 출력하는 것이고,

쓰레드 정렬은 게시물들을 계층적인 구조에 따라서 출력하는 원리입니다.

과거 PC통신 시대에는 시간별 정렬이 대세를 이루었지만

요즘 인터넷 시대에는 쓰레드 정렬이 대세를 이루고 있죠.



원리는 어렵지 않지만 NeoBoard 자체의 변수가 워낙 꼬여 있어

require 따라가면서 소스 분석하는 데만도 꽤 시간이 걸렸네요. --;

NeoBoard는 아무리 봐도 제가 본 최고의 게시판입니다. --;

어찌나 복합하고 정교한지...



특히 엄청난 기능을 하나에 담다 보니

계층적인 구조 또한 엄청나져서 사소한 것 하나 수정하려 해도

끊임없이 소스를 파고 들어야할 뿐더러

게다가 Perl로 작성되어 있어서 그 복잡함은 배가 됩니다. --+

쓰인 변수만 해도 수 백 가지가 넘을 것 같더군요. --;



혹 직접 수정하셔서 쓰실 분들을 위해 제가 택한 방법을 말씀드리자면

두 가지 방법이 생각났었는데,



우선 첫 번재는 ./lib/NeoTemplate-lib.pl 파일과

./data/DB_Name/.NeoIndex/NeoDefault.conf 파일,

그리고 NeoBoard.cgi 파일 자체를 고치는 것입니다.



NeoTemplate-lib.pl 파일의 원하는 부위를 찾아서

쓰레드나 시간별 정렬을 선택할 수 있는 버튼을 만들어 줍고,

NeoDefault.conf 파일의 SortMethod= 부분에

쓰레드는 T를, 시간별은 D를 입력해야 합니다.



이것을 자동으로 만들어 주기 위해서 NeoBoard.cgi 파일을 수정해야 하는데

NeoBoard.cgi에서 쓰레드, 시간별을 선택할 때마다

NeoDefault.conf 파일을 읽어온 후 SortMethod 부분을 수정 후 다시 저장하면 되겠죠.



그 방법의 장점으로는 기존의 파일 관계를 그대로 유지하기 때문에

혹 모를 오류를 최소화할 수 있다는 데에 있습니다.

반면 NeoTemplate-lib.pl 파일을 수정함으로써

특정 게시판이 몇 개가 아니라 NeoBoard 전체를

시간별, 쓰레드 정렬이 가능하도록 만들어 버려야 하고,

또 unix/linux 상황에서는 .NeoIndex 하위 디렉토리가 보이기 않기 때문에

처음엔 조금 더 고생해야 할 지도 모르겠네요. 저야 NT 유저. --;



두 번째 방법으로는 NeoBoard.cgi 파일을

시간별, 쓰레드 정렬을 이용할 게시판 단위로 만들어 주는 것입니다.

이 경우 NeoBoard.cgi 뿐만 아니라

NeoDefault.conf, NeoTemplate-lib.pl 파일 모두 따라 만들어 주는 것이 좋습니다.



NeoBoard 자체가 워낙 잘 짜여져 있어서

특정 파일의 경로를 바꾸더라도 지정만 잘 해주면 아무런 문제 없이 잘 돌아가나

게시판 양에 따라 파일이 중복되어 증가한다는 단점이 있겠죠.

만드는 방식은 첫 번째와 동일합니다.

다만 세 개의 파일을 다른 이름으로 저장하여

게시판마다 다르게 실행을 시켜야 하죠.



저는 두 번째 방법을 썼습니다.

NeoBoard를 폭넓게 이용하고 있는 상황에서

모든 게시판을 다 시간별, 쓰레드 정렬로 바꾸기엔 다소 무리가 있어서 말입니다.



어쨌든 오늘,

그간 시간 나면 꼭 수정해야지 하고 벼르던 것들,

온라인견적서랑 초기화면이랑 끝으로 이 게시판까지

모조리 끝내놓을 수 있어서 꽤나 후련하네요. ^^



혹 문제가 생긴다면 알려주시구요.

예제는 http://achor.net/board/acBoard.cgi?Db=freeboard 에서 보실 수 있습니다.

ps.

1. Template를 사용하지 않은 경우도 별다르진 않을 겝니다.

NeoBoard.cgi 파일 보시면

if 문으로 Template 사용하는 경우와 사용하지 않는 경우를 나눠놓았는데

저야 Template를 사용하기에 직접 해보지는 않았지만

마찬가지로 NeoTemplate-lib.pl 파일이나 그 주위의 파일을

조금 수정해 주면 될 것 같네요.

2. 제가 말씀드린 두 번째 경우로 수정을 했을 경우

Reload나 많은 페이지를 거친 후에 List를 누르면

기존의 NeoBoard.cgi로 돌아가는 경우가 생깁니다.

이는 NeoBoard 자체가 그런 경우 다시금 고정적인 NeoBoard.cgi를 불러오기 때문인데

이 같은 현상을 완벽하게 없애고 싶다면 첫 번째 방법을 사용하시든가

./lib/NeoBoard-lib.pl 파일을 수정해야 할 것입니다.

이 경우 따로 NeoBoard-lib.pl 파일을 만들지 않으면

NeoBoard 전체가 변하게 되니 주의하세요.

그렇지만 게시판 링크가 보이는 상황에서 굳이 그럴 필요는 전혀 없다고

개인적으로 생각합니다.

3. 아주 간단한 방법으로, 디자인은 좀 구리겠지만

게시판의 구조는 그대로 두고 배너가 들어가는 게시판 윗부분이나

서명이 들어가는 게시판 밑부분에 NeoSearch.cgi 파일을 이용하여 수정할 수도 있습니다.

검색어를 부분검색명령인 ^로 주고 공백을 검색시키면,

곧 ^만으로 검색을 시키면 불완전하나마 쉽게 시간별 정렬을 할 수 있죠.

다만 이 경우 페이지를 넘김에 따라 빈 공간이 발생한다거나

정확하지 않은 데이터 출력이 생기기도 하니 완전한 방법은 아닙니다.
- achor WEbs. achor

본문 내용은 8,907일 전의 글로 현재의 관점과 다를 수 있습니다.

Post: https://achor.net/board/freeboard/3299
Trackback: https://achor.net/tb/freeboard/3299

카카오톡 공유 보내기 버튼 LINE it! 밴드공유 Naver Blog Share Button
Please log in first to leave a comment.


Tag


 4383   220   15
번호
분류
제목
작성자
작성일
조회수
추천
4103추천   읽어보세요. applefile 2000/12/302777184
4102    오랫만에 놀어왔어여 ^^ [1] nimf 2003/11/082777170
4101관리   Search Engine을 Linux 기반으로 바꿨습니다. achor 2001/06/15277397
4100    이야...멋찌구나..(ㅜ_ㅜ) 보드리 2000/04/022773221
4099    잘사냐.. [1] 정영 2003/05/06277093
4098제작   vass Counter Beta achor 2000/12/232766244
4097    3 [2] 이선진 2002/09/13276683
4096    허걱 [1] S 2002/11/122765130
4095황당   힘! achor 2001/07/252763137
4094    아처, 야혼, 베닉, 클로버 보세요..^^;; 널널백조 2000/12/232756224
4093답변   (아처) Re 115, to yahon achor 2000/03/152756210
4092    제주도 민속촌앞!! 이선진 2000/09/04275523
4091제작   M4You NZine Cartoon achor 2001/01/112754144
4090    아처야~ [2] romy 2004/02/202753155
4089공지   (아처) Homepage Ver 3.0부터 달라질 것들 achor 1999/11/082751335
4088    선진이랑 지수언니 이선진 2002/12/022751100
4087    [질문]애니로 있는 미유키37편짜리에 대해.. [2] Kage.ran 2003/06/092751130
4086질문   코인 부탁드립니다. [1] dennis 2003/08/042749157
4085    [정영] 간만에 들렸다...^___________^ 정영 2001/03/30274873
4084제작   NeoBoard 시간별, 쓰레드 정렬 동시 이용 패치 achor 2000/11/17274635
    11  12  13  14  15  16  17  18  19  20     

  당신의 추억

ID  

  그날의 추억

Date  

First Written: 11/06/1999 04:17:00
Last Modified: 03/16/2025 19:39:37