게시판 글쓰기 페이지에 다음 주소 API 입력기 사용하기
게시판 글쓰기할 때 그누보드에 기본적으로 연동되어 있는 다음 주소 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.' '.$ex_addr1.' '.$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.' '.$ex_addr1.' '.$ex_addr2.$ex_addr3; ?>
댓글목록 +5
댓글목록
H3님의 댓글
H3 작성일
궁금한게 있는데요
리스트페이지에서는 어떻게 출력해야되나요?
<?php echo $list[$i]['wr_1'] ?> 이렇게 하니깐 전체 주소가 나오는데
<?php echo $ex_addr1; ?> 이부분만 나오게 하고 싶은데 안되네요 ㅜㅜ
방법좀 알려주시면 감사하겠습니다.
관리자님의 댓글의 댓글
관리자 작성일마지막 부분에 내용을 새로 추가해놨습니다.
H3님의 댓글
H3 작성일
아 정말 죄송한데요...
<?php echo $ex_addr1 ?> 이 주소만 불러와서 사용하려고 하는데 글씨가 너무 길어서요 10글자 넘으면 자르게 하고 싶은데 혹시 방법이 있을까요?
ㅜㅜ
관리자님의 댓글의 댓글
관리자 작성일yyy1866님의 댓글
yyy1866 작성일
write 게시판에서 주소 검색창까지 다 뜨고 입력까지 다 되는데요..
view 게시판에서 출력이 안나옵니다..
주소 : () <- 이렇게만 나오네여