여분필드를 활용한 index 인기글, 추천글 적용하기 > 그누보드5 팁자료실

그누보드5 팁자료실

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

여분필드를 활용한 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라인을 찾아 아래와 같이 수정합니다.


$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 쿼리문에 자동으로 '테이블명', '테이블명' 방식으로 자동 기입

 

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

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 ";
}

 

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


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 ";
}

 

 

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


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');

 

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


<?php echo izen_group('theme/최신글스킨명', '그룹명', wr_hit, 게시물수, 제목글자수, 카운트날짜);?>
 
// 여분필드9번이 체크된 그룹내 모든 게시물을 최근게시물로 불러오려면 '그룹명' 다음 호출되는 변수에 wr_hit를 기록하면 되구요. 반대로 여분필드10번을 불러오려면 wr_good을 기록하면 됩니다.
카운트 날짜는 넉넉하게 365일 입력하시면 됩니다.

 

 

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

3531204424_1712558071.0136.png

 

 

 

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

 

 

 

 

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

 

추천
2

댓글 1개

전체 2,449 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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