좀 쌩뚱맞은 질문일수도 있는데..
혹시 글작성시 해당 글의 문서 번호를 확장변수에 동일하게 넣는 방법이 있을까요?
확장변수값에 문서번호를 활용한 값을 추가 할려고 하다보니..
PHP | PHP 5.5 |
---|---|
CMS | XpressEngine |
좀 쌩뚱맞은 질문일수도 있는데..
혹시 글작성시 해당 글의 문서 번호를 확장변수에 동일하게 넣는 방법이 있을까요?
확장변수값에 문서번호를 활용한 값을 추가 할려고 하다보니..
수동으로 넣지 않고 글 등록 시점에서 자동으로 넣으려면 스킨보다는 애드온으로 만들어야 하지 않을까요 ?
제가 수동으로 스킨에서 제가 원하는 값을 넣었을때 사용한 것을 애드온으로 구현하시면 될 것 같기도 합니다.
$args->lang_code = Context::get('lang_type');
$args->eid = '직접설정 또는 애드온 설정';
$args->module_srl = Context::get('module_srl');
$args->document_srl = Context::get('document_srl');
$args->var_idx = 1;
executeQuery('document.updateDocumentExtraVar', $args);
Context::get('document_srl'); 아마도 이것으로 글 인서트때 만들어지는 문서번호를 확보할 수 있지 않을까 하는 짐작인데 실제 해보지 않아서...
사용자정의 값 위치는 맨 위로 고정해야 하고요...
저 코드가 dispBoardWrite 의 act 에서 그리고
Context::get("act") == "procBoardInsertDocument" && $called_position == "after_module_proc"
글 이 정상정으로 삽입 이 된 이후에 실행이 되도록 조건을 걸어주시면 될 것 같습니다.
물론 실제 해보지 않고 제가 아이디어 차원에서 생각해 본거라 오류가 있을 수도 있겠습니다.
이렇게 해야 실제 글이 정상적으로 등록이 된 경우에 코드가 실행이 되어서 잘못된 사용자정의를 입력하는 일이 발생하지 않을 것 같기도 하구요.
function insertDocument 함수값안에
if($obj->title == '') $obj->title = 'Untitled'; 아래에다가
$obj->extra_vars1 = $obj->document_srl;
삽입하시면 첫번째 확장변수에 document_srl값을 넣을수있어요 다만 전게시판 전체가 되니
if((context::get('mid') == 'mid값'))
{$obj->extra_vars1 = $obj->document_srl;}
이런식으로 넣으시는걸 추천합니다.