게시판 글쓰기 페이지에 다음 주소 API 입력기 사용하기 - 게시판스킨강좌, 그누보드5강좌

본문 바로가기
전체검색

게시판스킨강좌

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

게시판 글쓰기 페이지에 다음 주소 API 입력기 사용하기

관리자 15-12-15 12:41

게시판 글쓰기할 때 그누보드에 기본적으로 연동되어 있는 다음 주소 API를 사용하는 방법입니다.

 

아래 예제는 wr_1 번 여분 필드를 배열을 사용해서 적용했습니다.

방법만 참고하시고 입력 필드는 상황에 맞게 수정해서 사용하세요.

 

 

1. write.skin.php 파일 상단에 아래 내용을 추가합니다. (빨간색 부분이 추가되었습니다.)

 

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

// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
// 주소입력
$addr = explode('|',$write['wr_1']);
$ex_zip  = $addr[0];
$ex_addr1  = $addr[1];
$ex_addr2  = $addr[2];
$ex_addr3  = $addr[3];
$ex_jibeon  = $addr[4];
?>
 

 

적당한 위치에 아래 내용을 추가합니다.


그누보드 5.2 버전 이하 basic 게시판 스킨 버전 예시

 

<tr>
    <th scope="row"><label for="wr_1">주소</label></th>
    <td>
        <label for="ex_zip" class="sound_only">우편번호</label>
        <input type="text" name="ex_zip" value="<?php echo $ex_zip; ?>" id="ex_zip"  class="frm_input" size="6" maxlength="6">
        <button type="button" class="btn_frmline" onclick="win_zip('fwrite', 'ex_zip', 'ex_addr1', 'ex_addr2', 'ex_addr3', 'ex_jibeon');">주소 검색</button><br>
        <input type="text" name="ex_addr1" value="<?php echo $ex_addr1; ?>" id="ex_addr1" class="frm_input frm_address" size="50">
        <label for="ex_addr1">기본주소</label><br>
        <input type="text" name="ex_addr2" value="<?php echo $ex_addr2; ?>" id="ex_addr2" class="frm_input frm_address" size="50">
        <label for="ex_addr2">상세주소</label>
        <br>
        <input type="text" name="ex_addr3" value="<?php echo $ex_addr3; ?>" id="ex_addr3" class="frm_input frm_address" size="50" readonly="readonly">
        <label for="ex_addr3">참고항목</label>
        <input type="hidden" name="ex_jibeon" value="<?php echo $ex_jibeon; ?>">
    </td>
</tr>
 



그누보드 5.3 버전 이상 basic 게시판 스킨 예시


<div class="write_div">
    <label for="ex_zip" class="sound_only">우편번호</label>
    <input type="text" name="ex_zip" value="<?php echo $ex_zip; ?>" id="ex_zip"  class="frm_input" size="6" maxlength="6">
    <button type="button" class="btn_frmline" onclick="win_zip('fwrite', 'ex_zip', 'ex_addr1', 'ex_addr2', 'ex_addr3', 'ex_jibeon');">주소 검색</button><br>
    <input type="text" name="ex_addr1" value="<?php echo $ex_addr1; ?>" id="ex_addr1" class="frm_input frm_address" size="50">
    <label for="ex_addr1">기본주소</label><br>
    <input type="text" name="ex_addr2" value="<?php echo $ex_addr2; ?>" id="ex_addr2" class="frm_input frm_address" size="50">
    <label for="ex_addr2">상세주소</label><br>
    <input type="text" name="ex_addr3" value="<?php echo $ex_addr3; ?>" id="ex_addr3" class="frm_input frm_address" size="50" readonly="readonly">
    <label for="ex_addr3">참고항목</label>
    <input type="hidden" name="ex_jibeon" value="<?php echo $ex_jibeon; ?>">
</div>
 



2. write_update.skin.php 파일 만들기 (basic 스킨에는 없는 파일이니 새로 생성합니다.)

 

파일 안의 내용은 다음과 같습니다.

 

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

// 주소
$wr_1 = "$ex_zip|$ex_addr1|$ex_addr2|$ex_addr3|$ex_jibeon";
sql_query(" update $write_table set wr_1 = '$wr_1' where wr_id = '$wr_id' ");
?>
 

 

3. view.skin.php 파일에 입력된 주소 출력하기

 

if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

상단 위 코드 바로 밑에 아래 내용을 추가합니다.

 

// 주소
$addr = explode('|',$view['wr_1']);
$ex_zip  = '('.$addr[0].')';
$ex_addr1  = $addr[1];
$ex_addr2  = $addr[2];
$ex_addr3  = $addr[3];
$ex_jibeon  = $addr[4];
 


그리고 원하는 위치에 아래 내용을 추가.

 

<?php echo $ex_zip; ?> <?php echo $ex_addr1; ?> <?php echo $ex_addr2; ?> <?php echo $ex_addr3; ?>

 

이렇게 붙여서 한꺼번에 해도 됩니다.

 

<?php echo $ex_zip.'&nbsp;'.$ex_addr1.'&nbsp;'.$ex_addr2.$ex_addr3; ?>


4. list.skin.php 파일에 입력된 주소 출력하기

for ($i=0; $i<count($list); $i++) {
여기 바로 아래에 추가
 

// 주소
$addr = explode('|',$list[$i]['wr_1']);
$ex_zip  = '('.$addr[0].')';
$ex_addr1  = $addr[1];
$ex_addr2  = $addr[2];
$ex_addr3  = $addr[3];
$ex_jibeon  = $addr[4];


그리고 아래 내용 중 원하는 부분만 추가. (view 페이지에서 했던 방법과 동일합니다.)

<?php echo $ex_zip; ?> <?php echo $ex_addr1; ?> <?php echo $ex_addr2; ?> <?php echo $ex_addr3; ?>


또는 이렇게 붙여서..


<?php echo $ex_zip.'&nbsp;'.$ex_addr1.'&nbsp;'.$ex_addr2.$ex_addr3; ?>

댓글목록 +5

댓글목록

profile_image

H3님의 댓글

H3 작성일

궁금한게 있는데요
리스트페이지에서는 어떻게 출력해야되나요?
<?php echo $list[$i]['wr_1'] ?> 이렇게 하니깐 전체 주소가 나오는데
<?php echo $ex_addr1; ?> 이부분만 나오게 하고 싶은데 안되네요 ㅜㅜ
방법좀 알려주시면 감사하겠습니다.

profile_image

관리자님의 댓글의 댓글

관리자 작성일

마지막 부분에 내용을 새로 추가해놨습니다.

profile_image

H3님의 댓글

H3 작성일

아 정말 죄송한데요...
<?php echo $ex_addr1 ?> 이 주소만 불러와서 사용하려고 하는데 글씨가 너무 길어서요 10글자 넘으면 자르게 하고 싶은데 혹시 방법이 있을까요?
ㅜㅜ

profile_image

yyy1866님의 댓글

yyy1866 작성일

write 게시판에서 주소 검색창까지 다 뜨고 입력까지 다 되는데요..
view 게시판에서 출력이 안나옵니다..
주소 : ()  <- 이렇게만 나오네여

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

로그인

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

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

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

Copyright gnustudy.com All rights reserved.