08. 견적서 추가 화면 및 추가 부분 구현하기

조회 수 581 추천 수 0 2009.08.24 14:51:00
sol *.13.13.164
제목 작성자 날짜
08. 견적서 추가 화면 및 추가 부분 구현하기 (current) sol 2009.08.24 14:51:00
복원
<div class="eArea xe_content xe_dr_index"><ul class="toc"><li class="toc3"><a href="#h1250844354483">견적서 추가화면 formView::dispFormContentWrite()</a></li><li class="toc3"><a href="#h1250844377888">skins/sample/write.html</a></li><li class="toc3"><a href="#h1250845071879">tpl/filter/insert_content.xml</a></li><li class="toc3"><a href="#h1250845654394">"insert_content" filter의 callback 구현 tpl/js/form.js</a></li><li class="toc3"><a href="#h1250844406343">견적서 추가부분 formController::procFormContentWrite()</a></li></ul></div><div class="eArea xe_content xe_dr_hx"><h3 id="h1250844354483">견적서 추가화면 formView::dispFormContentWrite()</h3></div><div class="eArea xe_content xe_dr_txt"><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /**<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * @brief 견적서 작성 화면 출력<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; **/<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function dispFormContentWrite() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocumentModel = &amp;getModel('document');<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // GET parameter에서 document_srl을 가져옴<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $document_srl = Context::get('document_srl');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocument = $oDocumentModel-&gt;getDocument(0);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocument-&gt;add('module_srl', $this-&gt;module_srl);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Context::set('oDocument', $oDocument);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 확장변수처리를 위해 xml_js_filter를 직접 header에 적용<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocumentController = &amp;getController('document');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocumentController-&gt;addXmlJsFilter($this-&gt;module_info-&gt;module_srl);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 사용되는 javascript 필터 추가<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Context::addJsFilter($this-&gt;module_path.'tpl/filter', 'insert_content.xml');<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;setTemplateFile('write');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br></p></div><div class="eArea xe_content xe_dr_hx"><h3 id="h1250844377888">skins/sample/write.html</h3></div><div class="eArea xe_content xe_dr_txt"><p><span style="background-color: rgb(225, 225, 225);">3 &lt;form action="./" method="post" onsubmit="return <span style="font-weight: bold;">procFilter</span>(this, <span style="font-weight: bold;">insert_content</span>)" id="fo_write" class="formWrite"&gt;</span></p><p>XE에서는 form을 전송할 때 직접 post/get으로 submit 하지 않고 procFilter()를 통해 Ajax로 call 한 뒤 response를 받아 작성한 "tpl/filter/insert_content.xml" 의 callback을 통해 실행됩니다.<br></p></div><div class="eArea xe_content xe_dr_txt"><p>&nbsp; 1 &lt;!--%import("css/form.css")--&gt;<br>&nbsp; 2 <br>&nbsp; 3 &lt;form action="./" method="post" onsubmit="return procFilter(this, insert_content)" id="fo_write" class="formWrite"&gt;<br>&nbsp; 4 &lt;input type="hidden" name="mid" value="{$mid}" /&gt;<br>&nbsp; 5 &lt;input type="hidden" name="document_srl" value="{$document_srl}" /&gt;<br>&nbsp; 6 &lt;input type="hidden" name="content" value="{$oDocument-&gt;getContentText()}" /&gt;<br>&nbsp; 7 <br>&nbsp; 8&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class="formWriteHeader"&gt;<br>&nbsp; 9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dl class="title"&gt;<br>&nbsp;10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dt&gt;&lt;label class="title"&gt;{$lang-&gt;title} :&lt;/label&gt;&lt;/dt&gt;<br>&nbsp;11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dd&gt;<br>&nbsp;12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type="text" name="title" class="inputText" value="{htmlspecialchars($oDocument-&gt;getTitleText())}" /&gt;<br>&nbsp;13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dd&gt;<br>&nbsp;14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dl&gt;<br>&nbsp;15&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br>&nbsp;16 <br>&nbsp;17&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--@if(!$is_logged)--&gt;<br>&nbsp;18&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class="userNameAndPw"&gt;<br>&nbsp;19&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dl&gt;<br>&nbsp;20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dt&gt;&lt;label for="userName"&gt;{$lang-&gt;writer}&lt;/label&gt; :&lt;/dt&gt;<br>&nbsp;21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dd class="userName"&gt;&lt;input type="text" name="nick_name" value="{$oDocument-&gt;getNickName()}" class="inputText" id="userName" title="{$lang-&gt;is_required}" /&gt;&lt;/dd&gt;<br>&nbsp;22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dl&gt;<br>&nbsp;23&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dl&gt;<br>&nbsp;24&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dt&gt;&lt;label for="userPw"&gt;{$lang-&gt;password}&lt;/label&gt; :&lt;/dt&gt;<br>&nbsp;25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dd class="userPw"&gt;&lt;input type="password" name="password" value="" id="userPw" class="inputText" title="{$lang-&gt;is_required}" /&gt;&lt;/dd&gt;<br>&nbsp;26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dl&gt;<br>&nbsp;27&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dl&gt;<br>&nbsp;28&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dt&gt;&lt;label for="emailAddress"&gt;{$lang-&gt;email_address}&lt;/label&gt; :&lt;/dt&gt;<br>&nbsp;29&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dd class="emailAddress"&gt;&lt;input type="text" name="email_address" value="{htmlspecialchars($oDocument-&gt;get('email_address'))}" id="emailAddress" class="inputText" /&gt;&lt;/dd&gt;<br>&nbsp;30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dl&gt;<br>&nbsp;31&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dl&gt;<br>&nbsp;32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dt&gt;&lt;label for="homePage"&gt;{$lang-&gt;homepage}&lt;/label&gt; :&lt;/dt&gt;<br>&nbsp;33&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dd class="homePage"&gt;&lt;input type="text" name="homepage" value="{htmlspecialchars($oDocument-&gt;get('homepage'))}" id="homePage" class="inputText" /&gt;&lt;/dd&gt;<br>&nbsp;34&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dl&gt;<br>&nbsp;35&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br>&nbsp;36&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--@end--&gt;<br>&nbsp;37 <br>&nbsp;38&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--@if(count($extra_keys))--&gt;<br>&nbsp;39&nbsp;&nbsp;&nbsp;&nbsp; &lt;table border="1" cellspacing="0" summary="Extra Form" class="extraVarsList"&gt;<br>&nbsp;40&nbsp;&nbsp;&nbsp;&nbsp; &lt;caption&gt;&lt;em&gt;*&lt;/em&gt; : {$lang-&gt;is_required}&lt;/caption&gt;<br>&nbsp;41&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--@foreach($extra_keys as $key =&gt; $val)--&gt;<br>&nbsp;42&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br>&nbsp;43&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;th scope="row"&gt;{$val-&gt;name} &lt;!--@if($val-&gt;is_required=='Y')--&gt;&lt;em&gt;*&lt;/em&gt;&lt;!--@end--&gt;&lt;/th&gt;<br>&nbsp;44&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;{$val-&gt;getFormHTML()}&lt;/td&gt;<br>&nbsp;45&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br>&nbsp;46&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--@endforeach--&gt;<br>&nbsp;47&nbsp;&nbsp;&nbsp;&nbsp; &lt;/table&gt;<br>&nbsp;48&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--@endif--&gt;<br>&nbsp;49 <br>&nbsp;50&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class="editor"&gt;{$oDocument-&gt;getEditor()}&lt;/div&gt;<br>&nbsp;51&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class="formNavigation"&gt;<br>&nbsp;52&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;span class="button red strong"&gt;&lt;input type="submit" value="{$lang-&gt;cmd_registration}" accesskey="s" /&gt;&lt;/span&gt;<br>&nbsp;53&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br>&nbsp;54 <br>&nbsp;55 &lt;/form&gt;<br></p></div><div class="eArea xe_content xe_dr_hx"><h3 id="h1250845071879">tpl/filter/insert_content.xml</h3></div><div class="eArea xe_content xe_dr_txt"><p>견적서 등록 action인 procFormContentWrite 및 form 모듈이라고 설정하고 필수 항목들과 범위를 지정 하였습니다. javascript callback함수를 completeDocumentInserted로 tag는 error,message,mid,document_srl 를 지정하였습니다. <br></p><p>* 지정한 tag는 controller에서 자신 객체인 $this에 add()를 해야 합니다.<br></p></div><div class="eArea xe_content xe_dr_txt"><p>&nbsp; 1 &lt;filter name="insert_content" module="form" act="procFormContentWrite"&gt;<br>&nbsp; 2&nbsp;&nbsp; &lt;form&gt;<br>&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; &lt;node target="nick_name" required="true" maxlength="20"/&gt;<br>&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp; &lt;node target="password" required="true" /&gt;<br>&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp; &lt;node target="email_address" maxlength="250" /&gt;<br>&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp; &lt;node target="homepage" maxlength="250"/&gt;<br>&nbsp; 7&nbsp;&nbsp;&nbsp;&nbsp; &lt;node target="content" required="true" /&gt;<br>&nbsp; 8&nbsp;&nbsp; &lt;/form&gt;<br>&nbsp; 9&nbsp;&nbsp; &lt;response callback_func="completeDocumentInserted"&gt;<br>&nbsp;10&nbsp;&nbsp;&nbsp;&nbsp; &lt;tag name="error" /&gt;<br>&nbsp;11&nbsp;&nbsp;&nbsp;&nbsp; &lt;tag name="message" /&gt;<br>&nbsp;12&nbsp;&nbsp;&nbsp;&nbsp; &lt;tag name="mid" /&gt;<br>&nbsp;13&nbsp;&nbsp;&nbsp;&nbsp; &lt;tag name="document_srl" /&gt;<br>&nbsp;14&nbsp;&nbsp; &lt;/response&gt;<br>&nbsp;15 &lt;/filter&gt;<br><br></p></div><div class="eArea xe_content xe_dr_hx"><h3 id="h1250845654394">"insert_content" filter의 callback 구현 tpl/js/form.js</h3></div><div class="eArea xe_content xe_dr_txt"><p>"insert_content" filter에서 지정한 callback function인 completeDocumentInserted를 구현합니다.</p><p>ajax로 견적서 작성 처리후 실행되어 tag값을 참조하고 견적서 목록으로 이동합니다.</p></div><div class="eArea xe_content xe_dr_txt"><p>&nbsp; 1 /* 견적서 작성후 */<br>&nbsp; 2 function completeDocumentInserted(ret_obj) {<br>&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; var error = ret_obj['error'];<br>&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp; var message = ret_obj['message'];<br>&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp; var mid = ret_obj['mid'];<br>&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp; var document_srl = ret_obj['document_srl'];<br>&nbsp; 7<br>&nbsp; 8&nbsp;&nbsp;&nbsp; <br>&nbsp; 9&nbsp;&nbsp;&nbsp;&nbsp; var url;<br>&nbsp;10&nbsp;&nbsp;&nbsp;&nbsp; if(document_srl) {<br>&nbsp;11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('+
'+
'act','');<br>&nbsp;12&nbsp;&nbsp;&nbsp;&nbsp; } else {<br>&nbsp;13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; url = current_url.setQuery('mid',mid).setQuery('act','');<br>&nbsp;14&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp;15&nbsp;&nbsp;&nbsp;&nbsp; location.href = url;<br>&nbsp;16 }&nbsp;&nbsp; <br><br></p></div><div class="eArea xe_content xe_dr_hx"><h3 id="h1250844406343">견적서 추가부분 formController::procFormContentWrite()</h3></div><div class="eArea xe_content xe_dr_txt"><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function procFormContentWrite() {<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 글작성시 필요한 변수를 세팅<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $obj = Context::getRequestVars();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $obj-&gt;module_srl = $this-&gt;module_srl;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; settype($obj-&gt;title, "string");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($obj-&gt;title == '') $obj-&gt;title = cut_str(strip_tags($obj-&gt;content),20,'...');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //그래도 없으면 Untitled<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($obj-&gt;title == '') $obj-&gt;title = 'Untitled';<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // document module의 model 객체 생성<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocumentModel = &amp;getModel('document');<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // document module의 controller 객체 생성<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocumentController = &amp;getController('document');<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 이미 존재하는 글인지 체크<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocument = $oDocumentModel-&gt;getDocument($obj-&gt;document_srl, true);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 이미 존재하는 경우 수정<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($oDocument-&gt;isExists() &amp;&amp; $oDocument-&gt;document_srl == $obj-&gt;document_srl) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $output = $oDocumentController-&gt;updateDocument($oDocument, $obj);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $msg_code = 'success_updated';<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 그렇지 않으면 신규 등록<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $output = $oDocumentController-&gt;insertDocument($obj);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $msg_code = 'success_registed';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $obj-&gt;document_srl = $output-&gt;get('document_srl'+
');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 오류 발생시 멈춤<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(!$output-&gt;toBool()) return $output;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 결과를 리턴<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;add('mid', Context::get('mid'));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;add('document_srl', $output-&gt;get('document_srl'));<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 성공 메세지 등록<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;setMessage($msg_code);<br>&nbsp; &nbsp; &nbsp; }<br></p></div>
sol 2009.08.21 18:07:02
복원
<div class="eArea xe_content xe_dr_index"><ul class="toc"><li class="toc3"><a href="#h1250844354483">견적서 추가화면 formView::dispFormContentWrite()</a></li><li class="toc3"><a href="#h1250844377888">skins/sample/write.html</a></li><li class="toc3"><a href="#h1250845071879">tpl/filter/insert_content.xml</a></li><li class="toc3"><a href="#h1250845339903">tpl/js/form.js</a></li><li class="toc3"><a href="#h1250844406343">견적서 추가부분 formController::procFormContentWrite()</a></li></ul></div><div class="eArea xe_content xe_dr_hx"><h3 id="h1250844354483">견적서 추가화면 formView::dispFormContentWrite()</h3></div><div class="eArea xe_content xe_dr_txt"><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /**<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * @brief 견적서 작성 화면 출력<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; **/<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function dispFormContentWrite() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocumentModel = &amp;getModel('document');<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // GET parameter에서 document_srl을 가져옴<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $document_srl = Context::get('document_srl');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocument = $oDocumentModel-&gt;getDocument(0);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocument-&gt;add('module_srl', $this-&gt;module_srl);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Context::set('oDocument', $oDocument);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 확장변수처리를 위해 xml_js_filter를 직접 header에 적용<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocumentController = &amp;getController('document');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocumentController-&gt;addXmlJsFilter($this-&gt;module_info-&gt;module_srl);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 사용되는 javascript 필터 추가<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Context::addJsFilter($this-&gt;module_path.'tpl/filter', 'insert_content.xml');<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;setTemplateFile('write');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br></p></div><div class="eArea xe_content xe_dr_hx"><h3 id="h1250844377888">skins/sample/write.html</h3></div><div class="eArea xe_content xe_dr_txt"><p><span style="background-color: rgb(225, 225, 225);">3 &lt;form action="./" method="post" onsubmit="return <span style="font-weight: bold;">procFilter</span>(this, <span style="font-weight: bold;">insert_content</span>)" id="fo_write" class="formWrite"&gt;</span></p><p>XE에서는 form을 전송할 때 직접 post/get으로 submit 하지 않고 procFilter()를 통해 Ajax로 call 한 뒤 response를 받아 작성한 "tpl/filter/insert_content.xml" 의 callback을 통해 실행됩니다.<br></p></div><div class="eArea xe_content xe_dr_txt"><p>&nbsp; 1 &lt;!--%import("css/form.css")--&gt;<br>&nbsp; 2 <br>&nbsp; 3 &lt;form action="./" method="post" onsubmit="return procFilter(this, insert_content)" id="fo_write" class="formWrite"&gt;<br>&nbsp; 4 &lt;input type="hidden" name="mid" value="{$mid}" /&gt;<br>&nbsp; 5 &lt;input type="hidden" name="document_srl" value="{$document_srl}" /&gt;<br>&nbsp; 6 &lt;input type="hidden" name="content" value="{$oDocument-&gt;getContentText()}" /&gt;<br>&nbsp; 7 <br>&nbsp; 8&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class="formWriteHeader"&gt;<br>&nbsp; 9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dl class="title"&gt;<br>&nbsp;10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dt&gt;&lt;label class="title"&gt;{$lang-&gt;title} :&lt;/label&gt;&lt;/dt&gt;<br>&nbsp;11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dd&gt;<br>&nbsp;12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type="text" name="title" class="inputText" value="{htmlspecialchars($oDocument-&gt;getTitleText())}" /&gt;<br>&nbsp;13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dd&gt;<br>&nbsp;14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dl&gt;<br>&nbsp;15&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br>&nbsp;16 <br>&nbsp;17&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--@if(!$is_logged)--&gt;<br>&nbsp;18&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class="userNameAndPw"&gt;<br>&nbsp;19&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dl&gt;<br>&nbsp;20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dt&gt;&lt;label for="userName"&gt;{$lang-&gt;writer}&lt;/label&gt; :&lt;/dt&gt;<br>&nbsp;21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dd class="userName"&gt;&lt;input type="text" name="nick_name" value="{$oDocument-&gt;getNickName()}" class="inputText" id="userName" title="{$lang-&gt;is_required}" /&gt;&lt;/dd&gt;<br>&nbsp;22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dl&gt;<br>&nbsp;23&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dl&gt;<br>&nbsp;24&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dt&gt;&lt;label for="userPw"&gt;{$lang-&gt;password}&lt;/label&gt; :&lt;/dt&gt;<br>&nbsp;25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dd class="userPw"&gt;&lt;input type="password" name="password" value="" id="userPw" class="inputText" title="{$lang-&gt;is_required}" /&gt;&lt;/dd&gt;<br>&nbsp;26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dl&gt;<br>&nbsp;27&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dl&gt;<br>&nbsp;28&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dt&gt;&lt;label for="emailAddress"&gt;{$lang-&gt;email_address}&lt;/label&gt; :&lt;/dt&gt;<br>&nbsp;29&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dd class="emailAddress"&gt;&lt;input type="text" name="email_address" value="{htmlspecialchars($oDocument-&gt;get('email_address'))}" id="emailAddress" class="inputText" /&gt;&lt;/dd&gt;<br>&nbsp;30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dl&gt;<br>&nbsp;31&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dl&gt;<br>&nbsp;32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dt&gt;&lt;label for="homePage"&gt;{$lang-&gt;homepage}&lt;/label&gt; :&lt;/dt&gt;<br>&nbsp;33&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dd class="homePage"&gt;&lt;input type="text" name="homepage" value="{htmlspecialchars($oDocument-&gt;get('homepage'))}" id="homePage" class="inputText" /&gt;&lt;/dd&gt;<br>&nbsp;34&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dl&gt;<br>&nbsp;35&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br>&nbsp;36&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--@end--&gt;<br>&nbsp;37 <br>&nbsp;38&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--@if(count($extra_keys))--&gt;<br>&nbsp;39&nbsp;&nbsp;&nbsp;&nbsp; &lt;table border="1" cellspacing="0" summary="Extra Form" class="extraVarsList"&gt;<br>&nbsp;40&nbsp;&nbsp;&nbsp;&nbsp; &lt;caption&gt;&lt;em&gt;*&lt;/em&gt; : {$lang-&gt;is_required}&lt;/caption&gt;<br>&nbsp;41&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--@foreach($extra_keys as $key =&gt; $val)--&gt;<br>&nbsp;42&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br>&nbsp;43&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;th scope="row"&gt;{$val-&gt;name} &lt;!--@if($val-&gt;is_required=='Y')--&gt;&lt;em&gt;*&lt;/em&gt;&lt;!--@end--&gt;&lt;/th&gt;<br>&nbsp;44&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;{$val-&gt;getFormHTML()}&lt;/td&gt;<br>&nbsp;45&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br>&nbsp;46&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--@endforeach--&gt;<br>&nbsp;47&nbsp;&nbsp;&nbsp;&nbsp; &lt;/table&gt;<br>&nbsp;48&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--@endif--&gt;<br>&nbsp;49 <br>&nbsp;50&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class="editor"&gt;{$oDocument-&gt;getEditor()}&lt;/div&gt;<br>&nbsp;51&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class="formNavigation"&gt;<br>&nbsp;52&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;span class="button red strong"&gt;&lt;input type="submit" value="{$lang-&gt;cmd_registration}" accesskey="s" /&gt;&lt;/span&gt;<br>&nbsp;53&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br>&nbsp;54 <br>&nbsp;55 &lt;/form&gt;<br></p></div><div class="eArea xe_content xe_dr_hx"><h3 id="h1250845071879">tpl/filter/insert_content.xml</h3></div><div class="eArea xe_content xe_dr_txt"><p>견적서 등록 action인 procFormContentWrite 및 form 모듈이라고 설정하고 필수 항목들과 범위를 지정 하였습니다. javascript callback함수를 completeDocumentInserted로 tag는 error,message,mid,document_srl 를 지정하였습니다. <br></p><p>* 지정한 tag는 controller에서 자신 객체인 $this에 add()를 해야 합니다.<br></p></div><div class="eArea xe_content xe_dr_txt"><p>&nbsp; 1 &lt;filter name="insert_content" module="form" act="procFormContentWrite"&gt;<br>&nbsp; 2&nbsp;&nbsp; &lt;form&gt;<br>&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; &lt;node target="nick_name" required="true" maxlength="20"/&gt;<br>&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp; &lt;node target="password" required="true" /&gt;<br>&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp; &lt;node target="email_address" maxlength="250" /&gt;<br>&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp; &lt;node target="homepage" maxlength="250"/&gt;<br>&nbsp; 7&nbsp;&nbsp;&nbsp;&nbsp; &lt;node target="content" required="true" /&gt;<br>&nbsp; 8&nbsp;&nbsp; &lt;/form&gt;<br>&nbsp; 9&nbsp;&nbsp; &lt;response callback_func="completeDocumentInserted"&gt;<br>&nbsp;10&nbsp;&nbsp;&nbsp;&nbsp; &lt;tag name="error" /&gt;<br>&nbsp;11&nbsp;&nbsp;&nbsp;&nbsp; &lt;tag name="message" /&gt;<br>&nbsp;12&nbsp;&nbsp;&nbsp;&nbsp; &lt;tag name="mid" /&gt;<br>&nbsp;13&nbsp;&nbsp;&nbsp;&nbsp; &lt;tag name="document_srl" /&gt;<br>&nbsp;14&nbsp;&nbsp; &lt;/response&gt;<br>&nbsp;15 &lt;/filter&gt;<br><br></p></div><div class="eArea xe_content xe_dr_hx"><h3 id="h1250845339903">tpl/js/form.js</h3></div><div class="eArea xe_content xe_dr_txt"><p>"insert_content" filter에서 지정한 callback function인 completeDocumentInserted를 구현합니다.</p><p>ajax로 견적서 작성 처리후 실행되어 tag값을 참조하고 견적서 목록으로 이동합니다.</p></div><div class="eArea xe_content xe_dr_txt"><p>&nbsp; 1 /* 견적서 작성후 */<br>&nbsp; 2 function completeDocumentInserted(ret_obj) {<br>&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; var error = ret_obj['error'];<br>&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp; var message = ret_obj['message'];<br>&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp; var mid = ret_obj['mid'];<br>&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp; var document_srl = ret_obj['document_srl'];<br>&nbsp; 7<br>&nbsp; 8&nbsp;&nbsp;&nbsp; <br>&nbsp; 9&nbsp;&nbsp;&nbsp;&nbsp; var url;<br>&nbsp;10&nbsp;&nbsp;&nbsp;&nbsp; if(document_srl) {<br>&nbsp;11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act','');<br>&nbsp;12&nbsp;&nbsp;&nbsp;&nbsp; } else {<br>&nbsp;13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; url = current_url.setQuery('mid',mid).setQuery('act','');<br>&nbsp;14&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp;15&nbsp;&nbsp;&nbsp;&nbsp; location.href = url;<br>&nbsp;16 }&nbsp;&nbsp; <br><br></p></div><div class="eArea xe_content xe_dr_hx"><h3 id="h1250844406343">견적서 추가부분 formController::procFormContentWrite()</h3></div><div class="eArea xe_content xe_dr_txt"><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function procFormContentWrite() {<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 글작성시 필요한 변수를 세팅<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $obj = Context::getRequestVars();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $obj-&gt;module_srl = $this-&gt;module_srl;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; settype($obj-&gt;title, "string");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($obj-&gt;title == '') $obj-&gt;title = cut_str(strip_tags($obj-&gt;content),20,'...');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //그래도 없으면 Untitled<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($obj-&gt;title == '') $obj-&gt;title = 'Untitled';<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // document module의 model 객체 생성<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocumentModel = &amp;getModel('document');<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // document module의 controller 객체 생성<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocumentController = &amp;getController('+
'+
'document');<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 이미 존재하는 글인지 체크<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocument = $oDocumentModel-&gt;getDocument($obj-&gt;document_srl, true);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 이미 존재하는 경우 수정<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($oDocument-&gt;isExists() &amp;&amp; $oDocument-&gt;document_srl == $obj-&gt;document_srl) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $output = $oDocumentController-&gt;updateDocument($oDocument, $obj);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $msg_code = 'success_updated';<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 그렇지 않으면 신규 등록<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $output = $oDocumentController-&gt;insertDocument($obj);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $msg_code = 'success_registed';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $obj-&gt;document_srl = $output-&gt;get('document_srl');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 오류 발생시 멈춤<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(!$output-&gt;toBool()) return $output;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 결과를 리턴<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;add('mid', Context::get('mid'));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;add('document_srl', $output-&gt;get('document_srl'));<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 성공 메세지 등록<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;setMessage($msg_code);<br>&nbsp; &nbsp; &nbsp; }<br></p></div>
sol 2009.08.21 18:06:09
복원
<div class="eArea xe_content xe_dr_hx"><h3 id="h1250844354483">견적서 추가화면 formView::dispFormContentWrite()</h3></div><div class="eArea xe_content xe_dr_txt"><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /**<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * @brief 견적서 작성 화면 출력<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; **/<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function dispFormContentWrite() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocumentModel = &amp;getModel('document');<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // GET parameter에서 document_srl을 가져옴<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $document_srl = Context::get('document_srl');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocument = $oDocumentModel-&gt;getDocument(0);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocument-&gt;add('module_srl', $this-&gt;module_srl);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Context::set('oDocument', $oDocument);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 확장변수처리를 위해 xml_js_filter를 직접 header에 적용<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocumentController = &amp;getController('document');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocumentController-&gt;addXmlJsFilter($this-&gt;module_info-&gt;module_srl);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 사용되는 javascript 필터 추가<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Context::addJsFilter($this-&gt;module_path.'tpl/filter', 'insert_content.xml');<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;setTemplateFile('write');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br></p></div><div class="eArea xe_content xe_dr_hx"><h3 id="h1250844377888">skins/sample/write.html</h3></div><div class="eArea xe_content xe_dr_txt"><p>3 &lt;form action="./" method="post" onsubmit="return procFilter(this, insert_content)" id="fo_write" class="formWrite"&gt;</p><p>XE에서는 form을 전송할 때 직접 post/get으로 submit 하지 않고 procFilter()를 통해 Ajax로 call 한 뒤 response를 받아 작성한 "tpl/filter/insert_content.xml" 의 callback을 통해 실행됩니다.<br></p></div><div class="eArea xe_content xe_dr_txt"><p>&nbsp; 1 &lt;!--%import("css/form.css")--&gt;<br>&nbsp; 2 <br>&nbsp; 3 &lt;form action="./" method="post" onsubmit="return procFilter(this, insert_content)" id="fo_write" class="formWrite"&gt;<br>&nbsp; 4 &lt;input type="hidden" name="mid" value="{$mid}" /&gt;<br>&nbsp; 5 &lt;input type="hidden" name="document_srl" value="{$document_srl}" /&gt;<br>&nbsp; 6 &lt;input type="hidden" name="content" value="{$oDocument-&gt;getContentText()}" /&gt;<br>&nbsp; 7 <br>&nbsp; 8&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class="formWriteHeader"&gt;<br>&nbsp; 9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dl class="title"&gt;<br>&nbsp;10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dt&gt;&lt;label class="title"&gt;{$lang-&gt;title} :&lt;/label&gt;&lt;/dt&gt;<br>&nbsp;11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dd&gt;<br>&nbsp;12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type="text" name="title" class="inputText" value="{htmlspecialchars($oDocument-&gt;getTitleText())}" /&gt;<br>&nbsp;13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dd&gt;<br>&nbsp;14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dl&gt;<br>&nbsp;15&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br>&nbsp;16 <br>&nbsp;17&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--@if(!$is_logged)--&gt;<br>&nbsp;18&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class="userNameAndPw"&gt;<br>&nbsp;19&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dl&gt;<br>&nbsp;20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dt&gt;&lt;label for="userName"&gt;{$lang-&gt;writer}&lt;/label&gt; :&lt;/dt&gt;<br>&nbsp;21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dd class="userName"&gt;&lt;input type="text" name="nick_name" value="{$oDocument-&gt;getNickName()}" class="inputText" id="userName" title="{$lang-&gt;is_required}" /&gt;&lt;/dd&gt;<br>&nbsp;22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dl&gt;<br>&nbsp;23&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dl&gt;<br>&nbsp;24&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dt&gt;&lt;label for="userPw"&gt;{$lang-&gt;password}&lt;/label&gt; :&lt;/dt&gt;<br>&nbsp;25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dd class="userPw"&gt;&lt;input type="password" name="password" value="" id="userPw" class="inputText" title="{$lang-&gt;is_required}" /&gt;&lt;/dd&gt;<br>&nbsp;26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dl&gt;<br>&nbsp;27&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dl&gt;<br>&nbsp;28&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dt&gt;&lt;label for="emailAddress"&gt;{$lang-&gt;email_address}&lt;/label&gt; :&lt;/dt&gt;<br>&nbsp;29&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dd class="emailAddress"&gt;&lt;input type="text" name="email_address" value="{htmlspecialchars($oDocument-&gt;get('email_address'))}" id="emailAddress" class="inputText" /&gt;&lt;/dd&gt;<br>&nbsp;30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dl&gt;<br>&nbsp;31&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dl&gt;<br>&nbsp;32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dt&gt;&lt;label for="homePage"&gt;{$lang-&gt;homepage}&lt;/label&gt; :&lt;/dt&gt;<br>&nbsp;33&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dd class="homePage"&gt;&lt;input type="text" name="homepage" value="{htmlspecialchars($oDocument-&gt;get('homepage'))}" id="homePage" class="inputText" /&gt;&lt;/dd&gt;<br>&nbsp;34&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dl&gt;<br>&nbsp;35&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br>&nbsp;36&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--@end--&gt;<br>&nbsp;37 <br>&nbsp;38&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--@if(count($extra_keys))--&gt;<br>&nbsp;39&nbsp;&nbsp;&nbsp;&nbsp; &lt;table border="1" cellspacing="0" summary="Extra Form" class="extraVarsList"&gt;<br>&nbsp;40&nbsp;&nbsp;&nbsp;&nbsp; &lt;caption&gt;&lt;em&gt;*&lt;/em&gt; : {$lang-&gt;is_required}&lt;/caption&gt;<br>&nbsp;41&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--@foreach($extra_keys as $key =&gt; $val)--&gt;<br>&nbsp;42&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br>&nbsp;43&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;th scope="row"&gt;{$val-&gt;name} &lt;!--@if($val-&gt;is_required=='Y')--&gt;&lt;em&gt;*&lt;/em&gt;&lt;!--@end--&gt;&lt;/th&gt;<br>&nbsp;44&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;{$val-&gt;getFormHTML()}&lt;/td&gt;<br>&nbsp;45&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br>&nbsp;46&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--@endforeach--&gt;<br>&nbsp;47&nbsp;&nbsp;&nbsp;&nbsp; &lt;/table&gt;<br>&nbsp;48&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--@endif--&gt;<br>&nbsp;49 <br>&nbsp;50&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class="editor"&gt;{$oDocument-&gt;getEditor()}&lt;/div&gt;<br>&nbsp;51&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class="formNavigation"&gt;<br>&nbsp;52&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;span class="button red strong"&gt;&lt;input type="submit" value="{$lang-&gt;cmd_registration}" accesskey="s" /&gt;&lt;/span&gt;<br>&nbsp;53&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br>&nbsp;54 <br>&nbsp;55 &lt;/form&gt;<br></p></div><div class="eArea xe_content xe_dr_hx"><h3 id="h1250844406343">견적서 추가부분 formController::procFormContentWrite()</h3></div><div class="eArea xe_content xe_dr_txt"><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function procFormContentWrite() {<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 글작성시 필요한 변수를 세팅<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $obj = Context::getRequestVars();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $obj-&gt;module_srl = $this-&gt;module_srl;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; settype($obj-&gt;title, "string");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($obj-&gt;title == '') $obj-&gt;title = cut_str(strip_tags($obj-&gt;content),20,'...');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //그래도 없으면 Untitled<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($obj-&gt;title == '') $obj-&gt;title = 'Untitled';<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // document module의 model 객체 생성<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocumentModel = &amp;getModel('document');<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // document module의 controller 객체 생성<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocumentController = &amp;getController('document');<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 이미 존재하는 글인지 체크<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oDocument = $oDocumentModel-&gt;getDocument($obj-&gt;document_srl, true);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 이미 존재하는 경우 수정<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($oDocument-&gt;isExists() &amp;&amp; $oDocument-&gt;document_srl == $obj-&gt;document_srl) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $output = $oDocumentController-&gt;updateDocument($oDocument, $obj);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $msg_code = 'success_updated';<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 그렇지 않으면 신규 등록<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $output = $oDocumentController-&gt;insertDocument($obj);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $msg_code = 'success_registed';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $obj-&gt;document_srl = $output-&gt;get('document_srl');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 오류 발생시 멈춤<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(!$output-&gt;toBool()) return $output;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 결과를 리턴<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;add('mid', Context::get('mid'));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;add('document_srl', $output-&gt;get('document_srl'));<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 성공 메세지 등록<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;setMessage($msg_code);<br>&nbsp; &nbsp; &nbsp; }<br></p></div>
sol 2009.08.21 17:54:31