수정버튼을 누르지 않고 글 보기에서 시작날자,시작시간,종료시간 바로 수정할 수 있을까요??
view.document.html 에서 아래와 같이 수정했는데 잘 안되네요. 도움 부탁드려요~
<!--//본문내 일정시작 선택-->
<block cond="$logged_info->member_srl==$oDocument->get('member_srl')||$grant->manager">
<div>
<block cond="$ext_v2">
{@
$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_start"');
$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.',2,"ko","'.$ext_v2.'","ext_plan_start")');
}
<!--@else-->
{@ $query = $oDB->_query('update xe_document_extra_vars set value = "'.$ext_v2.'" where document_srl = '.$document_srl.' and module_srl = '.$module_info->module_srl.' and eid = "ext_plan_start"');
}
<!--@end-->
<!--@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.',2,"ko","'.$ext_v2.'","ext_plan_start")');
}
<!--@else-->
{@ $query = $oDB->_query('update xe_document_extra_vars set value = "'.$ext_v2.'" where document_srl = '.$document_srl.' and module_srl = '.$module_info->module_srl.' and eid = "ext_plan_start"');
}
<!--@end-->
<script>location.href="{str_replace('amp;', '', getUrl('ext_v2', ''))}"</script>
</block>
<script language="JavaScript" src="js/date_picker.js"></script>
<!--//본문내 시작,종료시간 선택-->
<!--//<block cond="$logged_info->member_srl==$oDocument->get('member_srl')||$grant->manager">-->
<block cond="$ext_v3">
{@
$oDB = &DB::getInstance();
$query = $oDB->_query('update xe_document_extra_vars set value = "'.$ext_v3.'" where document_srl = '.$document_srl.' and module_srl = '.$module_info->module_srl.' and eid = "ext_plan_time"');
}
<script>location.href="{str_replace('amp;', '', getUrl('ext_v3', ''))}"</script>
</block>
</block>
2021.12.22 17:35
2021.12.23 07:54
넵. 제가 한번 수정해보겠습니다. 감사합니다.
2021.12.23 09:13
우선 날자, 시작시간, 종료시간은 수정버튼을 누르지 않고 본문내에서 수정 가능하고 표기도 잘 되는데,
문제는~~
수정버튼을 누르면 시작시간과 종료시간 입력된게 없어지고 빈 공란으로 나오네요.
시작시간과 종료시간 본문내에서 수정한 그대로 나오게 할 수 없을까요??
---- view_document.html 코드 ---
<div><p align="right">일정시작 :
<input type='text' name='extra_vars2' value = '{$oDocument->getExtraValueHTML(1)}' onClick='datePicker(event, "extra_vars2");'>
<input type='text' name='extra_vars3' value = "{$oDocument->getExtraValueHTML(7)}";>
<input type='button' value='확인' onClick='if(jQuery("input[name=extra_vars2]").val()) { location.href=window.location.href + "&ext_v2=" + jQuery("input[name=extra_vars2]").val().replace(/-/g,"") + "&ext_v3=" + jQuery("input[name=extra_vars3]").val().replace(/-/g,"");}' />
</p>
</div>
<!--//본문내 일정시작 선택-->
<block cond="$ext_v2">
{@
$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_start"');
$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.',2,"ko","'.$ext_v2.'","ext_plan_start")');
}
<!--@else-->
{@ $query = $oDB->_query('update xe_document_extra_vars set value = "'.$ext_v2.'" where document_srl = '.$document_srl.' and module_srl = '.$module_info->module_srl.' and eid = "ext_plan_start"');
}
<!--@end-->
<!--@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.',2,"ko","'.$ext_v2.'","ext_plan_start")');
}
<!--@else-->
{@ $query = $oDB->_query('update xe_document_extra_vars set value = "'.$ext_v2.'" where document_srl = '.$document_srl.' and module_srl = '.$module_info->module_srl.' and eid = "ext_plan_start"');
}
<!--@end-->
<script>location.href="{str_replace('amp;', '', getUrl('ext_v2', ''))}"</script>
</block>
<script language="JavaScript" src="js/date_picker.js"></script>
<!--//본문내 시작,종료시간 선택-->
<!--//<block cond="$logged_info->member_srl==$oDocument->get('member_srl')||$grant->manager">-->
<block cond="$ext_v3">
{@
$oDB = &DB::getInstance();
$query = $oDB->_query('update xe_document_extra_vars set value = "'.$ext_v3.'" where document_srl = '.$document_srl.' and module_srl = '.$module_info->module_srl.' and eid = "ext_plan_time"');
}
<script>location.href="{str_replace('amp;', '', getUrl('ext_v3', ''))}"</script>
</block>
ps) 시작시간, 종료시간이 같이 나오는 확장변수값은 아래가 맞죠??
- 시작,종료시간 eid값 : ext_plan_time
- 시작,종료시간 value값 : $oDocument->getExtraValueHTML(7)
혹시 시작시간, 종료시간이 분리되어 있는 확장변수명이 따로 있을까요??
- 시작시간 idx값 : ??
- 시작시간 eid값 : ??
- 시작시간 value값 : ??
- 종료시간 idx값 : ??
- 종료시간 eid값 : ??
- 종료시간 value값 : ??
2021.12.23 12:33
밥탱님 안녕하세요,
우선 날자, 시작시간, 종료시간은 수정버튼을 누르지 않고 본문내에서 수정 가능하고 표기도 잘 되는데,
문제는~~ 수정버튼을 누르면 시작시간과 종료시간 입력된게 없어지고 빈 공란으로 나오네요.
시작시간과 종료시간 본문내에서 수정한 그대로 나오게 할 수 없을까요??
위 질문내용을 보면, 문서 보기화면에서 보여지는 시작시간 등을 수정해놓고,
화면 아래의 '수정'버튼을 클릭하면 수정한 내용이 없어진다는 것으로 이해 됩니다.
'수정'버튼을 클릭 했을 때 보여지는 것은 DB에 저장되어있는 문서내용을 화면에 불러와서 편집하는 것이니,
'수정'버튼 클릭하기 전에 수정한 내용을 DB에 업데이트 해주지 않았다면 수정한 내용이 사라지는 것처럼 보이겠지요.
보기 화면에서 내용을 수정한 후, 수정한 값을 DB에 업데이트 해주는 기능을 수행해 주어야 되리라 생각됩니다.
(편집화면에서 '등록'버튼을 클릭했을 때 XE가 처리하는 것과 유사한 작업 수행)
감사합니다.
ksc
2021.12.23 15:58
plan_time 항목의 DB 찾아보니까
09:00|@|10:00 <--- 이와 같이 되어 있더라고요.
본문내에서 시간입력할때는 "09:00,10:00" 이렇게 되서 DB에 적용이 안되는것 같은데
본문내에서 "09:00,10:00" 를 입력하여 수정하면
DB에 "09:00|@|10:00" 입력되도록 할 수 있을까요??
DB로 update 될때 " ',' -> '|@|' " 로 변경되도록이요~~
이것저것 해봐도 잘 안되네요. 도움 부탁드려요~~
2021.12.23 16:19
해결했네요~~ 어휴~~ 아래 코드에 빨간색 부분만 수정하면 되네요~~
나무님 항상 감사드려요~~ 메리 크리스마스 ^^
"&ext_v3=" + jQuery("input[name=extra_vars3]").val().replace(",","|@|");}' />
2021.12.23 19:34
밥탱님 안녕하세요,
'|@|' 는 XE에서 확장변수 값을 DB에 업데이트 할 때 값이 복수이면 각각의 값을 구분하기위해 구분자로 자동 삽입되는 값입니다.
$ext_v3 화면 입력값이 "09:00,10:00"인데 DB에 "09:00|@|10:00"으로 저장되도록 하려면,
str_replace()등으로 DB 업데이트나 검색하기 직전에 $ext_v3 값의 ','를 '|@|'로 변환해 주어야 되겠지요.
(참고: 코드 변경하기 전에 입력 자체를 "09:00|@|10:00"로 입력해서 잘 작동이 되는지 확인한 후에 코드를 수정하는게 좋을듯하고, 날자역시 20211223 형식으로 DB에 저장된는점 염두에 두기 바랍니다.)
감사합니다.
ksc
---------
이미 해결 하셨다니 다행입니다.
윗글 무시하시기 바랍니다.
감사합니다.
ksc.
밥탱님 안녕하세요,
수정버튼을 누르지 않고 글 보기에서 시작날자,시작시간,종료시간 바로 수정하는 방법은 검토 해본바가 없어 어찌하는지 모릅니다.
감사합니다.
ksc