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

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

코딩

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

페이지 정보

profile_image
작성자 운영자 쪽지보내기 마이페이지 아이디로 검색  (222.107)
댓글 38건 조회 6,778회 작성일 20-07-10 16:21

본문

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

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

 

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

 

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

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

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

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

 

먼저

>> /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
URL 복사
댓글 38 /

댓글목록

profile_image

예게님의 댓글의 댓글

예게 이름으로 검색 아이피 (211.200) 작성일
@예게

1페이지 못넘어가나...?

추천0 비추천0
profile_image

예게님의 댓글의 댓글

예게 이름으로 검색 아이피 (211.192) 작성일
@예게

ㄷㄱㄹㅁㅇㄹㄴㄹㅇㄹㅁㄴㅇㄹ

추천0 비추천0
profile_image

예게님의 댓글의 댓글

예게 이름으로 검색 아이피 (211.192) 작성일
@예게

ㄷㄱㄹㅁㅇㄹㄴㄹㅇㄹㅁㄴㅇㄹ

추천0 비추천0
Total 39건 2 페이지
  • RSS
코딩 목록
번호 제목 글쓴이 날짜 추천 조회
19 운영자 쪽지보내기 마이페이지 아이디로 검색 10-13 0 866
18 운영자 쪽지보내기 마이페이지 아이디로 검색 10-06 0 766
17 건들이 쪽지보내기 마이페이지 아이디로 검색 08-22 1 920
16 운영자 쪽지보내기 마이페이지 아이디로 검색 08-14 0 1622
15 운영자 쪽지보내기 마이페이지 아이디로 검색 08-07 0 1041
14 운영자 쪽지보내기 마이페이지 아이디로 검색 08-06 0 929
13 운영자 쪽지보내기 마이페이지 아이디로 검색 08-05 0 2006
12 운영자 쪽지보내기 마이페이지 아이디로 검색 07-14 0 1231
11 운영자 쪽지보내기 마이페이지 아이디로 검색 07-10 0 866
열람중 운영자 쪽지보내기 마이페이지 아이디로 검색 07-10 0 6779
9 운영자 쪽지보내기 마이페이지 아이디로 검색 07-08 0 1124
8 운영자 쪽지보내기 마이페이지 아이디로 검색 06-23 0 1639
7 운영자 쪽지보내기 마이페이지 아이디로 검색 06-05 0 1083
6 운영자 쪽지보내기 마이페이지 아이디로 검색 06-05 0 1455
5 운영자 쪽지보내기 마이페이지 아이디로 검색 05-29 0 1239
4 운영자 쪽지보내기 마이페이지 아이디로 검색 05-29 0 1115
3 ssong 쪽지보내기 마이페이지 아이디로 검색 05-07 2 2691
2 운영자 쪽지보내기 마이페이지 아이디로 검색 04-29 0 1397
1 운영자 쪽지보내기 마이페이지 아이디로 검색 04-28 2 2058

검색


회원로그인

회원가입

사이트 정보

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

Copyright © YE-AH.NET All rights reserved.