한개의 게시판으로 다양한 출력형태 구현하기 > 그누4 팁자료실

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

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

한개의 게시판으로 다양한 출력형태 구현하기 정보

한개의 게시판으로 다양한 출력형태 구현하기

본문

1. 게시판 list.skin.php 에 아래 코드 적용
--------------------------------------
 if($board[bo_10]){
    include_once("$board_skin_path/list/$board[bo_10]");

     //웹페이지인경우
     if($board[bo_10] == 'page.skin.php'){
      if($admin_href)
            include_once("$board_skin_path/adm.skin.php");
  }

 }
 else
  include_once("$board_skin_path/list/basic.skin.php");

2. 스킨 디렉토리에 list  폴더 생성
예) g4/skin/board/basic/list

-->  list 폴더에 목록에서 출력할 형태의 소스를 넣는다.

3. 관리자 board_form.php 에 여분필드 10을 아래와 같이 수정
----------------------------------------------------------
<tr class='ht'>
    <td><input type=checkbox name=chk_10 value=1></td>
    <td>여분필드 설정</td>
    <td>

 <?
 if($board[bo_skin] == 'basic'){
         $set_file  = $board[bo_skin]."/list";

   ?>
        <select name=bo_10 required itemname="출력형태">
        <?
        $arr = get_file_dir($set_file);
        for ($i=0; $i<count($arr); $i++) {
            echo "<option value='$arr[$i]'>$arr[$i]</option>\n";
        }
        ?></select>
  <script language="JavaScript">document.fboardform.bo_10.value="<?=$board[bo_10]?>";</script>
   <?}

 else{
 ?><input type=text class=ed style='width:80%;' name='bo_10' value='<?=get_text($board["bo_10"])?>' title='여분필드 10 설정값'><?}
 ?>
 </td>
</tr>
<tr><td colspan=3 class='line2'></td></tr>

 


<? for ($i=1; $i<=9; $i++) { ?>
<tr class='ht'>
    <td><input type=checkbox name=chk_<?=$i?> value=1></td>
    <td><input type=text class=ed name='bo_<?=$i?>_subj' value='<?=get_text($board["bo_{$i}_subj"])?>' title='여분필드 <?=$i?> 제목' style='text-align:right;font-weight:bold;'></td>
    <td><input type=text class=ed style='width:80%;' name='bo_<?=$i?>' value='<?=get_text($board["bo_$i"])?>' title='여분필드 <?=$i?> 설정값'></td>
</tr>
<? } ?>
-----------------------------------------------------------

4. amin.lib.php   에 아래코드 추가
-------------------------------

// 스킨경로를 얻는다
function get_file_dir($skin, $len='')
{
    global $g4;

    $result_array = array();

    $dirname = "$g4[path]/skin/board/$skin/";
    $handle = opendir($dirname);
 $i=0;
    while ($file = readdir($handle))
    {
        if($file == "."||$file == "..") continue;

        if (!(is_dir($dirname.$file))){
           if (!(preg_match("/\.(bak)$/i", $file)))
   $result_array[] = $file;
  }
  $i++;

    }
    closedir($handle);
    sort($result_array);

    return $result_array;
}

----------------------------------------------------

5. 응용하기

기존 공개된 스킨들의 list.skin.php 파일들을  list 폴더에  파일명을 변형하여 세팅합니다.

예) list.skin.php    ---> list/web.skin.php  

**    if (!(preg_match("/\.(bak)$/i", $file)))
==>> 소스중에 이부분을 넣는 이유는 원본파일을 새로작성할 경우 bak 파일이 생성되어 검색이 되기때문에 예외를 시켜주어야 합니다.

추천
6

댓글 9개

전체 9 |RSS
그누4 팁자료실 내용 검색
  • 개별 목록 구성 번호 제목 작성자 작성일 추천 조회
  • 게시물이 없습니다.

회원로그인

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