웹마스터 팁

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


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

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


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


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.22
강남오피 ⦑오피.CLUB⦒ 강남오피 강남출장마사지 강남오피 강남OP koykoyah 2025.02.22
세종오피 세종오피 ⦑오피쓰.COM⦒ 세종OP 세종스파 세종오피 koykoyah 2025.02.22
대구오피 ⦑오피.CLUB⦒ 대구오피 대구출장마사지 대구오피 대구OP koykoyah 2025.02.22
광주오피 ⦑오피사이트.NET⦒ 광주오피 광주출장마사지 광주오피 광주OP koykoyah 2025.02.22
강북오피 ⦑출장안마사이트.COM⦒ 강북마사지 강북오피 강북오피 강북OP koykoyah 2025.02.22
분당오피 ⦑출장안마사이트.COM⦒ 분당오피 분당출장마사지 분당오피 분당OP koykoyah 2025.02.22
남양주오피 남양주OP ⦑출장안마사이트.COM⦒ 남양주휴게텔 남양주오피 남양주오피 koykoyah 2025.02.22
영등포오피 영등포OP ⦑출장안마사이트.COM⦒ 영등포휴게텔 영등포오피 영등포오피 koykoyah 2025.02.22
부산오피 부산오피 ⦑출장마사지안내.COM⦒ 부산OP 부산스파 부산오피 koykoyah 2025.02.22
서면오피 ⦑출장마사지안내.COM⦒ 서면오피 서면OP 서면건마 서면오피 koykoyah 2025.02.22
영등포오피 ⦑출장마사지안내.COM⦒ 영등포오피 영등포출장마사지 영등포오피 영등포OP koykoyah 2025.02.22
역삼오피 역삼OP ⦑오피쓰주소.COM⦒ 역삼휴게텔 역삼오피 역삼오피 koykoyah 2025.02.22
전주오피 전주OP ⦑오피쓰주소.COM⦒ 전주휴게텔 전주오피 전주오피 koykoyah 2025.02.22
산본오피 ⦑출장안마사이트.COM⦒ 산본오피 산본OP 산본건마 산본오피 koykoyah 2025.02.22
의정부오피 ⦑오피.CLUB⦒ 의정부오피 의정부OP 의정부건마 의정부오피 koykoyah 2025.02.22
역삼오피 ⦑출장마사지안내.COM⦒ 역삼OP 역삼오피 역삼출장샵 역삼오피 koykoyah 2025.02.22
제주도오피 제주도오피 ⦑출장안마사이트.COM⦒ 제주도OP 제주도스파 제주도오피 koykoyah 2025.02.22
구미오피 ⦑오피.CLUB⦒ 구미오피 구미출장마사지 구미오피 구미OP koykoyah 2025.02.22
구미오피 구미출장안마 ⦑오피.CLUB⦒ 구미OP 구미오피 구미오피 koykoyah 2025.02.22