안녕하세요~ 궁금한 것 물어보겠습니다. editor에서
<div class="kboard-attr-row">
<label class="attr-name" for="kboard_option_sex"><span class="field-name">성별</span> <span class="attr-required-text">*</span></label>
<div class="attr-value">
<div class="sex-checks">
<input id="sex_type1" type="radio" value="W" name="sex_type" class="form-check-input" checked onclick="" value = "<?php echo $content->option->sex ?>">
<label for="sex_type1" style="vertical-align:middle;">여자</label>
</div>
<div class="sex-checks">
<input id="sex_type2" type="radio" value="M" name="sex_type" class="form-check-input" onclick="" value = "<?php echo $content->option->sex ?>">
<label for="sex_type2" style="vertical-align:middle;" >남자</label>
</div>
</div>
<?php if(isset($field['description']) && $field['description']):?><div class="description"><?php echo esc_html($field['description'])?></div><?php endif?>
</div>
이렇게 넣고 작성완료를 했을 때 글을 확인해보면 값을 못받아오거든요. document에서
<div class="kboard-content" itemprop="description">
<div class="content-view">
<p>성별: <?php echo $content->option->sex ?></p>
</div>
</div>
이렇게 받았습니다. 문제가 뭔지 모르겠어서 도움이 필요합니다.
안녕하세요~^^
editor.php 파일과 document.php 파일 모두 잘못 수정하신 듯합니다.
editor.php 파일은 아래의 코드로 교체해보세요.
<div class="kboard-attr-row">
<label class="attr-name" for="kboard_option_sex"><span class="field-name">성별</span> <span class="attr-required-text">*</span></label>
<div class="attr-value">
<div class="sex-checks">
<input id="sex_type1" type="radio" value="W" name="kboard_option_sex_type" class="form-check-input"<?php if(!$content->option->sex_type || $content->option->sex_type == 'W'):?> checked<?php endif?>>
<label for="sex_type1" style="vertical-align:middle;">여자</label>
</div>
<div class="sex-checks">
<input id="sex_type2" type="radio" value="M" name="kboard_option_sex_type" class="form-check-input"<?php if($content->option->sex_type == 'M'):?> checked<?php endif?>>
<label for="sex_type2" style="vertical-align:middle;" >남자</label>
</div>
</div>
</div>
document.php 파일은 아래의 코드로 교체해보세요.
<div class="kboard-content" itemprop="description">
<div class="content-view">
<p>성별: <?php echo $content->option->sex_type?></p>
</div>
</div>
라디오 태그에는 value가 1개만 있어야 합니다.
올려주신 태그에는 value가 2개씩 추가되어 있습니다.
또한 editor.php 파일에서 name을 kboard_option_메타키 이런 식으로 적용해주셔야
document.php 파일에서 <?php echo $content->option->메타키?> 이런 식으로 사용하실 수 있습니다.
고맙습니다.
아 상세한 설명 감사합니다. 받아와지네요. 궁금한 거 하나만 더 물어보겠습니다. 라디오 태그에는 value가 하나만 있어야 한다는 말이 radio 태그 안에 value="" 으로 또 한번 더넣어서 2개씩 추가되어있다는 말씀이신거죠? select 되어있는 값도 못받아오는데 이건 왜그런건가요?
<div class="kboard-attr-row">
<label class="attr-name" for="kboard_option_age"><span class="field-name">나이</span> <span class="attr-required-text">*</span></label>
<div class="attr-value">
<select class="age_form" name="kboard_option_age" id="kboard_option_age" required="required">
<option value="0" <?php if($content->option->age == '0'):?> selected<?php endif?>>19세~24세</option>
<option value="1" <?php if($content->option->age == '1'):?> selected<?php endif?>>25세~29세</option>
<option value="2" <?php if($content->option->age == '2'):?> selected<?php endif?>>30세~34세</option>
<option value="3" <?php if($content->option->age == '3'):?> selected<?php endif?>>35세~39세</option>
</select>
</div>
</div>
document에서는 똑같이
<div class="kboard-content" itemprop="description">
<div class="content-view">
<p>나이: <?php echo $content->option->age ?></p>
</div>
</div>
이렇게 받았습니다.
라디오 태그에는 value가 2개 들어있는 문제와
name이 kboard_option_sex_type 이런 식으로 적용돼야 하는데
sex_type 이런 식으로 적용되어 있어 정상적으로 게시글 입력 필드가 저장되지 않고 있었습니다.
올려주신 셀렉트 박스는 에러나 버그는 없습니다.
다만, 19세~24세를 선택하면 $content->option->age 값에는 0이 들어가기 때문에
게시글 본문 페이지에서 $content->option->age 값을 출력하면 0이 표시됩니다.
if문을 추가하여 $content->option->age이 0이면 19세~24세를 표시하고
다른 부분도 동일한 방법으로 적용해주셔야 할 듯합니다.
더 간단한 방법으로는,
editor.php 파일에서 아래와 같이 적용하시면
<option value="19세~24세" <?php if($content->option->age == '19세~24세'):?> selected<?php endif?>>19세~24세</option>
document.php 파일에서는 기존 코드처럼 출력만 하시면 됩니다.
고맙습니다.