각 게시판마다 항목을 달리할 때(동일 스킨 사용시) > 그누3 팁자료실

그누3 팁자료실

각 게시판마다 항목을 달리할 때(동일 스킨 사용시) 정보

그누호환 각 게시판마다 항목을 달리할 때(동일 스킨 사용시)

본문

- 매우 허접한 소스임을 미리 밝힙니다.
- 제로보드의 주성애비님의 소스를 참고/도용하였음을 시인합니다.(100% 는 아님)
: 위 두가지 사항에서 문제가 발생시 삭제합니다.

각 게시판마다 모양은 똑같되 이름, 날짜, 조회수 등을 보이거나 또는 그렇지 않게 하고 싶을 때가 있습니다.  그렇다고 스킨을 여러개 쓰기는 싫고... 그래서 고민하다가 전에 제로보드 사용시 있었던 소스를 참고하고 독학으로 이리저리 끼워맞춰서 만들어봤습니다. 

사용하려고 하는 스킨과 동일한 폴더에 아래의 세가지 파일을 만듭니다.

1. skin_config.php
<?
// 스킨설정파일 기본 변수설정
    $skincfgfile = "data/file/$bo_table.cfg";
    $skinvalue = "$board_skin/value.cfg";

//  스킨설정파일 존재여부 판단 및 복사하기
    if(!file_exists($skincfgfile))
{ copy($skinvalue , $skincfgfile); }

    include "$skincfgfile";
?>

2. skin_config_gui.php
<?
include '../../../../'.$skincfgfile ;
?>
<style>
.skin_main {font-family:돋움;font-size:9pt;color:#999999;font-weight:bold;}
</style>
<table width="280"  border="0" align="center" cellpadding="10" cellspacing="0" style="border:1px solid #666666;">
  <FORM METHOD=POST ACTION="skin_config_ok.php">
    <INPUT TYPE="hidden" name="board_skin"  value="<?=$board_skin?>">
    <INPUT TYPE="hidden" name="skincfgfile" value="<?=$skincfgfile?>">
    <INPUT TYPE="hidden" name="bo_table" value="<?=$bo_table?>">
    <tr bgcolor="#efefef">
      <td colspan="2" align="center" style="border-bottom:1px solid #666666;"><font face="Arial Black" style="font-size:13pt;color:#4A45B1;"><strong>SKIN
        CONFIG UTIL</strong></font></td>
    </tr>
    <tr align="center">
      <td height="5" colspan="2" class="skin_main" style="color:#666666;">
        <?=$bo_table?>
        게시판 리스트 항목 설정</td>
    </tr>
    <tr>
      <td width="50%" align="center"><font class="skin_main">작성자 사용 </font></td>
      <td align="center">
        <SELECT NAME="bename">
          <option value="0" <?=((!$bename)?' selected':'');?>>사용않함</option>
          <option value="1" <?=(( $bename)?' selected':'');?>>사 용 함</option>
        </SELECT>
      </td>
    </tr>
    <tr>
      <td align="center"><font class="skin_main">작성일 사용 </font></td>
      <td align="center">
        <SELECT NAME="bedate">
          <option value="0" <?=((!$bedate)?' selected':'');?>>사용않함</option>
          <option value="1" <?=(( $bedate)?' selected':'');?>>사 용 함</option>
        </SELECT>
      </td>
    </tr>
    <tr>
      <td align="center"><font class="skin_main">조회수 사용 </font></td>
      <td align="center">
        <SELECT NAME="behit">
          <option value="0" <?=((!$behit)?' selected':'');?>>사용않함</option>
          <option value="1" <?=(( $behit)?' selected':'');?>>사 용 함</option>
        </SELECT>
      </td>
    </tr>
    <tr>
      <td align="center"><font class="skin_main">댓글수 사용 </font></td>
      <td align="center"><SELECT NAME="becomm">
          <option value="0" <?=((!$becomm)?' selected':'');?>>사용않함</option>
          <option value="1" <?=(( $becomm)?' selected':'');?>>사 용 함</option>
        </SELECT></td>
    </tr>
    <tr align="center" bgcolor="#315146">
      <td colspan="2" height="5"></td>
    </tr>
    <tr align="center">
      <td>
        <INPUT type="submit" value="SUBMIT" style="font-family:verdana;font-size:7pt;color:#999999;border:1px solid #cccccc;background-color:#efefef;width:50%;height:80%;">
      </td>
      <td>
        <INPUT TYPE="button" value="CLOSE" NAME="close" onClick="javascript:void(self.close());" style="font-family:verdana;font-size:7pt;color:#999999;border:1px solid #cccccc;background-color:#efefef;width:50%;height:80%;">
      </td>
    </tr>
  </form>
</table>

3. skin_config_ok.php
<?
$_cfg_value  = '<?'."\n";
$_cfg_value .= '//작성자 사용여부'."\n";
$_cfg_value .= '$bename = '.$bename.';'."\n";
$_cfg_value .= '//작성일 사용여부'."\n";
$_cfg_value .= '$bedate = '.$bedate.';'."\n";
$_cfg_value .= '//조회수 사용여부'."\n";
$_cfg_value .= '$behit  = '.$behit.';'."\n";
$_cfg_value .= '//댓글수 사용여부'."\n";
$_cfg_value .= '$becomm = '.$becomm.';'."\n";
$_cfg_value .= '?>'."\n";

$skinfp = fopen('../../../../'.$skincfgfile, "w");
fwrite($skinfp, $_cfg_value);
fclose($skinfp);

$url = "./skin_config_gui.php?board_skin=$board_skin&skincfgfile=$skincfgfile&bo_table=$bo_table";
echo"<meta http-equiv=\"refresh\" content=\"0; url=$url\">";
?>

3개의 파일을 만들어줬으면 gblist.skin.php 파일내에 <? include "$board_skin/skin_config.php"; ?> 인클루드를 시키고  관리자만 보이도록 하단과 같이 링크를 걸어줍니다.
<? if ($admin_href) { ?>
            <A HREF="javascript:void(window.open('<?=$board_skin?>/skin_config_gui.php?board_skin=<?=board_skin?>&skincfgfile=<?=$skincfgfile?>&bo_table=<?=$bo_table?>','skinconfig','width=300,height=320,menubar=no,scrollbars=no, resizable=no, top=50, left=50'));">&nbsp;Skin</a>
<? } ?>

각기 behit, bename, bedate, becomm 등의 변수를 사용하여 각 테이블이나 변수등에 걸어주시면 되겠지요. 

매우 허접한 소스이므로 문제가 발생하여도 저는 책임져드릴 수 없습니다.  ㅜ_ㅜ;;
php 에 통달하신 분들께선 보시고 문제가 생길만한 부분을 지적해주시면 감사하겠습니다.
추천
0
  • 복사

댓글 전체

헙스..  \ 가 제대로 표현이 안됐네요.  3번째 skin_config_ok.php 파일에서 다음줄로 넘겨야 하므로 "n" 을 "역슬래쉬n" 으로 -0-;;
© SIRSOFT
현재 페이지 제일 처음으로