그누커머스 게시판 폼 이용하기?

그누커머스 게시판 폼 이용하기?

QA

그누커머스 게시판 폼 이용하기?

본문

안녕하세요

게시판 에 폼을 추가 하고 싶습니다.

ex)

1. 지역 [서울|부산|...] 셀렉트 박스

2. 나이 [20대|30대|...] 셀렉트 박스

3. 요청사항 [자유롭게] 텍스트박스

4. 하고싶은말 [자유롭게]

.....

 

이렇게 작성해서 글쓰기 누르면

위 정보들이 글 내용을 볼때 다 나오게 하고 싶습니다.

예전에 질문드린

meta_table을 이용해야 하는것 같은데


add_action('write_update_metadata', 'write_custom_meta_hook', 10, 2); //글을 쓰거나 글을 수정할때 쓰는 hook 

function write_custom_meta_hook($wr_id, $w){
if( $w == '' ){ //글 입력
} else if ($w == 'u') { //글 수정
}

//메타데이터
$etc_array = array();

$input_posts = array(
'wr_1', //여분필드1
'wr_2', //여분필드2
'wr_3', //여분필드3 
'wr_4', //여분필드4 
'wr_5', //여분필드5 
'wr_6', //여분필드6 
'wr_7', //여분필드7 
'wr_8', //여분필드8 
);

foreach( $input_posts as $p ){
$etc_array[$p] = isset($_POST[$p]) ? sanitize_text_field($_POST[$p]) : '';
}

update_metadata( GCBOARD_META_TYPE, $wr_id, 'etc_inputs', $etc_array ); //메타데이터를 업데이트
 
}

 

여기서 wr_1 2 3 이런 여분필드를 어떻게 사용하는지 잘 모르겠습니다. ㅜㅜ

 

현재 write.skin.php 에


<td>항목이름</td>
   <td><input type='text' name='wr_1' itemname="항목이름" value='<?=$write["wr_1"]?>' > </td>

를 넣고

view.skin.php 에


<div><?=$view[wr_1]?></div>

를 넣으니 '항목이름'이라는 필드가 생기긴 하는데요 글 작성시 '항목이름'이라는 필드에 넣은 내용이 글볼때는 나오지 않네요 이렇게 하는게 맞는는건지 잘 모르겠습니다

도움 부탁드립니다. 

이 질문에 댓글 쓰기 :

답변 1

write.skin.php 에서는

 


//메타 데이터 초기화
$input_posts = array(
'wr_1' => '', //여분필드1
'wr_2' => '', //여분필드2
'wr_3' => '', //여분필드3 
'wr_4' => '', //여분필드4 
'wr_5' => '', //여분필드5 
'wr_6' => '', //여분필드6 
'wr_7' => '', //여분필드7 
'wr_8' => '', //여분필드8 
);
 
$input_posts = wp_parse_args(get_metadata(GCBOARD_META_TYPE, $wr_id, 'etc_inputs', true ), $input_posts);
 
<td>항목이름</td>
   <td><input type='text' name='wr_1' itemname="항목이름" value="<?php echo $input_posts['wr_1']?>" > </td>
 

 

이렇게 가져오고

 

 

 

view.skin.php 에서는 

 


//메타 데이터 초기화
$input_posts = array(
'wr_1' => '', //여분필드1
'wr_2' => '', //여분필드2
'wr_3' => '', //여분필드3 
'wr_4' => '', //여분필드4 
'wr_5' => '', //여분필드5 
'wr_6' => '', //여분필드6 
'wr_7' => '', //여분필드7 
'wr_8' => '', //여분필드8 
);
 
$input_posts = wp_parse_args(get_metadata(GCBOARD_META_TYPE, $wr_id, 'etc_inputs', true ), $input_posts);
 
<div><?php echo $input_posts['wr_1']?></div> 
 

 

이렇게 가져오면 됩니다.

write.skin.php에
처음부분에


<?php
if (!defined('ABSPATH')) exit; // 개별 페이지 접근 불가
//메타 데이터 초기화
$input_posts = array(
'wr_1' => '', //여분필드1
'wr_2' => '', //여분필드2
'wr_3' => '', //여분필드3 
'wr_4' => '', //여분필드4 
'wr_5' => '', //여분필드5 
'wr_6' => '', //여분필드6 
'wr_7' => '', //여분필드7 
'wr_8' => '', //여분필드8 
);
 
$input_posts = wp_parse_args(get_metadata(GCBOARD_META_TYPE, $wr_id, 'etc_inputs', true ), $input_posts);
//여기까지넣었습니다

