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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누보드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,431 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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