여분필드를 활용한 게시판 스킨 제작 - 기초 예제1-1 (글쓰기 페이지) > 그누보드 게시판스킨 강좌

본문 바로가기
전체검색

아이디비번찾기

그누보드 게시판스킨 강좌

그누보드 영카트 초보 사용자를 위한 기본 매뉴얼, 스킨 제작 기초강좌를 공유합니다.

여분필드를 활용한 게시판 스킨 제작 - 기초 예제1-1 (글쓰기 페이지)

페이지 정보

작성자 관리자 작성일15-10-03 13:35 조회4,810회

본문

그누보드 게시판스킨 강좌

write.skin.php 파일 수정하기


 
여분 필드를 활용해서 실제 스킨 파일에 어떻게 사용할 수 있는지 간단한 예제를 통해 살펴보겠습니다
샘플 소스는 그누보드5 basic 게시판 스킨을 사용했습니다.

우선 write.skin.php 글쓰기 페이지에 여분 필드를 활용해 입력 항목을 추가합니다.
이번 예제는 스샷처럼 여분필드 3개를 사용하겠습니다.​
 
여분필드 wr_1 : 나이
여분필드 wr_2 : 연락처
여분필드 wr_3 : 카카오톡
 
지난 강좌에서 설명드렸지만 input 박스에 있는 required 부분은 필수 입력을 뜻합니다.
필수 입력이 아닌 선택 입력으로 하고 싶으시면 required 부분만 삭제하면 됩니다.
 
* 빨간색으로 강조된 부분이 수정되거나 새로 추가한 부분입니다.

 

 

 

 

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
?>

