2026, 새로운 도약을 시작합니다.

여분필드를 활용한 index 인기글, 추천글 적용하기

이번에 의뢰받은 웹사이트를 작업하며 알게된 미립자팁을 알려드리겠습다.

이 팁은

1. 영카트의 인기상품,추천상품등의 관리와 같은 기능을 활용하기 위해서 만들어졌습니다.

2. 사용된 스킨은

@팡팡님의 https://sir.kr/g5_skin/32463

그룹 인기글 최신글 스킨과

@펄스나인님의 https://sir.kr/g5_plugin/12300

게시글 관리 스킨을 활용하여 만들어졌습니다.

팡팡님의 스킨에서 best10.lib.php 파일 한개만 사용되었고 펄스나인님의 게시글 관리 스킨을 아래 제가 올린 팁처럼 사악한(?) 기운으로 개조하여 응용해서 적용한것입니다.

3531204424_1712559213.9446.png

- 지금은 더 사악하게 리스트에서 본문을 제외한 나머지 모두 수정할 수 있게 숮..읍읍

(물론 펄스나인님의 스킨 없이 개별적으로 필요한 게시글에 여분필드를 체크 input을 활용하여 사용하셔도 됩니다.)

여분필드 9번은 '인기글', 여분필드 10번은 '추천글' 이라는 가정하에

먼저 팡팡님 스킨을 압축해제하고 best10.lib.php 파일을 그누보드가 설치된 루트/lib 폴더에 업로드 하시구요.

에디터를 활용하여 수정합니다.

1. 이 lib파일은 그룹내에 모든 게시판 테이블을 불러오는데 여기서 제외할 게시판 테이블을 적용하기 위해 64라인을 찾아 아래와 같이 수정합니다.

[code]

$sql= " select bo_table from {$g5['board_table']} ";

// 이 부분을 아래 코드로 변경(제외할 게시판이 없으면 수정하지 않아도 됩니다)

$exclusion = explode(",",$config['cf_10']); 

$excboard = "'" . str_replace(",", "', '", $exclusion) . "'";

$sql= " select bo_table from {$g5['board_table']} WHERE bo_table NOT IN ($excboard) ";

// cf_10필드에 제외할 게시판 테이블을 , 로 구분하여 기록하고 이를 불러와서 explode를 활용하여 , 를 제거한 후 str_replace함수를 활용하여 sql 쿼리문에 자동으로 '테이블명', '테이블명' 방식으로 자동 기입

[/code]

2. wr_hit(인기글 여분필드 wr_9 체크값으로 변환 value는 1입니다.) 변수가 정의된 쿼리문을 찾아 아래와 같이 수정합니다.
[code]

if ($izen_sort == 'wr_hit')

{

$sql_gr_Q = " wr_is_comment <> '1' and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' order by $izen_sort desc limit 0, $rows ";

}

// 이 부분을 아래와 같이 변경합니다.

if ($izen_sort == 'wr_hit')

{

$sql_gr_Q = " wr_9 = '1' order by $izen_sort desc limit 0, $rows ";

}

[/code]

마찬가지로 wr_good(추천글 여분필드 10 체크값으로 변환하고 역시 value값도 1입니다.) 변수가 정의된 쿼리문을 찾아 아래와 같이 변경합니다.

[code]

elseif ($izen_sort == 'wr_good') #

{

$sql_gr_Q = " wr_is_comment <> '1' and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' and wr_good <> '0'  order by $izen_sort desc limit 0, $rows ";

}

// 이 부분을 아래와 같이 변경합니다.

elseif ($izen_sort == 'wr_good') #

{

$sql_gr_Q = " wr_10 = '1'  order by $izen_sort desc limit 0, $rows ";

}

[/code]

3. 테마를 사용하시는 경우 테마의 head.php 파일에 lib 파일을 불러옵니다.

[code]

include_once(G5_THEME_PATH.'/head.sub.php');

include_once(G5_LIB_PATH.'/latest.lib.php');

// 이 쯤 어딘가 내 마음 헤메이기 좋은곳(?)에 아래 include문을 하나 추가합니다.

include_once(G5_LIB_PATH.'/best10.lib.php');

[/code]

4. 이제 마지막 index.php 파일에 불러오고자 하는 위치에 사용할 최신글 스킨을 활용하여 펑션을 깊숙히 삽입(-_-ㅋ)하시면 끝입니다.

[code]

<?php echo izen_group('theme/최신글스킨명', '그룹명', wr_hit, 게시물수, 제목글자수, 카운트날짜);?>

// 여분필드9번이 체크된 그룹내 모든 게시물을 최근게시물로 불러오려면 '그룹명' 다음 호출되는 변수에 wr_hit를 기록하면 되구요. 반대로 여분필드10번을 불러오려면 wr_good을 기록하면 됩니다.

카운트 날짜는 넉넉하게 365일 입력하시면 됩니다.

[/code]

그러면 저처럼 요렇게 활용 할 수 있습니다.

3531204424_1712558071.0136.png

영카트의 인기상품, 추천상품, 세일상품등의 기능을 적용시킬 수 있는것이지요.

※ 원 글 게시자인 @팡팡 님과​​​  @펄스나인 님께서 게시글 내리라 하시면 빛의 속도로 내리겠습니다.

|

댓글 1개

댓글 작성

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

로그인하기

그누보드5 팁자료실

번호 제목 글쓴이 날짜 조회
공지 3년 전 조회 4,598
2741 4일 전 조회 125
2740 5일 전 조회 112
2739 1주 전 조회 212
2738 1주 전 조회 221
2737 1주 전 조회 184
2736 2주 전 조회 283
2735 3주 전 조회 288
2734 3주 전 조회 264
2733 1개월 전 조회 267
2732 1개월 전 조회 302
2731 1개월 전 조회 270
2730 1개월 전 조회 227
2729 1개월 전 조회 359
2728 1개월 전 조회 246
2727 1개월 전 조회 422
2726 1개월 전 조회 259
2725 1개월 전 조회 332
2724 1개월 전 조회 363
2723 1개월 전 조회 267
2722 1개월 전 조회 300
2721 1개월 전 조회 214
2720 2개월 전 조회 304
2719 2개월 전 조회 308
2718 2개월 전 조회 202
2717 2개월 전 조회 337
2716 2개월 전 조회 203
2715 2개월 전 조회 313
2714 2개월 전 조회 273
2713 2개월 전 조회 377
2712 2개월 전 조회 290
🐛 버그신고