if($board['bo_use_tag'])    //게시판 설정에서 태그 기능을 사용한다면

120번째줄쯤

<tr>
            <td>항목이름</td>
   <td><input type='text' name='wr_1' itemname="항목이름" value="<?php echo $input_posts['wr_1']?>" > </td>
//여기까지 넣었습니다
   		<tr>
            <td class="wr_content" colspan="2">
                <label for="wr_content" class="block_label"><strong><?php _e('내용', GC_NAME);?></strong><strong class="sound_only"><?php _e('필수', GC_NAME);?></strong></label>
                <?php if($write_min || $write_max) { ?>
                <!-- 최소/최대 글자 수 사용 시 -->

이렇게 넣고
list.skin.php에는

<?php
if (!defined('ABSPATH')) exit; // 개별 페이지 접근 불가
//메타 데이터 초기화
$input_posts = array(
'wr_1' => '', //여분필드1
'wr_2' => '', //여분필드2
'wr_3' => '', //여분필드3 
'wr_4' => '', //여분필드4 
'wr_5' => '', //여분필드5 
'wr_6' => '', //여분필드6 
'wr_7' => '', //여분필드7 
'wr_8' => '', //여분필드8 
);
$input_posts = wp_parse_args(get_metadata(GCBOARD_META_TYPE, $wr_id, 'etc_inputs', true ), $input_posts);
// 선택옵션으로 인해 셀합치기가 가변적으로 변함
$colspan = 5;

80번째줄쯤

<!-- } 게시판 페이지 정보 및 버튼 끝 -->
    
    <form name="fboardlist" id="fboardlist" action="<?php echo $fboardlist_action_url; ?>" onsubmit="return fboardlist_submit(this);" method="post">
    <?php wp_nonce_field( 'gc_list', 'gc_nonce_field' ); ?>
    <input type="hidden" name="action" value="">
    <input type="hidden" name="board_page_id" value="<?php echo $post->ID?>" >
    <input type="hidden" name="bo_table" value="<?php echo esc_attr( $bo_table ); ?>">
    <input type="hidden" name="sfl" value="<?php echo esc_attr( $sfl ); ?>">
    <input type="hidden" name="stx" value="<?php echo esc_attr( $stx ); ?>">
    <input type="hidden" name="spt" value="<?php echo esc_attr( $spt ); ?>">
    <input type="hidden" name="sca" value="<?php echo esc_attr( $sca ); ?>">
    <input type="hidden" name="page" value="<?php echo esc_attr( $page ); ?>">
    <input type="hidden" name="sw" value="">

 
<div><?php echo $input_posts['wr_1']?></div> 
 //여기에 넣었습니다.


    <?php if( $board['bo_use_tag'] ){ //게시판에서 태그기능을 사용한다면... ?>

위처럼 했는데 글을 읽을때 나오지 않네요.
ㅜㅜ

write.skin.php 에서는 그렇게 하는게 맞습니다.

list.skin.php 에서는 그렇게 하면 안됩니다.

아래 게시물을 참고해 주세요.

http://sir.kr/qa/110887?stx=metadata&sst=wr_num&unanswered=0&s_tag=%EA%B7%B8%EB%88%84%EC%BB%A4%EB%A8%B8%EC%8A%A4

감사합니다.
그런데 list.skin.php 는 글 목록을 볼때 사용하는 건가요?
저는 본문 내용에서 보기를 원하는데 그럼


//메타 데이터 초기화
$input_posts = array(
'wr_1' => '', //여분필드1
'wr_2' => '', //여분필드2
'wr_3' => '', //여분필드3 
'wr_4' => '', //여분필드4 
'wr_5' => '', //여분필드5 
'wr_6' => '', //여분필드6 
'wr_7' => '', //여분필드7 
'wr_8' => '', //여분필드8 
);
 
$input_posts = wp_parse_args(get_metadata(GCBOARD_META_TYPE, $wr_id, 'etc_inputs', true ), $input_posts);
 
<div><?php echo $input_posts['wr_1']?></div> 

는 view.skin.php에 넣어줘야 하나요?
148번째줄에 아래처럼 넣어봤는데 안되네요

<!-- 본문 내용 시작 { -->
        <div id="bo_v_con"><?php echo $view['wr_1'] ?><?php echo gc_get_view_thumbnail($view['content'],  $board['bo_image_width']); ?></div>

답변을 작성하시기 전에 로그인 해주세요.
전체 123,672 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT