글 보기시 본문내 체크박스 보이게 할 수 있을까요?
아래와 같이 하면 체크한 항목이 텍스트로는 보이거든요.
1. 이걸 체크박스로 바꾸고 체크된 항목은 체크되어 있도록 하게요.
2. 그리고 확인 버튼을 키보드 'enter' 키로도 동작되게도 될까요?
view_document.html에서
<div><input type='text' name='extra_vars4' value = "{$oDocument->getExtraValueHTML(9)}";>
<input type='button' value='확인' onClick='{ location.href=window.location.href + "&ext_v4=" + jQuery("input[name=extra_vars4]").val().replace(/-/g,"");}' />
</div>
<!--//본문내 확장변수 선택-->
<block cond="$ext_v4">
{@
$oDB = &DB::getInstance();
$sql = $oDB->_query('SELECT COUNT(*) as count FROM xe_document_extra_vars WHERE document_srl='.$document_srl.' and module_srl ='.$module_info->module_srl.' and eid="ext_plan_op"');
$rec_count = $oDB->_fetch($sql);
}
<!--@if($rec_count->count==0)-->
{@
$query = $oDB->_query('INSERT INTO xe_document_extra_vars (module_srl, document_srl,var_idx,lang_code,value,eid) VALUES ('.$module_info->module_srl.','.$document_srl.',9,"ko","'.$ext_v4.'","ext_plan_op")');
}
<!--@else-->
{@ $query = $oDB->_query('update xe_document_extra_vars set value = "'.$ext_v4.'" where document_srl = '.$document_srl.' and module_srl = '.$module_info->module_srl.' and eid = "ext_plan_op"');
}
<!--@end-->
<script>location.href="{str_replace('amp;', '', getUrl('ext_v4', ''))}"</script>
</block>
2022.10.18 23:13
2022.10.19 06:12
위 코드로 하면 본문내 체크한 확장변수가 잘보이고 수정도 잘 됩니다.
근데 텍스트를 체크박스로 변경하는걸 잘 몰라서요.
체크박스가 안되면 텍스트로는 잘 되는데 한가지 문제가 텍스트를 다 지우고 수정을 하면 업데이트가 안되요.
이 부분만이라도 된다면 텍스트로 사용해도 될듯해요.
2022.10.19 18:47
밥탱 님 안녕하세요,
일단 수정이 잘 되는데,
텍스트를 다 지우고 수정하면 업데이트가 안되는 이유는 <block cond="$ext_v4"> 조건 때문인듯 합니다.
아래와 같이 수정 해놓고 한번 테스트 해보시기 바랍니다.
(주소값의 파라미터 중복이나 파라미터앞의 &/? 등은 추가 조정이 필요할 듯)
문서번호와 수정하기전의 확장변수값(4번으로 간주)을 구해놓고,
$document_srl = $oDocument->document_srl;
$org_ext_value = $oDocument->getExtraValueHTML(4);
$oDB=&DB::getInstance();
블럭 조건을 조정해 보세요.
<block cond="($ext_v4 != $org_ext_value)">
재호출 스크립트 주소도 변경 해보시고요.
<script>location.href="{str_replace('amp;', '', getUrl('ext_v4', $ext_v4))}"</script>
----------------------------
달리하면,(이게 더 나아보입니다.)
1) 주소에 &update=Y 추가
<input type='button' value='확인' onClick='{ location.href=window.location.href + "&update=Y&ext_v4=" + jQuery("input[name=extra_vars4]").val().replace(/-/g,"");}' />
2) 블록조건변경
<block cond="($update=='Y')">
3)재호출 주소 조정
<script>location.href="{str_replace('amp;', '', getUrl('ext_v4', '', 'update', ''))}"</script>
감사합니다.
ksc
2022.10.20 08:45
두번째 방식이 잘 되네요. 감사합니다.
2022.10.20 16:02
밥탱 님 안녕하세요,
view_document.html 는 문서 내용을 보여주는것에 촛점이 맞추어져 있으니...
view 프로그램을 이용해서 문서를 업데이트 하는것은 좀 어렵지 싶습니다.
참고로 PHP등 서버측 코드는 PC에 내용이 출력되기 전에 실행되는 코드이니, 기대와는 다르게 값이 없을 수 있습니다.
감사합니다.
ksc