여분필드를 활용한 게시판 스킨 제작 - 여분 필드 10개 이상 사용하기 - 게시판스킨강좌, 그누보드5강좌

본문 바로가기
전체검색

게시판스킨강좌

그누보드, 영카트 초보 제작자분들을 위한 다양한 스킨 제작 활용 팁을 공유합니다.

여분필드를 활용한 게시판 스킨 제작 - 여분 필드 10개 이상 사용하기

관리자 16-12-23 02:24

그누보드 여분 필드는 이전 강좌에서 살펴본 것과 같이 wr_1 부터 wr_10 까지 총 10개만 제공하고 있습니다. 

10개도 적당해 보이긴 하지만 스킨 제작하면서 부족할 경우 참고해서 추가하면 됩니다.

 

방법은 어렵지 않습니다. 

원하는 게시판 테이블에 wr_11, wr_12.... 등과 같이 필드를 생성하고 update 쿼리에서 추가하면 됩니다.

wr_10번 까지는 별도로 수정하지 않아도 이 과정들이 모두 기본으로 적용되어 있어서 그냥 가져다 쓰면 되지만 10번 이후부터는 저런 부분들을 수정해야 사용할 수 있습니다.

 

어떻게 생성하고 추가해야 하는지 좀 더 자세하게 살펴보겠습니다.

 

 

1. 필드 생성

 

phpMyAdmin 을 이용해서 원하는 개수만큼 필드를 생성합니다.

 

712f1a743575afa4c209e866e6043667_1482597439_7783.png
 

- 좌측에서 필드를 추가하고 싶은 게시판 테이블 선택

  (게시판 테이블 이름은 g5_write_notice 형식으로 되어 있습니다. 뒤에 notice 부분이 게시판id 입니다)

- 상단 탭 메뉴에서 구조 클릭

Add [10] field(s) 입력란에 원하는 개수 추가 (예를 들어 10개를 추가해보겠습니다)

- 위치는 wr_10 다음에 (wr_10 필드가 마지막에 있으므로 테이블의 마지막으로 선택해도 됩니다)

- 실행

 

 

712f1a743575afa4c209e866e6043667_1482598804_5235.png
 

기존에 있던 wr_10 번까지의 여분 필드와 동일한 형식으로 입력합니다.

모두 입력 후 저장 클릭!

 

 

712f1a743575afa4c209e866e6043667_1482599082_5352.png
 

정상적으로 추가되었는지 확인하세요.

기존 여분 필드와 필드 속성들이 동일한지 체크

 

 

 

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">

....

....

712f1a743575afa4c209e866e6043667_1482600757_1745.gif



처음엔 기존 여분 필드와 똑같은 형식으로 추가해보면서 완벽하게 이해를 하신 상태에서

이후에는 필요에 따라 필드명을 원하는 이름으로 생성해도 되고 필드 타입도 변경해서 사용해도 됩니다.

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];
}

댓글목록 +8

댓글목록

profile_image

서치마이잡님의 댓글

서치마이잡 작성일

정말 감사합니다. 엄청난 도움이 되엇습니다.^^

profile_image

관리자님의 댓글

관리자 작성일

phpmyadmin 사용이 곤란하다면 아래 플러그인을 사용하세요.
https://sir.kr/g5_plugin/867

profile_image

토리님의 댓글

토리 작성일

저도 많은 도움이 되었으면 합니다. 감사합니다~

profile_image

킹맥스님의 댓글

킹맥스 작성일

감사합니다

profile_image

BlueSky님의 댓글

BlueSky 작성일

게시판에 11~21번까지 추가 생성하여 적용했습니다. 1~10번까지 저장되고..11~21번은 에디터에서 수정하고 저장을 누르면 저장이 안됩니다...어떤 부분을 수정해야 하나요?...ㅠㅠ

profile_image

관리자님의 댓글의 댓글

관리자 작성일

여분 필드에 에디터를 사용하려면 추가 수정을 더 해야 합니다.
http://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=14

profile_image

BlueSky님의 댓글의 댓글

BlueSky 작성일

에디터 적용을 하지 않고서는 저장을 할수 없나요?...1~10번은 저장이 됩니다....11번 부터..그 이후는 저자이 안되는 이유가 뭘까요?..write_update.php 에서...추가된 여분 필드 적용하면 저장이 됩니다.. 근데 다른 게시판에서는 저장이 안되는 현상이 발생됩니다....ㅠㅠ

profile_image

관리자님의 댓글의 댓글

관리자 작성일

이해를 잘못하고 계시는 것 같습니다. 처음 질문을 잘 못 하신 것 같은데..
에디터에서 수정하고 저장했다고 하셔서 에디터는 추가 수정을 더 해야 한다고 답변을 드렸습니다.
강좌 내용과 똑같이 직접 해봤지만 잘 됩니다. 꼼꼼히 체크를 해보세요.

로그인 후 댓글 작성 가능합니다.

로그인

로그인 후 글 작성 가능합니다.
그누스킨닷컴

그누스터디는 그누보드, 영카트를 이용하시는 초보 사용자를 위한 정보를 공유합니다.

E-MAIL : gnustudy@naver.com / 카카오톡 : gnustudy / 텔레그램 : gnustudy
제작 문의를 제외한 일반 문의는 QA 게시판을 이용해주세요.

Copyright gnustudy.com All rights reserved.