그누보드의 게시판 여분필드가 10개로 제한적이기에 많은 분들이 여분필드를 늘리기를 원하시는데, 여러가지로 번거로운 부분이 있었습니다.
이에 그누보드의 게시판 여분필드와는 별개로 확장필드라는 개념을 도입하여 게시판 별로 자유자재로 게시판의 확장필드를 추가할 수 있도록 기능을 추가하였습니다.
확장필드 기능에는 기본적으로 폼생성기를 내장해 놓았습니다.
이로써 개발자가 아니더라도 확장필드의 개념 및 사용방법을 조금만 익히면 누구라도 게시판의 기능을 확장하여 다양한 종류의 기능성 스킨을 제작하실 수 있습니다.
1. 관리자 - 게시판관리 - 게시판관리에서 확장필드를 추가하고 싶은 게시판의 [확장필드] 버튼을 클릭합니다.
2. [확장필드 추가하기] 버튼을 클릭하여 하나씩 추가하거나 '확장필드 일괄 추가하기'에 원하는 갯수를 입력하여 일괄추가 할수도 있습니다.
3. 원하는 확장필드를 아래 예시를 참고하셔서 폼타입을 선택해서 생성합니다.
[ text 타입 ]
[ radio 타입 ]
[ checkbox 타입 ]
[ select 타입 ]
[ textarea 타입 ]
[ address 타입 ]
textarea는 관리자 - 게시판관리 - 게시판관리 - 게시판 설정의 기능 설정에서 DHTML 에디터 사용에 사용 체크되어 있다면 설정된 에디터로 글쓰기가 됩니다.
기본값은 입력정보가 없을 시 기본으로 출력되는 값을 말합니다.
4. 생성된 확장필드 아이템 리스트를 확인하실 수 있으며, 게시판 스킨 파일에 복사하여 붙여 넣을 코드를 [코드보기] 버튼을 클릭하여 확인합니다.
5. Write 스킨, View 스킨, List 스킨에 붙여 넣을 코드를 각각 확인하고 복사합니다.
Write 코드에서 단축코드와 전체코드는 동일하게 출력되며, 사용자 선택에 따라 적용하시기 바랍니다.
6. 게시판 스킨의 경우 기존 스킨을 복사하여 작업하시는 것을 권장드립니다.
예를들어 ftp 접속하여 /theme/적용테마/skin/board/basic 폴더를 expansion 폴더로 복사합니다.
그리고 관리자 - 게시판관리 - 게시판관리 - 게시판 설정의 디자인/양식에서 이윰 게시판 스킨을 expansion 으로 선택하시면 되겠습니다.
(expansion 폴더명은 원하시는 다른 단어로 바꾸셔도 됩니다.)
/theme/테마명/skin/board/expansion/write.skin.html.php 파일에 생성한 각각의 확장필드 Write 코드를 정리하여 원하시는 위치에 입력합니다.
<section>
<div class="m-b-10"><?php echo $ex_write['ex_1']; ?></div>
<div class="m-b-10"><?php echo $ex_write['ex_2']; ?></div>
<div class="m-b-10"><?php echo $ex_write['ex_3']; ?></div>
<div class="m-b-10"><?php echo $ex_write['ex_4']; ?></div>
<div class="m-b-10"><?php echo $ex_write['ex_5']; ?></div>
<div class="m-b-30"><?php echo $ex_write['ex_6']; ?></div>
</section>
/theme/테마명/skin/board/expansion/view.skin.html.php 파일에 생성한 각각의 확장필드 View 코드를 정리하여 원하시는 위치에 입력합니다.
<div class="expension-field">
<ul class="list-unstyled">
<li><strong><?php echo $ex_view['ex_1']['title']; ?></strong> : <?php echo $ex_view['ex_1']['value']; ?></li>
<li><strong><?php echo $ex_view['ex_2']['title']; ?></strong> : <?php echo $ex_view['ex_2']['value']; ?></li>
<li><strong><?php echo $ex_view['ex_3']['title']; ?></strong> : <?php echo $ex_view['ex_3']['value']; ?></li>
<li><strong><?php echo $ex_view['ex_4']['title']; ?></strong> : <?php echo $ex_view['ex_4']['value']; ?></li>
<li><strong><?php echo $ex_view['ex_5']['title']; ?></strong> : <?php echo $ex_view['ex_5']['value']; ?></li>
<li><strong><?php echo $ex_view['ex_6']['title']; ?></strong> : <?php echo $ex_view['ex_6']['value']; ?></li>
</ul>
</div>
/theme/테마명/skin/board/expansion/list.skin.html.php 파일에 생성한 각각의 확장필드 List 코드를 정리하여 원하시는 위치에 입력합니다.
<div class="bl-item">성별</div>
<div class="bl-item">직업</div>
<div class="bl-item text-gray">
<?php echo $list[$i]['ex_2']; ?>
</div>
<div class="bl-item text-gray">
<?php echo $list[$i]['ex_3']; ?>
</div>
위에서 예로 든 expansion 폴더명은 원하시는 다른 단어로 바꾸셔도 됩니다.
위 코드의 스타일 CSS는 해당 스킨 상단에 위치한 CSS 코드 영역에 직접 작업하시면 되겠습니다.
7. 위에서 작업한 게시판의 Write(쓰기), Viwe(상세), List(목록) 페이지에서 작업한 확장필드의 출력을 확인할 수 있습니다.
[ Write(쓰기) ]
[ Viwe(상세) ]
[ List(목록) ]