<section id="bo_w">
    <h2 id="container_title"><?php echo $g5['title'] ?></h2>

    <!-- 게시물 작성/수정 시작 { -->
    <form name="fwrite" id="fwrite" action="<?php echo $action_url ?>" onsubmit="return fwrite_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off" style="width:<?php echo $width; ?>">
    <input type="hidden" name="uid" value="<?php echo get_uniqid(); ?>">
    <input type="hidden" name="w" value="<?php echo $w ?>">
    <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
    <input type="hidden" name="wr_id" value="<?php echo $wr_id ?>">
    <input type="hidden" name="sca" value="<?php echo $sca ?>">
    <input type="hidden" name="sfl" value="<?php echo $sfl ?>">
    <input type="hidden" name="stx" value="<?php echo $stx ?>">
    <input type="hidden" name="spt" value="<?php echo $spt ?>">
    <input type="hidden" name="sst" value="<?php echo $sst ?>">
    <input type="hidden" name="sod" value="<?php echo $sod ?>">
    <input type="hidden" name="page" value="<?php echo $page ?>">
    <?php
    $option = '';
    $option_hidden = '';
    if ($is_notice || $is_html || $is_secret || $is_mail) {
        $option = '';
        if ($is_notice) {
            $option .= "\n".'<input type="checkbox" id="notice" name="notice" value="1" '.$notice_checked.'>'."\n".'<label for="notice">공지</label>';
        }

        if ($is_html) {
            if ($is_dhtml_editor) {
                $option_hidden .= '<input type="hidden" value="html1" name="html">';
            } else {
                $option .= "\n".'<input type="checkbox" id="html" name="html" onclick="html_auto_br(this);" value="'.$html_value.'" '.$html_checked.'>'."\n".'<label for="html">html</label>';
            }
        }

        if ($is_secret) {
            if ($is_admin || $is_secret==1) {
                $option .= "\n".'<input type="checkbox" id="secret" name="secret" value="secret" '.$secret_checked.'>'."\n".'<label for="secret">비밀글</label>';
            } else {
                $option_hidden .= '<input type="hidden" name="secret" value="secret">';
            }
        }

        if ($is_mail) {
            $option .= "\n".'<input type="checkbox" id="mail" name="mail" value="mail" '.$recv_email_checked.'>'."\n".'<label for="mail">답변메일받기</label>';
        }
    }

    echo $option_hidden;
    ?>

    <div class="tbl_frm01 tbl_wrap">
        <table>
        <tbody>
        <?php if ($is_name) { ?>
        <tr>
            <th scope="row"><label for="wr_name">이름<strong class="sound_only">필수</strong></label></th>
            <td><input type="text" name="wr_name" value="<?php echo $name ?>" id="wr_name" required class="frm_input required" size="10" maxlength="20"></td>
        </tr>
        <?php } ?>

        <?php if ($is_password) { ?>
        <tr>
            <th scope="row"><label for="wr_password">비밀번호<strong class="sound_only">필수</strong></label></th>
            <td><input type="password" name="wr_password" id="wr_password" <?php echo $password_required ?> class="frm_input <?php echo $password_required ?>" maxlength="20"></td>
        </tr>
        <?php } ?>

        <?php if ($is_email) { ?>
        <tr>
            <th scope="row"><label for="wr_email">이메일</label></th>
            <td><input type="text" name="wr_email" value="<?php echo $email ?>" id="wr_email" class="frm_input email" size="50" maxlength="100"></td>
        </tr>
        <?php } ?>

        <?php if ($is_homepage) { ?>
        <tr>
            <th scope="row"><label for="wr_homepage">홈페이지</label></th>
            <td><input type="text" name="wr_homepage" value="<?php echo $homepage ?>" id="wr_homepage" class="frm_input" size="50"></td>
        </tr>
        <?php } ?>

        <tr>
            <th scope="row"><label for="wr_1">나이</label></th>
            <td><input type="text" name="wr_1" value="<?php echo $write['wr_1'] ?>" id="wr_1" required class="frm_input" size="20"></td>
        </tr>

        <tr>
            <th scope="row"><label for="wr_2">연락처</label></th>
            <td><input type="text" name="wr_2" value="<?php echo $write['wr_2'] ?>" id="wr_2" required class="frm_input" size="20"></td>
        </tr>

        <tr>
            <th scope="row"><label for="wr_3">카카오톡</label></th>
            <td><input type="text" name="wr_3" value="<?php echo $write['wr_3'] ?>" id="wr_3" required class="frm_input" size="20"></td>
        </tr>

        <?php if ($option) { ?>
        <tr>
            <th scope="row">옵션</th>
            <td><?php echo $option ?></td>
        </tr>
        <?php } ?>

        <?php if ($is_category) { ?>
        <tr>
            <th scope="row"><label for="ca_name">분류<strong class="sound_only">필수</strong></label></th>
            <td>
                <select name="ca_name" id="ca_name" required class="required" >
                    <option value="">선택하세요</option>
                    <?php echo $category_option ?>
                </select>
            </td>
        </tr>
        <?php } ?>

        <tr>
            <th scope="row"><label for="wr_subject">제목<strong class="sound_only">필수</strong></label></th>
            <td>
                <div id="autosave_wrapper">
                    <input type="text" name="wr_subject" value="<?php echo $subject ?>" id="wr_subject" required class="frm_input required" size="50" maxlength="255">
                    <?php if ($is_member) { // 임시 저장된 글 기능 ?>
                    <script src="<?php echo G5_JS_URL; ?>/autosave.js"></script>
                    <?php if($editor_content_js) echo $editor_content_js; ?>
                    <button type="button" id="btn_autosave" class="btn_frmline">임시 저장된 글 (<span id="autosave_count"><?php echo $autosave_count; ?></span>)</button>
                    <div id="autosave_pop">
                        <strong>임시 저장된 글 목록</strong>
                        <div><button type="button" class="autosave_close"><img src="<?php echo $board_skin_url; ?>/img/btn_close.gif" alt="닫기"></button></div>
                        <ul></ul>
                        <div><button type="button" class="autosave_close"><img src="<?php echo $board_skin_url; ?>/img/btn_close.gif" alt="닫기"></button></div>
                    </div>
                    <?php } ?>
                </div>
            </td>
        </tr>

        <tr>
            <th scope="row"><label for="wr_content">내용<strong class="sound_only">필수</strong></label></th>
            <td class="wr_content">
                <?php if($write_min || $write_max) { ?>
                <!-- 최소/최대 글자 수 사용 시 -->
                <p id="char_count_desc">이 게시판은 최소 <strong><?php echo $write_min; ?></strong>글자 이상, 최대 <strong><?php echo $write_max; ?></strong>글자 이하까지 글을 쓰실 수 있습니다.</p>
                <?php } ?>
                <?php echo $editor_html; // 에디터 사용시는 에디터로, 아니면 textarea 로 노출 ?>
                <?php if($write_min || $write_max) { ?>
                <!-- 최소/최대 글자 수 사용 시 -->
                <div id="char_count_wrap"><span id="char_count"></span>글자</div>
                <?php } ?>
            </td>
        </tr>

.................................

.................................

이하 생략...

.................................

로그인 후 댓글을 남겨주세요.
그누보드 게시판스킨 강좌 목록
번호 제목
공지 게시판 스킨 강좌 공지사항입니다.
69 스크랩 버튼 비회원에게도 노출시키기 댓글1
68 댓글 목록에서 내가 작성한 글만 출력하기
67 갤러리형 게시판에서 첨부된 사진이 없을 때 no image를 이미지로 출력
66 게시판 스킨을 분류별로 각각 다르게 설정했을 때 스킨 수정 안내
65 패스워드 지정 비밀글 게시판 만들기
64 링크 입력 특정 게시판에서만 삭제하기
63 목록 페이지에 특정 이미지 원본 선택해서 출력하기
62 게시판 스킨 제작할 때 이미지 경로 설정 방법
61 모바일 내용 관리 페이지에서 상단 하단 파일을 별도로 관리하는 방법
60 비밀글 체크박스 디폴트 값을 체크 상태로 설정하기
59 게시판 설정에 있는 여분 필드 사용 예제
58 글쓰기 페이지에서 링크 입력 문구 변경하기
57 목록에서 tr 배경색 구분
56 첨부파일 등록할 때 원하는 곳에 따로따로 입력하기
55 글쓰기 페이지에서 첨부 파일 문구를 각각 다르게 출력
54 게시판 글 번호 역순으로 정렬 1번부터 시작
53 [그누보드5.3] 게시판에 회원 이미지 출력하는 방법
52 유튜브 동영상 API 썸네일 이미지 자동 출력 댓글1
51 댓글 바로가기 링크 주소 얻기 댓글1
50 게시판 목록에서 첨부 파일 다운받기
49 목록페이지 상단에 내글 보기 버튼 생성
48 목록에서 첨부파일 아이콘 출력할 때 이미지 파일은 구분해서 출력
47 게시판 글쓰기 버튼 항상 보이게 처리
46 여분필드를 활용한 게시판 스킨 제작 - 댓글 쓰기 페이지에 적용하는 방법
45 게시판 목록에 있는 분류탭 메뉴를 view 페이지에서도 그대로 출력
44 게시판 스킨을 분류별로 각각 다르게 사용하는 방법
43 댓글 목록에서 본문글을 올린 회원이 작성한 댓글은 강조하기
42 최근 댓글이 등록된 게시물 순서대로 리스트 재정렬
41 모바일 게시판에서 상단 하단 파일을 별도로 관리하는 방법
40 10개 이상의 여분필드를 사용할 때 게시판 생성 단계에서부터 추가하기 댓글3
39 신청서나 예약 게시판 등에서 글을 작성할 때 회원 정보에 있는 값 가져오기 댓글2
38 리스트 정렬 필드를 여분필드값 기준으로 정렬하는 방법
37 새 코멘트가 등록되었을 때 게시판 목록에 new 아이콘 출력 댓글6
36 기본 gallery 스킨에서 공지사항도 썸네일 이미지 출력
35 링크 주소 입력 개수 늘리는 방법
34 글 보기 페이지에 이전글 다음글 제목 날짜 출력 댓글1
33 본문 페이지에서 특정 이미지를 선택해서 출력하는 방법
32 코멘트 비밀글 체크박스 삭제시 문제 해결
31 본문에 댓글을 남겼는지 체크해서 활용하기 댓글5
게시물 검색


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

Copyright © GNUSTUDY. All rights reserved.
상단으로