하나의 게시판에 두개의 bbs/list.php 사용 > 그누보드5 팁자료실

그누보드5 팁자료실

하나의 게시판에 두개의 bbs/list.php 사용 정보

하나의 게시판에 두개의 bbs/list.php 사용

본문

쌩초보입니다.. ㅎ

 

넓은마인드 님 두가지 스킨 이용 팁에서 아주 조금 변경이 되었고요

원본 글은 https://sir.kr/g4_tiptech/32013 이곳입니다 ^^

 

/common.php 파일의 

if (isset($_REQUEST['page'])) { // 리스트 페이지

$page = (int)$_REQUEST['page'];

if ($page)

$qstr .= '&page=' . urlencode($page);

} else {

$page = '';

}

 

이 부분 바로 하단에 다음 코드를 입력합니다

 

if ($list_type) { // 신규리스트

$qstr .= '&list_type = $list_type';

}

 

이후 bbs/board.php 하단에

 

include_once("./list.php");

 

이 부분을

 

if($list_type){

include_once("./list_2.php");

}else{

include_once("./list.php");

}

 

위와 같이 수정해줍니다.

 

이후 리스트를 list_2.php 로 로딩하고 싶을 때에는

 

/bbs/board.php?bo_table=테이블명&list_type=ok 

 

와 같은 식으로 넘겨주면 해당 설정으로 화면이 나오게 됩니다~

 

 

이 방법이 한가지 문제가 url에 리스트타입 입력하여 리스트 로딩했을때에도

다른 링크(페이지 이동 등)로 이동하게 될 시에는 원본 list.php 로 화면이 나오게 되는 점인데

 

본인 사이트 상황에 맞추어 추가적으로 변경해줘야 하는 사항이기도 하고...

 

 

일단 리스트에서 다른 페이지를 클릭하거나 다음페이지 이전페이지 클릭할 경우

 

원본 list.php 로 로딩되는 경우 같은 부분은 /lib 폴더에 common.lib.php 파일에서

 

다음과 같이 설정하면 해결됩니다.

 

 

// 한페이지에 보여줄 행, 현재페이지, 총페이지수, URL

function get_paging($write_pages, $cur_page, $total_page, $url, $add="")

{

    global $aslang;

if ( $list_type) {

    //$url = preg_replace('#&page=[0-9]*(&page=)$#', '$1', $url);

$url = preg_replace('#&page=[0-9]*#', '', $url) .'&list_type=ok' . '&page=';

} else {

    //$url = preg_replace('#&page=[0-9]*(&page=)$#', '$1', $url);

$url = preg_replace('#&page=[0-9]*#', '', $url) . '&page=';

}

 

추천
3

댓글 7개

board.php 파일 내부에 보면

// 게시물 아이디가 있다면 게시물 보기를 INCLUDE
if ($list_type) {
// 공지글인지 체크
$is_view_notice = (!empty($bo_notice_arr) && in_array($wr_id, $bo_notice_arr)) ? true : false;
    include_once(G5_BBS_PATH.'/view.php');
}

이 부분을 위 방법과 동일하게 view_type 등 조건문으로 작성하시면 되지 않을까 싶네요
테스트는 안해봤습니다 ^^;;
난 소스 건들기 싫어서,list.php를 별도로 복사해서,list_print.php로 이름짓고,제일 마지막행
include_once($board_skin_path.'/list.skin.php');를
include_once($board_skin_path.'/list.print.php');
바꾸고, 테마스킨에list.print.php 생성해서 양식등 입힌후,
테마스킨 view.skin.php 마지막부분에
<?php include_once('list.print.php');?>
사용 하였습니다. 나도 왕초보라서 ㅎㅎㅎ 나의 그누보드버전은:5.4.4.8
전체 2,427 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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