- 메인그룹 -

알지로넷 웹호스팅

위리넷 웹호스팅

유용한팁
메인그룹 > 유용한팁
  • 게시물 앨범형으로 보기
  • iuman
  • 작성일 : 2009-09-13 22:47:34
  • Homepage : http://iuman.net
    • 각 게시판의 게시물은 일반적으로 리스트형으로 보여진다.
      일반적으로 포털사이트에 가보면 리스트 타입말고도 앨범형으로 보이도록 별도의 타입을 지원해주고 있는데요...
      저도 그러한 기능을 추가해보았습니다.
      초보자에게 있어서는 수정할 부분이 좀 많은편이니 작업하실때 게시판 기본스킨을 복사해서 수정작업 해나가시길 권합니다.

      게시판 스킨 이외에 수정할 파일이 2개 있는데요.
      rg4_include/func_comm.php 1100줄 부분에(수정한곳이 더러있어서 정확한 위치는 아닙니다.) 네비게이션표시 함수가 있습니다.
      이것을 통채로 복사해서
      rg_navi_display 를 rg_navi_display2 로 추가해서 바로 아래부분에 복사합니다.
      추가한 함수는 아래와 같이됩니다.
      ==========================
       
      /******************************************************************************
      기능 : 네비게이션 표시 - 2
      사용법 :
      ******************************************************************************/
      function rg_navi_display2($page_info,$p_str,$skin='',$list_type) {
      if($list_type) $list_type_str = "&list_type=".$list_type;
      $_result='';
      if(!empty($page_info['first']))
      $_result.=" <a href="?{$p_str}&page={$page_info['first']}{$list_type_str}">[처음]</a> ";
      else
      $_result.=" [처음] ";
      
      if(!empty($page_info['prior_step']))
      $_result.=" <a href="?{$p_str}&page={$page_info['prior_step']}{$list_type_str}">◁</a> ";
      else
      $_result.=" ◁ ";
      
      
      if(!empty($page_info['prior']))
      $_result.=" <a href="?{$p_str}&p={$page_info['prior']}{$list_type_str}"><</a> ";
      else
      $_result.=" < ";
      
      for($i=0;$i<count($page_info['pages']);$i++) {
      if($page_info['pages'][$i] == $page_info['page'])
      $_result.=" [<font color=red>{$page_info['pages'][$i]}</font>] ";
      else
      $_result.=" <a href="?{$p_str}&page={$page_info['pages'][$i]}{$list_type_str}">[{$page_info['pages'][$i]}]</a> ";
      }
      
      if(!empty($page_info['next']))
      $_result.=" <a href="?{$p_str}&page={$page_info['next']}{$list_type_str}">></a> ";
      else
      $_result.=" > ";
      
      if(!empty($page_info['next_step']))
      $_result.=" <a href="?{$p_str}&page={$page_info['next_step']}{$list_type_str}">▷</a> ";
      else
      $_result.=" ▷ ";
      
      if(!empty($page_info['end']))
      $_result.=" <a href="?{$p_str}&page={$page_info['end']}{$list_type_str}">[끝]</a> ";
      else
      $_result.=" [끝] ";
      
      return $_result;
      }

      ======================================

      자 위 함수를 추가하셨다면

      글쓰기 이후 리스트 타입유지를 위해 아래 와 같이
      rg4_board/write.php 소스를 수정합니다.

      _get_param[3]값을 검색해서 뒤에 list_type 값을 추가해주어야 합니다.

      ======================================
      rg_href("list.php?$_get_param[3]");
      위와같이 된것을 아래와 같이 수정
      rg_href("list.php?$_get_param[3]&list_type=$list_type");
      ======================================
      그리고 80여번째줄에서 $_post_param[4] 값을 아래와 같이 하나더 추가합니다.
      $_post_param[4].='<input type="hidden" name="list_type" value="'.$list_type."">";


      이로서 게시물 작성후 혹은 수정 삭제뒤에도 리스트 타입은 정상적으로 유지가 됩니다.







      이제 게시판 스킨부분 수정작업을 하셔야 합니다.
      수정할 파일은 list.php list_main.php 두개의 파일입니다.


      list.php 수정부분
      제목 - 날짜 - 이름 <- 테이블 시작되는 바로 위에 아래 소스 추가합니다.
      ==============================
       
      <? if($_mb[mb_id]) { ?>
      <a href="list.php?bbs_code=<?=$bbs_code?>&ss%5Bsn%5D=1&kw=<?=$_mb[mb_id]?><?=($list_type)?"&list_type=".$list_type:"";?>" class="<?=($kw==$_mb[mb_id])?"bluetitle":"blue";?>">나의글보기</a>
      <span style="margin-left:8px;"></span>
      <? } ?>
      <a href="list.php?bbs_code=<?=$bbs_code?>&list_type=album" class="<?=($list_type=='album')?"bluetitle":"blue";?>"><img src="<?=$skin_url?>images/ico-list-album.gif" border="0" align="absmiddle"> 앨범형</a>
      <span style="margin-left:8px;"></span>
      <a href="list.php?bbs_code=<?=$bbs_code?>&list_type=board" class="<?=(!$list_type || $list_type=='board')?"bluetitle":"blue";?>"><img src="<?=$skin_url?>images/ico-list-board.gif" border="0" align="absmiddle"> 게시판형</a>

      =======================================
      그외 list.php 에서 수정될 부분이 있는데..
      그것은 각 버튼별링크부분에 리스트 타입을 넘길수 있도록 인자값을 더 추가해서 붙여주어야 됩니다.
      수정/목록으로/검색 및 취소 등의 각 버튼의 경로뒤에 다음 값을 추가합니다.
      <?=($list_type)?"&list_type=".$list_type:"";?>


      추가되었다면.
      소스 하단부분에 있는 네이게이션 부분을 아래와 같이 수정합니다.
      <?=rg_navi_display($page_info,$_get_param[2]); ?>
      위 소스를 아래와 같이 수정
      <?=rg_navi_display2($page_info,$_get_param[2],'', $list_type); ?>

      자 이제 list_main.php 수정할차레...
      여기서 제일 많은 부분이 추가됩니다.
      =========================================
       
      <?
      /////////////// 리스트형으로 볼때 사용
      if (!$list_type || $list_type == "board") {
      ?>
      일반적인 리스트부분 스킨 소스 그대로 사용
      <?
      /////////////// 앨범형때로 볼때 사용
      } else if ($list_type=="album") {
      ?>
      앨범형으로 보여질 리스트 부분으로 이곳에 자신이 원하는 형태로 꾸밀수 있다.
      저의 경우 게시판 스킨중 앨범스킨의 list_main.php 를 추가했습니다.
      <? } ?>

      =======================================================


      설명이 난해 합니다.
      이는 게시판 스킨을 직접 제작해본 경험이 있다면 전혀 문제없이 적용가능하겠으나...
      그러한 경험이 없다면 여러 궁금증이 유발할수 있으므로..
      질문발생시 그에 대한 답은 제가 시간이 많이 남을때 답해드리겠습니다. ^^;

      이글은 앨범형으로 보이게 하려면 어떤 작업이 필요한가?? 하는것을 알려주기 위해 작성되었습니다.



      ======================
      실제 적용된 모습이나 원본글 확인을 하시려면 아래 링크를 따라오세요.
      http://iuman.net/v14/rg4_board/view.php?&bbs_code=rgboard&bd_num=87&list_type=album
    홈페이지다시만들어보자~
    http://iuman.net