내용으로 건너뛰기
법학위키
사용자 도구
등록
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
등록
로그인
>
최근 바뀜
미디어 관리자
사이트맵
추적:
그누보드:확장필드만들기
확장필드만들기
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
===== 개요 ===== 그누보드는 10개의 여분필드를 제공한다. 게시판을 생성하면 wr_1부터 wr_10까지의 필드가 기본적으로 추가적으로 만들어진다. 하지만 필드 제목이 wr_1~wr_10으로써, 필드 제목이 직관적이지 않으며, 10개로 제한되어 있어 10개 이상의 필드를 만들려면 곤란해진다. 하지만 그누보드는 로직부분(bbs 폴더 안에 있는 파일들)을 건드리지 않고도 커스텀한 필드를 쉽게 만들 수 있게 설계되어 있다. 이에 대하여 알아 보자 ===== 필드 추가 ===== 게시판을 생성하면 (당연하겠지만) mysql에 테이블이 만들어진다. phpMyAdmin이든 각자의 sql 매니저든을 통하여 들어가보자. 그러면 g5_write_라는 접두어로 테이블이 하나 만들어진다. 만약 lawfirmReview라는 게시판을 생성하였다면 g5_write_lawfirmReview라는 테이블이 만들어졌을 것이다. 이 테이블에 [구조]라는 탭으로 들어간 후 컬럼을 추가한다. 나는 'firmName'으로 컴럼을 만들었다. 그러면 다음과 wr_10이라는 컴럼(필드) 아래에 'firmName'이라는 컴럼이 추가된다. {{:그누보드:테이블에컬럼추가.png?600|테이블에 컬럼추가}} ===== 스킨에서 확장필드 추가하기 ===== ==== 1. 내 스킨에서 확장필드 관련 로직 추가하기 ==== 내가 만든 스킨 디렉토리에 파일을 추가해야 한다. 그누보드는 스킨 디렉토리에 대하여 테마폴더와 그냥 스킨폴더가 존재한다. 테마를 따로 선택하지 않았다면 그누보드의 스킨디렉토리는 PC버전의 경우 [skin]폴더 아래에 있고, 모바일 버전의 경우 [mobile] -> [skin] 폴더에 있다. 따라서 테마를 적용하지 않은 경우, PC버전의 스킨은 [root]->[skin]폴더에 있다. 만약 내가 만든 스킨의 이름이 'lawfirm'이라면 [root]->[skin]->[lawfirm]이다. 일단 [skin]폴더내에 [basic]으로 명명된 기본 게시판 스킨을 복사하여 [lawfirm] 이라고 붙여넣기 하자. 그럼 이 폴더 내에는, 다음과 같은 파일들이 있을 것이다. <WRAP center box 90%> list.skin.php view_skin.php view_comment.skin.php wrtie.skin.php write.update.skin.php </WRAP> 이름 그대로, 목록, 보기, 쓰기에 필요한 스킨들이다. 이 폴더에 'write_update.skin.php'라는 파일을 생성한다. 그리고 다음과 같이 위에서 데이터베이스에 새로 생성한 칼럼을 업데이트 할 수 있는 로직을 코딩한다. <file php "write_update.skin.php> <?php if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 $sql = " update $write_table set firmName = '$firmName' where wr_id = '$wr_id' "; sql_query($sql); ?> </file> <WRAP center round tip 90%> WHERE 절 이 전에는 콤마(,)를 붙이지 않는 것에 대하여 유의하라. </WRAP> ==== 2. 쓰기 기능 구현하기 ==== write.skin.php 파일을 다음과 같이 고친다. 다음 코드와 같이 $write다음 배열에 추가한 컬럼을 적으면 된다. <code php> <input type="text" name="wr_1" value="<?php echo $write['wr_1'] ?>" id="wr_1" required class="frm_input full_input required" size="50" maxlength="255" placeholder=""> <input type="text" name="firmName" value="<?php echo $write['firmName'] ?>" id="firmName" required class="frm_input full_input required" size="50" maxlength="255" placeholder=""> </code> 여분 필드인 wr_1이 이미 지정된 것에 반하여, 커스텀하게 만든 컬럼인 'firmName'이 역시 작용하는 것을 알 수 있다. {{:그누보드:확장필드쓰기기능스크린샷.png?600|확장필드쓰기기능스크린샷}} ==== 3. 읽기 기능 구현하기 ==== view.skin.php파일을 수정하면된다. 다음 코드와 같이 $view다음 배열에 추가한 컬럼을 짖어하면 된다. <code php> <ul> <li> 회사이름 </li> <li> <?php echo $view['firmName']; // 글제목 출력 ?> </li> </ul> </code> {{:그누보드:확장필드읽기기능스크린샷.png?600|확장필드읽기기능스크린샷}} ==== 4. 목록 기능 구현하기 ==== 목록은 list.skin.php 파일이다. 다음과 같이 $list[$i]다음에 해당 컬럼을 배열으로 주면 된다. <code php> <?php echo $list[$i]['firmName'] ?> </code> {{:그누보드:확장필드목록기능스크린샷.png?600|확장필드목록기능스크린샷}}
그누보드/확장필드만들기.txt
· 마지막으로 수정됨:
2025/09/15 15:05
저자
이거니맨
문서 도구
문서 보기
이전 판
역링크
맨 위로