그누커머스 동적선택

그누커머스 동적선택

QA

그누커머스 동적선택

본문

안녕하세요

write.skin.php에 아래와 같이 동적 다중선택을 구현했는데

제목에 wr_1 과 wr_subject 가 동시에 출력되게 할려면 어떻게 해야 할까요?

 

data: {
                        "action": "gc_bss_filter",
                        "subject": f.wr_subject.value,
                        "content": f.wr_content.value 이쪽을 건들여야 할것같은데 도무지 모르겠네요...

-------------------------------------------------------------------------------------

 

<script type="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<select name="wr_1" id="wr_1">
<option value="">선택</option>
<option value="000">000</option>
<option value="111">111</option>
<option value="222">222</option>
<option value="333">333</option>
<option value="444">444</option>
</select>


<script>
$("#wr_1").change(function() {
var idx = $(this).children(":selected").index();
$("select[name=wr_subject]").empty().html("<option value=\"\">선택</option>").attr("disabled",true);
if (idx == "1") {
$("select[name=wr_subject]").attr("disabled",false).html("<option value=\"\">선택</option><option value=\"ㄱㄱㄱ\">ㄱㄱㄱ</option><option value=\"ㄴㄴㄴ\">ㄴㄴㄴ</option><option value=\"ㄷㄷㄷ\">ㄷㄷㄷ</option><option value=\"ㄹㄹㄹ\">ㄹㄹㄹ</option>");
}
if (idx == "2") {
$("select[name=wr_subject]").attr("disabled",false).html("<option value=\"\">선택</option><option value=\"ㅛㅛㅛ\">ㅛㅛㅛ</option><option value=\"ㅜㅜㅜ\">ㅜㅜㅜ</option><option value=\"ㅓㅓㅓ\">ㅓㅓㅓ</option><option value=\"ㅑㅑㅑ\">ㅑㅑㅑ</option><option value=\"ㅣㅣㅣ\">ㅣㅣㅣ</option><option value=\"ㅏㅏㅏ\">ㅏㅏㅏ</option><option value=\"ㅔㅔㅔ\">ㅔㅔㅔ</option>");
}
if (idx == "3") {
$("select[name=wr_subject]").attr("disabled",false).html("<option value=\"\">선택</option><option value=\"aaa\">aaa</option><option value=\"bbb\">bbb</option><option value=\"ccc\">ccc</option><option value=\"ddd\">ddd</option><option value=\"eee\">eee</option>");
}
if (idx == "4") {
$("select[name=wr_subject]").attr("disabled",false).html("<option value=\"\">선택</option><option value=\"qqq\">qqq</option><option value=\"www\">www</option><option value=\"eee\">eee</option><option value=\"rrr\">rrr</option><option value=\"ttt\">ttt</option><option value=\"aaa\">aaa</option>");
}
if (idx == "5") {
$("select[name=wr_subject]").attr("disabled",false).html("<option value=\"\">선택</option><option value=\"111\">111</option><option value=\"222\">222</option><option value=\"333\">333</option><option value=\"444\">444</option><option value=\"555\">555</option><option value=\"666\">666</option><option value=\"777\">777</option><option value=\"888\">888</option>");
}
});
</script>


<select name="wr_subject"id="wr_subject"disabled="disabled">
<option value="">선택</option>
</select>
 

이 질문에 댓글 쓰기 :

답변 1

게시판 목록 화면과 글 보기 화면에서

 

제목에 wr_1 과 wr_subject 가 동시에 출력되게 할려고 한다는 말씀이시죠? 

 

 

그렇게 할려면 먼저

 

글 등록을 했을 때

wr_1 값을 meta_table 에 저장을 해야 합니다.

 

하는 방법은

 

템플릿 오버라이딩 ( 덮어쓰기 ) 방식을 이용하여

 

hook.skin.php 를 아래와 같이 수정합니다.

 


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 를 list.skin.php 에서 출력하려면


<?php echo $list[$i]['subject'] ?> 

 

위와 같은 코드를 찾아서 아래와 같이 수정합니다. ( 반드시 템플릿 오버라이딩 방식을 이용하여 수정하세요. )

 


<?php
$input_posts = get_metadata(GCBOARD_META_TYPE, $list[$i]['wr_id'], 'etc_inputs', true ); 
$wr_1 = isset($input_posts['wr_1']) ? $input_posts['wr_1'] : '';
echo $wr_1.$list[$i]['subject'];
?>

 

 

저장된 wr_1 을 view.skin.php 에서 출력하려면

 

echo gc_cut_str(gc_get_text($view['wr_subject']), 70); // 글제목 출력 

 

위와 같은 코드를 찾아서 아래와 같이 수정합니다. ( 반드시 템플릿 오버라이딩 방식을 이용하여 수정하세요. )

 


<?php
$input_posts = get_metadata(GCBOARD_META_TYPE, $view['wr_id'], 'etc_inputs', true ); 
$wr_1 = isset($input_posts['wr_1']) ? $input_posts['wr_1'] : '';
echo $wr_1.gc_cut_str(gc_get_text($view['wr_subject']), 70); // 글제목 출력
?>
답변을 작성하시기 전에 로그인 해주세요.
전체 66
QA 내용 검색

회원로그인

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