대댓글 들여쓰기 대신 @이름 으로 변경 및 무한대댓글 > 코딩

본문 바로가기
사이트 내 전체검색

코딩

그누보드 대댓글 들여쓰기 대신 @이름 으로 변경 및 무한대댓글

페이지 정보

본문

URL 복사

그누보드에서 대댓글을 쓰면 해당 댓글밑에 들여쓰기로 댓글이 입력되어집니다

이 댓글에 대댓글을 달면 또 들여쓰기가 되어지죠

 

이걸 댓글 답변대상의 @이름 으로 바꾸고 들여쓰기를 없애는 방법을 알려드리도록하겠습니다

 

주의! 그누보드 기존 댓글 들여쓰기방식을 완전히 바꾸는거기때문에 기존 댓글구조를 많이 바꿉니다.

테스트 사이트에서 한번 해보시고 이방식이 마음에 든다하시면 그때 밑에 따라하면서 바꿔보세요

대부분 커뮤니티 사이트에서 적용하고있는 방식입니다.

본기능은 @멘션기능이 아닙니다 댓글 답변대상의 이름을 댓글 앞에 출력하는것일뿐입니다.

 

먼저

>> /bbs/view_comment.php

20번째줄

기존 > $sql = " select * from $write_table where wr_parent = '$wr_id' and wr_is_comment = 1 order by wr_comment, wr_comment_reply ";

변경 > $sql = " select * from $write_table where wr_parent = '$wr_id' and wr_is_comment = 1 order by wr_comment, wr_id";

으로 바꿔줍니다

 

90번째줄 

//if (strlen($row['wr_comment_reply']) < 5)

if조건만 주석처리합니다 이 조건은 기존에는 5단계까지 대댓글이 달리면 더이상 답변을 불가능하게 하는 조건입니다

그리고 바로아래에

 

$list[$i]['wr_comment_reply'] = explode("|", $row['wr_comment_reply']);

을 새로 추가해주세요

 

100,101번째줄

기존 > $tmp_comment_reply = substr($row['wr_comment_reply'], 0, strlen($row['wr_comment_reply']) - 1);

기존 > if ($tmp_comment_reply == $list[$i-1]['wr_comment_reply'])

변경 > $tmp_comment_reply = explode("|", $row['wr_comment_reply']);

변경 > if ($tmp_comment_reply[0] == $list[$i-1]['wr_id'])

 

여기는 답변있는 코멘트 수정, 삭제 불가능하게 하는 조건이있는곳입니다

기존 사용하던 방식은 사용을 안하기에 변경된 방식으로 완전히 바꾸어줍니다

변경된 방식은 wr_comment_reply컬럼에 답변대상의 wr_id를 저장하여 해당되는 코멘트는 수정,삭제가 불가능하도록 변경하는것입니다

 

>> /bbs/write_comment_update.php

여긴뭐 간단합니다 99~133번째줄 싹 날려주세요

if (strlen($reply_array['wr_comment_reply']) == 5) ~~~~ $reply_char = chr(ord($row['reply']) + $reply_number);

이부분입니다 여긴 기존에 대댓글 들여쓰기를 위한 조건이 명시되어있는곳입니다 걍 안쓰니깐 싹날려주세요

 

그리고 135번째줄

기존 > $tmp_comment_reply = $reply_array['wr_comment_reply'] . $reply_char;

변경 > $tmp_comment_reply = $reply_array['wr_id'].'|'.$reply_array['wr_name'];

 

여기서 답변달때 답변한곳의 wr_id값과 이름을 저장합니다

 

 

중요!!! 변경된 wr_comment_reply 쓰임이 바뀜에 따라 만약 기존 생성되어있는 게시판이있다면 아래 코드를 관리자페이지(adm/index.php등등)에서 실행시켜주시고 삭제해주세요(1번만 실행)

$sql = " select bo_table from `{$g5['board_table']}` ";

$result = sql_query($sql);

for ($i=0; $row=sql_fetch_array($result); $i++) {

  sql_query("ALTER TABLE `g5_write_{$row['bo_table']}` CHANGE COLUMN `wr_comment_reply` `wr_comment_reply` VARCHAR(255) NOT NULL;");

}

기존 varchar(5)로 되어있던걸 255로 늘리는겁니다

 

>> /adm/sql_write.sql

여기서 8번째줄에 wr_comment_reply의 varchar를 255로 변경해주세요

여기는 새로운 게시판을 생성할때 테이블 구조를 저장해놓은 sql문입니다 새로운 게시판생성시 그대로 따라가야하기때문에..

 

 

이제 출력부분입니다 다왔습니다

코멘트를 사용중인 skin은 모두 변경해주셔야합니다(출력부분이라...ㅠㅠ 모두 변경해주셔야해요)

skin/사용중인스킨/view_comment.skin.php

에서 $cmt_depth를 사용하는곳을 찾아보셔야합니다

 

기존 > $cmt_depth = strlen($list[$i]['wr_comment_reply']) * 50;

변경 > $cmt_depth = ($list[$i]['wr_comment_reply'][1])? true : false;

 

<article> 태그에 style보시면 $cmt_depth이 있습니다 여기서 margin-left:<?php echo $cmt_depth ?>px 를 기존 50이나 원하는 수치로 직접입력해주세요

 

그다음 댓글출력부분이있습니다 <div class="cmt_contents">안에 

