목선웅

게시판 게시물 상단고정(우선 배치) 한줄 간편 소스, 강제 끌어올림, 끌올

· 2020-12-03 (목) 23:11:33 · 6274 · 7

특정 게시판에서 특정 게시물을 '공지' 를 활용하지 않고 최상단에 배치하고 싶을 때 mysql 의 order by 쿼리문을 통해 정렬 순서를 조정하는 방법입니다. 예를 통해 설명하겠습니다.


예시.

자유게시판(free)에서 '그누보드'라는 키워드가 제목(wr_subject)에 포함된 게시물을 우선 뿌려지도록 하기.

 

1. extend 파일 생성
/extend/dings_bbs_lift.php 처럼 extend 디렉토리에 php 파일 생성.

 

2. 생성한 파일 내용 작성

[code]

if ($bo_table === 'free') $board['bo_sort_field'] = 'wr_subject LIKE "%그누보드%" desc, '.$board['bo_sort_field'];

[/code]

 

3. 끝

 

--------------------------------------------------------------------------------------------------

 

작동 원리.

게시판 설정 페이지 보면 정렬 방법을 어떻게 할지 설정하는 부분이 있습니다.

그 게시판 설정값을 common.php 에서 읽어 들이고, 게시판 목록에서 사용할 때 bbs/list.php 에서

$sst 변수에 담게 되는데요. $sst 변수에 담기 전, 설정된 값을 중간에서 가로채 정렬 방법을 변경하는 원리입니다.

 

common.php 를 보면

448 라인 쯤, 게시판의 설정을 불러들이는 $board 변수를 읽어온 후에
59 라인 정도에서 extend 파일을 읽어옵니다.

따라서 나중에 읽는 extend 파일을 통해 $board의 정렬 관련 변수의 내용 $board['bo_sort_field'] 를

변경해주는 것입니다.

 

[code]
if ($bo_table === 'free') $board['bo_sort_field'] = 'wr_subject LIKE "%그누보드%" desc, '.$board['bo_sort_field'];

[/code]
 

"만약 자유게시판이라면 제목에 그누보드가 포함된 내용을 정렬한 다음 게시판 설정 정렬값으로 정렬해라." 라는 의미에요.

 

[code]
'wr_subject LIKE "%그누보드%" desc, '

[/code]

이 부분에서 먼저 정렬되기를 원하는 규칙을 넣어주시면 됩니다. 우선순위가 단계별로 여러가지가 있을 땐 '규칙1, 규칙2, ' 이렇게 넣어도 되겠죠.

더 좋은 방법이 있을지도 모르겠지만 급하게 사용하기 좋은 것 같아 공유드립니다~!


ps. 이 원리를 이용하면 여분필드를 이용해 게시글 끌어올림 같은것도 구현하기 좋을 것 같네요.

|

댓글 7개

감사합니다^^
관심있게 봐주셔서 감사합니다~^^
오우 감사합니다
또 하나 배우고 갑니다. 감사합니다.
2020-12-07 (월) 21:06:37
하나 배웠습니다
감사합니다.

감사합니다

 

댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

2,788건
+
제목 글쓴이 날짜 조회
20-12-10 조회 6,419
20-12-08 조회 4,960
20-12-08 조회 7,567
20-12-05 조회 7,163
20-12-03 조회 6,275
20-12-03 조회 4,634
20-11-24 조회 5,474
20-11-24 조회 6,834
20-11-23 조회 5,217
20-11-22 조회 6,363
20-11-20 조회 4,651
20-11-19 조회 5,680
20-11-19 조회 4,614
20-11-19 조회 4,703
20-11-19 조회 5,117
20-11-14 조회 6,731
20-11-11 조회 6,577
20-11-09 조회 5,672
20-11-06 조회 7,000
20-11-05 조회 6,174
20-11-01 조회 6,120
20-10-30 조회 1만
20-10-28 조회 5,523
20-10-28 조회 6,142
20-10-27 조회 1.4만
20-10-27 조회 4,901
20-10-21 조회 5,107
20-10-20 조회 5,448
20-10-20 조회 5,499
20-10-14 조회 7,865