여분필드를 활용한 게시판 스킨 제작 - 여분 필드 10개 이상 사용하기
그누보드 여분 필드는 이전 강좌에서 살펴본 것과 같이 wr_1 부터 wr_10 까지 총 10개만 제공하고 있습니다.
10개도 적당해 보이긴 하지만 스킨 제작하면서 부족할 경우 참고해서 추가하면 됩니다.
방법은 어렵지 않습니다.
원하는 게시판 테이블에 wr_11, wr_12.... 등과 같이 필드를 생성하고 update 쿼리에서 추가하면 됩니다.
wr_10번 까지는 별도로 수정하지 않아도 이 과정들이 모두 기본으로 적용되어 있어서 그냥 가져다 쓰면 되지만 10번 이후부터는 저런 부분들을 수정해야 사용할 수 있습니다.
어떻게 생성하고 추가해야 하는지 좀 더 자세하게 살펴보겠습니다.
1. 필드 생성
phpMyAdmin 을 이용해서 원하는 개수만큼 필드를 생성합니다.
- 좌측에서 필드를 추가하고 싶은 게시판 테이블 선택
(게시판 테이블 이름은 g5_write_notice 형식으로 되어 있습니다. 뒤에 notice 부분이 게시판id 입니다)
- 상단 탭 메뉴에서 구조 클릭
- Add [10] field(s) 입력란에 원하는 개수 추가 (예를 들어 10개를 추가해보겠습니다)
- 위치는 wr_10 다음에 (wr_10 필드가 마지막에 있으므로 테이블의 마지막으로 선택해도 됩니다)
- 실행
기존에 있던 wr_10 번까지의 여분 필드와 동일한 형식으로 입력합니다.
모두 입력 후 저장 클릭!
정상적으로 추가되었는지 확인하세요.
기존 여분 필드와 필드 속성들이 동일한지 체크
2. 스킨 파일 수정
스킨 폴더 안에 write_update.skin.php 파일을 새로 생성하고 내용은 이렇게 하세요.
기본 스킨에는 이 파일이 없을 겁니다.
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$sql = " update $write_table
set wr_11 = '$wr_11',
wr_12 = '$wr_12',
wr_13 = '$wr_13',
wr_14 = '$wr_14',
wr_15 = '$wr_15',
wr_16 = '$wr_16',
wr_17 = '$wr_17',
wr_18 = '$wr_18',
wr_19 = '$wr_19',
wr_20 = '$wr_20'
where wr_id = '$wr_id' ";
sql_query($sql);
?>
* 유의 사항
마지막 이 부분 끝에는 쉼표가 절대 들어가면 안 됩니다. 나머지 변수는 쉼표를 꼭 넣어야 하고요.
wr_20 = '$wr_20'
여기서 실수하시는 분들이 꽤 많습니다.
추가된 개수에 상관없이 항상 마지막에는 쉼표를 제거하세요.
* 새로 추가한 필드에 정상적으로 값이 저장 및 수정되는지 확인
write.skin.php 파일에 추가해서 테스트
<input type="text" name="wr_11" value="<?php echo $write['wr_11'] ?>" id="wr_11" class="frm_input" size="20">
....
....
처음엔 기존 여분 필드와 똑같은 형식으로 추가해보면서 완벽하게 이해를 하신 상태에서
이후에는 필요에 따라 필드명을 원하는 이름으로 생성해도 되고 필드 타입도 변경해서 사용해도 됩니다.
wr_11 이런 필드명은 용도를 한눈에 파악하기 어려운 면도 있죠.
* 유의사항
11번 이후부터는 입력 페이지에서 value 값을 넣을 때 반드시 <?php echo $write['wr_11'] ?> 이렇게 해야 합니다.
간혹 <?php echo $wr_11 ?> 이렇게만 하시는 분들이 계시던데 수정 모드일 때 저장된 값을 불러오지 못합니다.
이유는 bbs/write.php 파일에서 $wr_ 가변 변수가 10번까지만 설정되어 있기 때문입니다.
여기서 수정해도 되긴 하지만 위 방법처럼 스킨에서 처리하는게 나중에 보안패치할 때 좋겠죠.
// 가변 변수로 $wr_1 .. $wr_10 까지 만든다.
for ($i=1; $i<=10; $i++) {
$vvar = "wr_".$i;
$$vvar = $write['wr_'.$i];
}
'Tip&Tech > 아마니&그누보드' 카테고리의 다른 글
유튜브 썸네일 블랙바 생기는 것 고친 것 같습니다. (0) | 2024.01.03 |
---|---|
게시판 본문 내용 글자 수 제한 해제하기 - 글 내용이 잘리는 문제 해결 방법 (0) | 2022.10.28 |
링크 주소 입력 개수 늘리는 방법 (0) | 2022.10.26 |
영화 예고편과 네이버 영화 깔끔하게 넣기 [iframe 태그] (0) | 2022.10.22 |
HTML - 이미지(img) 태그 와 src, width, height, alt 속성 텍스트 표시 (6) (0) | 2021.11.26 |