게시글 제목에 자동으로 여분필드 값이 들어가게 하고 싶습니다.

게시글 제목에 자동으로 여분필드 값이 들어가게 하고 싶습니다.

QA

게시글 제목에 자동으로 여분필드 값이 들어가게 하고 싶습니다.

그누보드5(영카트) 버전

5.6.14

본문

안녕하세요.

제목을 굳이 쓸 필요없는 게시판이 있어서

글 제목을 여분필드의 값이 주루륵 들어가게 하고 싶어서 아래와 같이 작업 해 보았습니다.

 

</form> 바로 위에


<input type="hidden" name="wr_subject" value="<?php echo $write['wr_1'] ?> <?php echo number_format($write['wr_3']) ?>만원 (<?php echo $write['ca_name'];?>_<?php echo $write['wr_4'] ?>) <?php echo $year[0];?>-<?php echo $year[1];?> <?php echo $board['bo_subject'] ?>" id="wr_subject">

라고 써놓았더니 글을 처음에 작성하면 글 제목이 제대로 들어가지 않고 꼭 수정을 해야만 제대로 글 제목이 들어가서 아래와 같이

function fwrite_submit(f) {

바로 아래에 추가하였습니다.

 


 f.wr_subject.value = f.wr_1.value +' '+f.wr_3.value +' '+f.ca_name.value +'만원 '+ f.wr_4.value +' '+ f.year[0].value+'-'+ f.year[1].value ;

 

이렇게 했더니 느닷없이 "글 내용을 입력하세요" 라고 경고창이 뜨면서 글이 등록이 안되고 있습니다.

 

어디를 수정해야 할까요?

고수님들 부탁 드립니다. 감사합니다!

이 질문에 댓글 쓰기 :

답변 2

$write['wr_1']은 DB에 저장된 이후(글 등록된 이후)에 불러오는 값입니다.
즉, 이미 저장된 글의 데이터를 의미합니다.
그래서 글 등록시에는 빈값이고, 글 수정시에만 정상 작동한 것입니다.

더 권장되는 방법은 write_update.head.skin.php 파일을 활용하는 것입니다.
write_update.head.skin.php 파일 생성 후 다음 코드 추가


<?php
if (!defined('_GNUBOARD_')) exit;
// 제목 자동 생성
$auto_subject = '';
if($wr_1) $auto_subject .= $wr_1 . ' ';
if($wr_3) $auto_subject .= number_format($wr_3) . '만원 ';
if($ca_name && $wr_4) $auto_subject .= '(' . $ca_name . '_' . $wr_4 . ') ';
// 년도 필드 추가 (실제 필드명에 맞게 수정)
$auto_subject .= $board['bo_subject'];
$wr_subject = $auto_subject;

질문하신 '글 내용을 입력하세요' 경고창이 나오는 문제는

<input type="hidden" name="wr_content" value="적당한 문자">
이걸 추가하면 될 것입니다.
아래 글입력 부분은 삭제하시고요.
물론 글입력을 안해도 되도록 해도 되지만 설정을 바꾸는것 보다는 이게 나을거 같네요.

근데 $write값이 없어서 어차피 wr_1에 값이 입력 안될거 같은데

$write 변수는 글을 저장하고 저장된 값들을 변수에 저장합니다.
처음 글입력할 때는 $write변수는 비어있죠

제가 주로 쓰는 방법은
1. 해당 게시판의 스킨을 별도로 추가하고 (예를 들어 qwer 폴더를 만들어 qwer 스킨을 적용
2. 해당 스킨폴더로 가서 (테마를 사용안한다고하면) /skin/board/qwer/ 에
write_update.skin.php 파일을 추가합니다.
그리고 write_update.skin.php 내용은 생각나는대로 적자면... (실행은 안해봄)


if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
//$bo_table 은 테이블 이름
$target_table = $g5['write_prefix'] . $bo_table;
$wr_1 = $wr_1.' '.number_format($wr_3).'만원 ('.$ca_name.'_'.$wr_4.') '.$year[0].'-'.$year[1].' '.$board['bo_subject'];
$update_sql = "UPDATE {$target_table} SET wr_1 = '{$wr_1}' WHERE wr_id = '{$wr_id}'";
$update = sql_query($update_sql);

이렇게 하면 될꺼 같고
$wr_1 변수값은 맞는지는 모르겠네요. 적당히 수정하시길

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

회원로그인

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