그누커머스 여분필드 관련 질문입니다.

그누커머스 여분필드 관련 질문입니다.

QA

그누커머스 여분필드 관련 질문입니다.

본문

안녕하세요

그누커머스 사용중입니다.

1. 여분필드에 미리 입력된 내용보여주고 글을 쓰기위해 클릭시 사라지게 하고 싶습니다.

본문에 여분필드 이름이 나오지 않아 임의로 아래 코드처럼 바꿨는데

여분필드에 미리 입력돼 있으며, 사용자가 임의로 수정시 본문에서도 그대로 보여지는데

여분필드에서는 미리 입력된 내용을 보여주고 사용자가 글을 작성할때는 그 내용이 사라지며,

글작성후 본문에서는

색상: XXX

이렇게 표시되게 하고 싶습니다.


<th scope="row"><label for="wr_3"><?php _e('색상', GC_NAME);?><strong class="sound_only"><?php _e('필수', GC_NAME);?></strong></label></th>
   <td><input type='text' name='wr_3' itemname="항목이름3" value="색상: <?php echo $input_posts['wr_3']?>" > </td></tr>

 

2.글 작성시 여분필드의 텍스트 박스가 잘 보이게 하고 싶습니다.

f4477fda6b1e8b7156683f6e705c292d_1458831761_9145.png아래글 답변대로 text -> textarea 로 바꿔 보았지만 변화가 없어서 질문 드립니다.

  

3.

테스트중인 사이트에서는 잘 되었는데 본 사이트에서는 에러가 나네요

Parse error: syntax error, unexpected '$input_posts' (T_VARIABLE) in /wp-content/themes/Avada-Child-Theme/gnucommerce/skin/board/default/view.skin.php on line 155

 

<div id="bo_v_con"><?php//메타 데이터 초기화
$input_posts = array(
'wr_1' => '', //여분필드1

$input_posts = array(

이 부분이 view.skin.php 155번째줄 입니다.

funtions.php

view.skin.php

write.skin.php

에 각각 여분필드 소스 넣었습니다.

(hook.skin.php은 사용하지 않았습니다.)


//테마 functions.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 ); //메타데이터를 업데이트
}
 
//view.skin.php 에 
<?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 첫줄에 
//메타 데이터 초기화
$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);
//write.skin.php 120번째줄 쯤 '내용'위에 
<td>항목이름</td>
   <td><input type='text' name='wr_1' itemname="항목이름" value="<?php echo $input_posts['wr_1']?>" > </td>

혹시나 싶어 위 3개 파일 백업후 오버라이딩 하지 않고 테스트사이트에서 쓰던 파일로 직접 교체 했을때는 위 에러는 안나지만 본문에 여분필드를 하나도 불러오질 못하네요,,, 제가 뭘 빼먹은 걸까요?

 

너무 많은 내용이지만 도움 부탁드립니다. 

이 질문에 댓글 쓰기 :

답변 2

1. html5 의 placeholder 를 쓰시는게 낮지 않을까 싶습니다.

 

http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_textarea_placeholder 

 

 

감사합니다 몰랐던 거네요
혹시 3번질문에 funtions.php
view.skin.php
write.skin.php. 이파일 세개만으로 여분필드 만드는것이 맞을까요? 답변주신걸 적용할려면 여분필드가 필요한것 깉아서요. 부탁드립니다.

update_metadata

 

함수는 데이터를 저장하는 역할을 하고,

 

get_metadata 

 

함수는 데이터를 불러오는 역할을 합니다.

 

 

잘 안되시면, 부분 적용한 소스만 적지 마시고

 

view.skin.php 전체 소스랑,

 

write.skin.php 전체 소스를 올려 놓으세요.

 

그렇게 해야 안되는 원인을 찾을수 있을것 같네요...

안녕하세요
저번에 말씀드렸던
자동댓글안됨(만들어주신플러그인은정상작동)|분류안됨|위 여분필드문제가

게시판 숏코드를 [fusion_text]게시판숏코드[/fusion_text]로 감싸면 작동 되지 않습니다.
[fusion_text][/fusion_text]를 없애면 정상 작동 되구요.
아바다 테마 사용중인데, 이런 경우도 있을까요? 현재는 위 사항 모두 정상작동합니다

그렇네요.
fusion_text 를 쓰니까 문제가 일어나네요.

그누그누1님.
불편을 드려 죄송합니다.
제가 아바다 테마로 여분필드 하는것을 테스트 못해 봤습니다.

해당 부분은 다음 버젼에 고치겠습니다.

고칠 부분은 아래와 같습니다.

gnucommerce/lib/gc_board.class.php

425번재 줄에

        if( $this->instances === null ){
            $this->load($attr);
        }

이 부분을 아래와 같이 고치겠습니다.

        if( $this->instances === null ){
            GC_Board_var::getInstance()->need_value_load();
            $this->load($attr);
        }

안녕하세요
여분필드를 사용하면 글쓰는 화면이 여분필드 만큼 밑으로 길어지잖아요?
오른쪽에 화면 스크롤바가 활성화 되면
테마 기본 메뉴가 사라집니다.(메뉴가 화면이 내려가면 같이 따라서 내려가게 설정 돼있습니다.)
확인 부탁드립니다.

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

회원로그인

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