<?php if ($cmt_depth) { ?><span class="mention">@<?php echo $list[$i]['wr_comment_reply'][1]; ?></span><?php } ?>

를 추가해주시거나 원하는 부분에 넣어주세요

 

멘션 출력부분이라 저렇게만해주시고 디자인은 원하시는대로 만들어주세요

클래스 mention을 미리잡아뒀는데 바꾸셔도되고 그대로 뭐 사용하셔도되고... 이 팁을 적용하시는분 마음이겠죠? ㅎㅎ

 

전이렇게 썻습니다 그냥 색깔하고 배경색만 ㅎㅎ..

#bo_vc .cmt_contents .mention {color: #3493ff;background-color: #eaf4ff;border-radius: 10px;padding: 0 5px;}

 

모바일스킨에도 바꾸셔야할꺼고.. 사용중인 스킨이있다면 코멘트스킨부분을 모두 바꿔주셔야합니다

구조가 바꼈기때문에... 바꾸시지않으면 대댓글이든 댓글이든 그냥 쭉 나열될꺼에요 ㅎㅎ..

 

그럼 이제 대댓글을 입력하면

해당 댓글 답변 대상이 된사람의 이름이 댓글 앞에 노출이 됩니다.

 

감사합니다 이상한게 있다면 알려주세요.

 

 

 

추천0 비추천0

댓글목록

profile_image

테스트님의 댓글

G 테스트 이름으로 검색 작성일

테스트

추천0 비추천0
profile_image

테스트2님의 댓글의 댓글

G 테스트2 이름으로 검색 작성일
@테스트

22

추천0 비추천0
profile_image

운영자님의 댓글

M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 작성일

테스트

추천0 비추천0
profile_image

테스트유저2님의 댓글의 댓글

G 테스트유저2 이름으로 검색 작성일
@운영자

5454

추천0 비추천0
profile_image

테스트유저2님의 댓글의 댓글

G 테스트유저2 이름으로 검색 작성일
@운영자

455445

추천0 비추천0
profile_image

운영자님의 댓글의 댓글

M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 작성일
@테스트유저2

ㅎㅇㅎㅇ

추천0 비추천0
profile_image

운영자님의 댓글의 댓글

M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 작성일
@테스트유저2

....

추천0 비추천0
profile_image

테스트유저3님의 댓글의 댓글

G 테스트유저3 이름으로 검색 작성일
@운영자

qwr

추천0 비추천0
profile_image

테스트유저4님의 댓글의 댓글

G 테스트유저4 이름으로 검색 작성일
@테스트유저3

그거어어언아니죠오오

추천0 비추천0
profile_image

운영자님의 댓글

M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 작성일

테스트트트트트트트그그르르르

추천0 비추천0
profile_image

건들이님의 댓글의 댓글

47 건들이 쪽지보내기 자기소개 마이페이지 아이디로 검색 작성일
@운영자

테스트참여하면되나요?

추천0 비추천0
profile_image

운영자님의 댓글의 댓글

M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 작성일
@건들이

네 ㅋㅋ 감사합니다

추천0 비추천0
profile_image

댓글1님의 댓글의 댓글

G 댓글1 이름으로 검색 작성일
@운영자

좋아요~~~~~~~~~~

추천0 비추천0
profile_image

댓글1님의 댓글

G 댓글1 이름으로 검색 작성일

댓글입니다.

추천0 비추천0
profile_image

댓글1님의 댓글의 댓글

G 댓글1 이름으로 검색 작성일
@댓글1

대댓글입니다.

추천0 비추천0
profile_image

댓글1님의 댓글의 댓글

G 댓글1 이름으로 검색 작성일
@댓글1

대댓글의 댓글입니다.

추천0 비추천0
profile_image

댓글2님의 댓글의 댓글

G 댓글2 이름으로 검색 작성일
@댓글1

ㅇㅇ

추천0 비추천0
profile_image

댓글1님의 댓글

G 댓글1 이름으로 검색 작성일

좋아요~~~~~~~~~~
좋아요~~~~~~~~~~
좋아요~~~~~~~~~~
좋아요~~~~~~~~~~
좋아요~~~~~~~~~~

추천0 비추천0
Total 15건 1 페이지
코딩 목록
번호 제목 글쓴이 날짜 추천 조회
공지 M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 07-21 0 268
공지 M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 07-02 0 289
공지 M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 06-03 0 317
15 PHP M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 08-07 0 2
14 그누보드 M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 08-06 0 6
13 IT정보 M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 08-05 0 12
12 그누보드 M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 07-14 0 48
11 IT정보 M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 07-10 0 53
열람중 그누보드 M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 07-10 0 341
9 그누보드 M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 07-08 0 89
8 html,CSS M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 06-23 0 95
7 그누보드 M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 06-05 0 103
6 그누보드 M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 06-05 0 78
5 그누보드 M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 05-29 0 63
4 그누보드 M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 05-29 0 67
3 그누보드 M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 05-07 0 165
2 그누보드 M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 04-29 0 112
1 그누보드 M 운영자 쪽지보내기 자기소개 마이페이지 아이디로 검색 04-28 0 138

검색

회원로그인

회원가입

사이트 정보

회사명 : YEAH 커뮤니티 / 대표 : 이성재 / 개인정보관리책임자 : 이성재

Copyright © YE-AH.NET All rights reserved.