1. 필드 등록 (관리자)
- 관리자 → 게시판 관리
- 원하는 게시판 행의 보라색 아이콘 클릭
- 모달에서 + 새 필드 클릭
- 아래 항목 입력 후 저장
| 항목 | 설명 |
|---|---|
| 필드 키 | 영문/숫자/_ 만 가능. 생성 후 변경 불가. 예) price , location |
| 필드 라벨 | 사용자에게 보이는 이름. 예) 가격 , 지역 |
| 타입 | 텍스트 / 숫자 / 선택(드롭다운) / 라디오 / 체크박스 / 날짜 / URL / 전화번호 / 텍스트에어리어 |
| 필수 | 체크 시 글쓰기 폼에서 필수 입력 |
| 목록 노출 | 게시판 목록 페이지에서 컬럼으로 표시 |
| 검색 필터 | 목록 페이지에서 검색/필터 조건으로 사용 |
| 뷰 노출 | 글 상세 페이지에서 값 표시 |
| 정렬 순서 | 숫자가 낮을수록 위에 표시 |
2. 스킨에서 사용하기
스킨 파일 경로: boards/skins/{스킨명}/
중요: 스킨 파일 상단에 아래 한 줄을 추가해야 합니다
require_once DX_ROOT . '/core/BoardFields.php';
3. 글쓰기 / 수정 (write.php)
기본 사용 — 자동 렌더링
<?php require_once DX_ROOT . '/core/BoardFields.php'; ?>
<form method="post" ...>
<!-- 기존 제목, 내용 등 폼 필드 -->
<input type="text" name="title" ...>
<!-- 여분 필드 자동 출력 -->
<?php
/* 수정 시 기존 값 로드, 신규 시 빈 배열 */
$savedMeta = array();
if (!empty($post['id'])) {
$savedMeta = dx_board_fields()->getMeta($post['id']);
}
echo dx_board_fields()->renderWriteForm($board['id'], $savedMeta);
?>
<button type="submit">저장</button>
</form>
renderWriteForm() 이 자동으로 각 필드 타입에 맞는 HTML 입력 요소를 생성합니다.
저장은 extend/top/50_board_fields.php 훅이 자동 처리하므로 별도 저장 코드 불필요.
필드 이름 규칙
여분 필드의 name 속성은 자동으로 bf_{필드키} 형식으로 생성됩니다.
필드 키: price → <input name="bf_price">
필드 키: location → <input name="bf_location">
4. 글 상세 보기 (view.php)
기본 사용 — 자동 렌더링
<?php require_once DX_ROOT . '/core/BoardFields.php'; ?>
<!-- 글 본문 출력 -->
<div class="content"><?php echo $post['content']; ?></div>
<!-- 여분 필드 자동 출력 (is_view=1 인 필드만 표시) -->
<?php echo dx_board_fields()->renderView($board['id'], $post['id']); ?>
게시판 여분 필드 (Board Extra Fields) 사용 가이드