웹마스터 팁

소스 코드를 수정하는 것이므로 반드시 백업을 해두실 것을 권합니다.


일반적인 댓글 삭제/수정/답글 시 바로 팝업창을 띄워 처리하는 팁입니다.

아래 댓글 새창보기에서 삭제/수정/답글 기능도 넣고자 하시는 분은 이 팁을 적용하시면 됩니다.


우선 첨부 파일을 아래의 경로에 맞추어 풀어줍니다.


popup_etc_layout.html => common/tpl/popup_etc_layout.html


popup_comment_form.html => modules/board/tpl/popup_comment_form.html

popup_delete_comment_form.html => modules/board/tpl/popup_delete_comment_form.html

filter/insert_pop_comment.xml => modules/board/tpl/filter/insert_pop_comment.xml


아래 댓글 새창보기 팁을 적용하지 않으신 분은 common/js/common.js 에서 popopen 함수를 찾아 그 밑에 popopen2 함수를 추가합니다. 이미 추가하셨으면 안 하셔도 됩니다.


function popopen2(url, target, pop_width, pop_height) {

    if(typeof(target) == "undefined") target = "_blank";

    if(typeof(xeVid)!='undefined' && url.indexOf(request_uri)>-1 && !url.getQuery('vid'+ '+ ')) url = url.setQuery('vid',xeVid);

    if(typeof(pop_width) == "undefined") pop_width = "350";

    if(typeof(pop_height) == "undefined") pop_height = "120";

    winopen(url, target, "left=10,top=10,width="+pop_width+",height="+pop_height+",scrollbars=yes,resizable=yes,toolbars=no");

}


이후 설명의 편의를 위해 댓글 삭제 부분과 댓글 수정/답글 부분을 나누어 설명 드리겠습니다.

또 게시판 스킨 수정은 전과 마찬가지로 xe_official 게시판 스킨을 기준으로 합니다.



[댓글 삭제]


1. modules/board/board.view.php 약 550라인쯤에 '* @brief 댓글 삭제 화면 출력' 부분을 찾아 다음과 같이 수정합니다.


$this->setTemplateFile('delete_comment_form');

=>

         // 팝업 레이아웃 선택

        $this->setLayoutPath('./common/tpl');

        $this->setLayoutFile('popup_etc_layout');

            

        $this->setTemplatePath($this->module_path.'tpl');

        $this->setTemplateFile('popup_delete_comment_form');


2. modules/board/tpl/js/board.js 약 84라인 /* 댓글 삭제 */ 부분을 찾아 var url 이하를 아래처럼 수정합니다.


    //var url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act','');

    var url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl);

    if(page) url = url.setQuery('page',page);


    //alert(message);


    opener.location.href = opener.location.href;

    window.close();

}

 

3. 이제 게시판 스킨을 수정합니다. 

modules/board/skins/xe_official/comment.html 에서 댓글 삭제 링크를 찾아 아래처럼 onclick 이하를 추가합니다.


<li><a href="{getUrl("act','dispBoardDeleteComment','comment_srl',$comment->comment_srl)}">{$lang->cmd_delete}</a></li>


=>


<li><a href="{getUrl("act','dispBoardDeleteComment','comment_srl',$comment->comment_srl)}"  onclick="popopen2(this.href,'CommDel',360,120); return false;">{$lang->cmd_delete}</a></li>


다른 스킨에 적용 시에도 comment.html에서 댓글 삭제 링크에 onclick 이하 부분을 추가해주시면 됩니다.



[댓글 수정/답글]


1. modules/board/board.view.php 에서

* @brief 댓글의 답글 화면 출력 함수 function dispBoardReplyComment() 와

* @brief 댓글 수정 폼 출력 함수 function dispBoardModifyComment() 를 찾아 각각 아래와 같이 수정합니다.


            /** 

             * 사용되는 javascript 필터 추가

             **/

            Context::addJsFilter($this->module_path.'tpl/filter', 'insert_comment.xml');

       

            $this->setTemplateFile('comment_form');


=>


            /** 

             * 사용되는 javascript 필터 추가

             **/

            Context::addJsFilter($this->module_path.'tpl/filter', 'insert_pop_comment.xml');


            // 팝업 레이아웃 선택

            $this->setLayoutPath('./common/tpl');

            $this->setLayoutFile('popup_etc_layout');

            

            $this->setTemplatePath($this->module_path.'tpl');            

            $this->setTemplateFile('popup_comment_form'+ '); 


2. modules/board/tpl/js/board.js 에서 '/*댓글 작성 후 함수*/' 다음에 아래 함수를 추가합니다.


/* 댓글 새창 답글, 수정 작성후 */

function completePopInsertComment(ret_obj) {

    var error = ret_obj['error'];

    var message = ret_obj['message'];

    var mid = ret_obj['mid'];

    var document_srl = ret_obj['document_srl'];

    var comment_srl = ret_obj['comment_srl'];


    opener.location.href = opener.location.href;

    window.close();

}


3. 이제 게시판 스킨을 수정합니다. 

modules/board/skins/xe_official/comment.html 에서 댓글 수정/답글 링크를 찾아 다음과 같이 onclick 이하를 추가합니다.


<li><a href="{getUrl("act','dispBoardReplyComment','comment_srl',$comment->comment_srl)}">{$lang->cmd_reply}</a></li> 

<!--@if($comment->isGranted() || !$comment->get('member_srl') || $grant->manager)-->

<li><a href="{getUrl("act','dispBoardModifyComment','comment_srl',$comment->comment_srl)}">{$lang->cmd_modify}</a></li>


=>


<li><a href="{getUrl("act','dispBoardReplyComment','comment_srl',$comment->comment_srl)}"onclick="popopen2(this.href,'CommReply',600,300); return false;">{$lang->cmd_reply}</a></li> 

<!--@if($comment->isGranted() || !$comment->get('member_srl') || $grant->manager)-->

<li><a href="{getUrl("act','dispBoardModifyComment','+ 'comment_srl',$comment->comment_srl)}"onclick="popopen2(this.href,'CommModify',600,300); return false;">{$lang->cmd_modify}</a></li>


