관리자모드에서 css 로 다른 게시판 만들기. > 그누3 팁자료실

그누3 팁자료실

관리자모드에서 css 로 다른 게시판 만들기. 정보

그누호환 관리자모드에서 css 로 다른 게시판 만들기.

본문

css 하나로 다른 느낌이 드는 게시판을 만들수 있습니다.
그러나, 이걸 스킨화 해서 넣는다는건 무리가 있을뿐더러, ftp 사용으로 불편함이 있습니다.
이것을 위 그림에 보듯 관리자 모드에서 처리한다면, 한 게시판에 여러가지의 게시판이
있는 듯한 느낌을 가져다 줄겁니다.

한 예로 현재 그누보드 디자이너, 관리자님이 만든 imagelist 로 말씀드리겠습니다.
알기 쉽게 하기위해 간단하게 말씀드리려 하기 때문에 전문적인 내용은 기술하지 않았습니다.

// 보드 css 추가    <- 라는 부분만 잘 보시고 추가 하세요.

테이블 스키마, gb_board 에서 bo_css 를 추가 varchar(20) <- 이것은 자신에 맞게 알아서..


▶ config.php 의 가운데 부분
$cfg[level_max] = 10;    // 권한 최대값 (최고 관리자가 아님)
$cfg[level_guest] = 1;    // 방문객 기본 권한
$cfg[css_list] = 5;      // 보드 css 추가



▶ lib/gnuboard.lib.php 의 가운데 부분
function get_level_select($name, $selected='1', $event='')
{
    global $cfg;

    $str = "<select name='$name' $event>";
    for ($i=$cfg[level_guest]; $i<=$cfg[level_max]; $i++) {
        $str .= "<option value='$i'";
        if ($i == $selected) {
            $str .= " selected ";
        }
        $str .= ">$i</option>";
    }
    $str .= "</select>";
    return $str;
}

// 보드 css 추가
function get_css_select($name, $selected='1', $event='')
{
    global $cfg;

    $str = "<select name='$name' $event>";
    for ($i=1; $i<=$cfg[css_list]; $i++) {
        $str .= "<option value='$i'";
        if ($i == $selected) {
            $str .= " selected ";
        }
        $str .= ">$i</option>";
    }
    $str .= "</select>";
    return $str;
}
// 보드 css 추가 끝


▶ bbs/admin/boardform.php 의 소스 첫번째
$board[bo_skin] = "basic";
$board[bo_css] = 1;  // 보드 css 추가
$board[bo_gallery_width] = 4;

▶ bbs/admin/boardform.php 의 소스 두번째
<tr>
    <td style="<? echo b_draw('left', 'black') ?>">분류 사용</td>
    <td>
        <? echo get_yn_select('bo_use_category') ?>
        <? if ($w == 'u') { echo "<input type=button value='분류관리' onclick=\"location='./?doc=$cfg[bbs_dir]/admin/categorylist.php&bo_table=$board[bo_table]';\">"; } ?>
    </td>
    <td>// 보드 css 추가 </td>
    <td style="<? echo b_draw('right', 'black') ?>"><? echo get_css_select('bo_css') ?></td>
</tr>



▶ bbs/admin/boardupdate.php 첫번째 추가
bo_battle          = '$bo_battle',
bo_skin            = '$bo_skin',
bo_css            = '$bo_css', // 보드 css 추가


▶ bbs/admin/boardupdate.php 두번째 추가
bo_use_category    = '$bo_use_category',
bo_use_secret      = '$bo_use_secret',
bo_css              = '$bo_css', // 보드 css 추가




----- 위 처럼 다 했다면, 마지막으로 스킨에서 css 로 불러 오는 방식입니다. -----

imagelist <- 이걸로 예제 한다고 위에 말씀 드렸습니다.

imagelist 의 gbform.skin.php 과 gblist.skin.php 를 열어

상단의 
if (!$skin_no) $skin_no = "01";  이 부분을
if (!$skin_no) $skin_no = "0$board[bo_css]";
로  수정합니다.


위 처럼 하게 되면, 모든 설정은 끝난 것입니다.
이젠 관리자 모드에 들어가 "보드 CSS 사용" 의 숫자 지정으로 그 css 를 사용하게 됩니다.


imagelist 의 폴더 안에 보면, style01.css ~ style05.css 가 있지요. 더 추가하셔도 되구요.
나중이라도 다른 스킨으로 하신다면, 편하게 style1.css ~ style5.css 하시면 좋겠죠.




보시느라 수고 많으셨습니다.
추천
0
  • 복사

댓글 전체

멋진걸 만드셨네요.
감축 드리옵니다.

이건 여담입니다만......
멋진 팁텍은 영카트 안주나요?
안되면 "영구루마"라도.....
그래도 안되면 저한테 주실거 다른분께 주세요. ^^b
헉~ zzzz님 홈에서 막 보고 오는 길인데 ....
basic 으로 수정 하면서 뭔가 했습니다. zzzz님 글보니 쉽게 이해가 되네요.
3.29에 추가가 되었으면 하고 바래봅니다.

디자이너님 께서도 애 쓰셨습니다. 이전 버전과 아이콘이 잘 어울립니다.
감사합니다.
먼저 멋진 팁 너무 너무 정말로 감사드립니다.    (--)(__) 꾸벅

제가 php에 대해서 잘 몰라서 질문 좀 드리겠습니다.
위에서 설명하신대로 다른건 다 똑같이 하였고 gbform.skin.php 과 gblist.skin.php 에서
if (!$skin_no) $skin_no = "0$board[bo_css]";
<link rel='stylesheet' href='<?=$board_skin?>/style<?=$skin_no?>.css' type='text/css'>
위에 두줄을 삭제한후 bbs 폴더에 gnuboard.php 와 gbform에다 적당한 위치에 넣었습니다.
현재 잘 작동 되고요..

근데 여기서 bbs/style 폴더를 하나 만든후 하위폴더에 각각의 스타일과 이미지를 넣고 싶습니다.
그런후 보드 관리자에 접속한후 skin디렉토리 나오듯이 css 디렉토리 나오게 할려고 합니다.
그러니까 스킨디렉토리 바로 옆에다 스타일시트디렉토리 달려고합니다.

스타일도 스킨디렉토리처럼 5개 6개 딱 정해 놓지 않고 폴더 생성되면
자동으로 읽어서 그냥 적용만 시키고 싶은데 어떤걸 참고로 봐야 할수 있을까요.
php책을 다 보기엔 좀 무리가 있는듯 싶어서.... 추천 좀 부탁드립니다.
<link rel='stylesheet' href='<?=$board_skin?>/style<?=$skin_no?>.css' type='text/css'>
이 부분을
<link rel='stylesheet' href='./특정폴더/style<?=$skin_no?>.css' type='text/css'>
라고 하시면 될것 같은데요..  ^^
© SIRSOFT
현재 페이지 제일 처음으로