여분필드를 활용한 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 팁자료실

+
제목 글쓴이 날짜 조회
1년 전 조회 1,302
1년 전 조회 2,061
1년 전 조회 1,143
1년 전 조회 2,053
1년 전 조회 1,235
1년 전 조회 1,237
1년 전 조회 978
1년 전 조회 1,391
1년 전 조회 1,179
1년 전 조회 1,056
1년 전 조회 1,535
1년 전 조회 2,111
1년 전 조회 1,038
1년 전 조회 1,819
1년 전 조회 1,285
1년 전 조회 1,227
1년 전 조회 899
1년 전 조회 2,215
1년 전 조회 1,132
1년 전 조회 1,175
1년 전 조회 2,166
1년 전 조회 1,219
1년 전 조회 1,321
1년 전 조회 1,902
1년 전 조회 1,640
1년 전 조회 1,996
1년 전 조회 1,320
1년 전 조회 1,115
1년 전 조회 5,550
1년 전 조회 1,770
🐛 버그신고