다른 스킨에서도 comment.html에서 댓글 수정/답글 링크에 'onclick=~' 부분을 추가해주시면 됩니다.



[댓글 새창보기에 적용]


modules/board/tpl/comment_pop.html 에서 아래 부분을 찾아 '<!--//봉인 ' 과 ' -->'을 삭제만 하면 됩니다.

 

<!--//봉인
<li><a href="{getUrl("act'+ ','dispBoardReplyComment','comment_srl',$comment->comment_srl)}" onclick="popopen2(this.href,'CommReply',600,300); return false;">{$lang->cmd_reply}</a></li>
<!--@if($comment->isGranted() || !$comment->get('member_srl') || $grant->manager)-->
<li><a href="{getUrl("act','dispBoardModifyComment','comment_srl',$comment->comment_srl)}" onclick="popopen2(this.href,'CommModify',600,300); return false;">{$lang->cmd_modify}</a></li>
<li><a href="{getUrl("act','dispBoardDeleteComment','+ 'comment_srl',$comment->comment_srl)}"  onclick="popopen2(this.href,'CommDel',300,120); return false;">{$lang->cmd_delete}</a></li>
<!--@end-->
-->

 

제목 글쓴이 날짜
답십리오피 ⦑출장안마사이트.COM⦒ 답십리오피 답십리출장마사지 답십리오피 답십리OP koykoyah 2025.02.20
강서오피 ⦑오피사이트.NET⦒ 강서오피 강서출장마사지 강서오피 강서OP koykoyah 2025.02.20
산본오피 산본오피 ⦑오피.CLUB⦒ 산본OP 산본스파 산본오피 koykoyah 2025.02.20
창원오피 ⦑오피사이트.NET⦒ 창원오피 창원OP 창원건마 창원오피 koykoyah 2025.02.20
가락오피 가락OP ⦑출장마사지안내.COM⦒ 가락휴게텔 가락오피 가락오피 koykoyah 2025.02.20
남양주오피 남양주오피 ⦑오피사이트.NET⦒ 남양주OP 남양주스파 남양주오피 koykoyah 2025.02.20
산본오피 산본출장안마 ⦑오피사이트.NET⦒ 산본OP 산본오피 산본오피 koykoyah 2025.02.20
서면오피 ⦑오피사이트.NET⦒ 서면오피 서면OP 서면건마 서면오피 koykoyah 2025.02.20
제주오피 제주오피 ⦑출장안마사이트.COM⦒ 제주OP 제주스파 제주오피 koykoyah 2025.02.20
의정부오피 의정부OP ⦑오피사이트.NET⦒ 의정부휴게텔 의정부오피 의정부오피 koykoyah 2025.02.20
서면오피 서면오피 ⦑오피.CLUB⦒ 서면OP 서면스파 서면오피 koykoyah 2025.02.20
선릉오피 선릉OP ⦑오피.CLUB⦒ 선릉휴게텔 선릉오피 선릉오피 koykoyah 2025.02.20
강북오피 강북OP ⦑오피.CLUB⦒ 강북휴게텔 강북오피 강북오피 koykoyah 2025.02.20
인천오피 인천출장안마 ⦑오피사이트.NET⦒ 인천OP 인천오피 인천오피 koykoyah 2025.02.20
전주오피 ⦑오피.CLUB⦒ 전주오피 전주OP 전주건마 전주오피 koykoyah 2025.02.20
강서오피 강서OP ⦑오피쓰주소.COM⦒ 강서휴게텔 강서오피 강서오피 koykoyah 2025.02.20
안산오피 ⦑오피.CLUB⦒ 안산OP 안산오피 안산출장샵 안산오피 koykoyah 2025.02.20
여의도오피 여의도오피 ⦑출장마사지안내.COM⦒ 여의도OP 여의도스파 여의도오피 koykoyah 2025.02.20
안산오피 ⦑오피사이트.NET⦒ 안산마사지 안산오피 안산오피 안산OP koykoyah 2025.02.20
신도림오피 ⦑출장마사지안내.COM⦒ 신도림오피 신도림출장마사지 신도림오피 신도림OP koykoyah 2025.02.20