묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
모듈 제작시 파일첨부 기능 삽입 질문입니다.
2011.11.10 12:01
간단하게 db와 연동하여
자료를 입력하고 불러오는 모듈을 만들고 있는데요
게시판처럼 editor를 불러와서
파일을 첨부하는 기능을 사용하고 싶습니다.
도무지 어떤 방식으로 editor기능을 불러오는지 이해를 못하겠습니다.
좋은 조언 기다리겠습니다.
모듈 제작시 파일 첨부를 하려면
우선 작성하고자 하는 모듈의 primary key는 sequence형태로 지정해야 합니다.
document_srl처럼
<column name="***" type="number" size="11" primary_key /> 형태로 기본키를 주시면 되고요.
editor 모듈의 모델 부분을 보시면 getModuleEditor 부분이 있습니다. 이 부분을 가져다가 사용하시면 됩니다.
저는
function getEditor() {
$module_srl = $this->get('module_srl');
if(!$module_srl) $module_srl = Context::get('module_srl');
$oEditorModel = &getModel('editor');
return $oEditorModel->getModuleEditor('os', $module_srl, $this->os_srl, 'os_srl', 'content'); }
저는 이런식으로 사용했거든요. 그러면 가장 기본적인 파일첨부가 되는 위지윅 에디터가 생길거에요.
skin부분에서는
<div class="editor">{$os_document->getEditor()}</div> 이렇게 사용하시면 됩니다.
그리고 form 필드안에는 기본키값을 저장하는 필드가 있어야되구요.
content필드도 있어야 합니다.
저는 기본키 필드를
os_srl 로 하고
내용 부분을
content 부분으로 했기때문에
return $oEditorModel->getModuleEditor('os', $module_srl, $this->os_srl, 'os_srl', 'content'); 이렇게 했는데
만약 컨텐트 필드랑 기본키 필드를 document,docu_srl 로 하셨다면
$oEditorModel->getModuleEditor('os', $module_srl, $this->docu_srl, 'docu_srl', 'document'+ '); 로 해야 합니다.
그리고 skin부분에 form부분에는 기본키필드와 컨텐트 요소가 있어야지만 저장이 제대로 될거에요.
<input type="hidden" name="document" value="{$os_document->getContentText()}" />
<input type="hidden" name="docu_srl" value="{$os_document->get('docu_srl')}" />
도움이 되었으면 하네요 ^^