웹마스터 팁

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


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

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


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


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-->
-->

 

제목 글쓴이 날짜
용인오피 용인출장안마 ⦑오피사이트.NET⦒ 용인OP 용인오피 용인오피 koykoyah 2025.02.20
부평오피 ⦑오피쓰주소.COM⦒ 부평OP 부평오피 부평출장샵 부평오피 koykoyah 2025.02.20
천안오피 천안OP ⦑오피쓰.COM⦒ 천안휴게텔 천안오피 천안오피 koykoyah 2025.02.20
충주오피 충주출장안마 ⦑출장마사지안내.COM⦒ 충주OP 충주오피 충주오피 koykoyah 2025.02.20
동대문오피 동대문출장안마 ⦑오피쓰.COM⦒ 동대문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
서초오피 서초OP ⦑오피쓰.COM⦒ 서초휴게텔 서초오피 서초오피 koykoyah 2025.02.20
여의도오피 ⦑출장안마사이트.COM⦒ 여의도오피 여의도출장마사지 여의도오피 여의도OP koykoyah 2025.02.20
제주도오피 제주도출장안마 ⦑오피쓰.COM⦒ 제주도OP 제주도오피 제주도오피 koykoyah 2025.02.20
제주오피 제주OP ⦑오피쓰주소.COM⦒ 제주휴게텔 제주오피 제주오피 koykoyah 2025.02.20
부산오피 ⦑출장안마사이트.COM⦒ 부산OP 부산오피 부산출장샵 부산오피 koykoyah 2025.02.20
서면오피 서면출장안마 ⦑오피.CLUB⦒ 서면OP 서면오피 서면오피 koykoyah 2025.02.20
선릉오피 ⦑오피쓰주소.COM⦒ 선릉OP 선릉오피 선릉출장샵 선릉오피 koykoyah 2025.02.20
천안오피 ⦑오피쓰.COM⦒ 천안마사지 천안오피 천안오피 천안OP koykoyah 2025.02.20
세종오피 ⦑오피.CLUB⦒ 세종OP 세종오피 세종출장샵 세종오피 koykoyah 2025.02.20
홍대오피 ⦑출장안마사이트.COM⦒ 홍대마사지 홍대오피 홍대오피 홍대OP koykoyah 2025.02.20
해운대오피 ⦑출장마사지안내.COM⦒ 해운대OP 해운대오피 해운대출장샵 해운대오피 koykoyah 2025.02.20