묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
최초 comment db값 불러오기
2016.09.17 00:01
위 이미지처럼
익명 게시판, 동일한 글 내에서 이미 댓글을 작성한 경우
익명 닉네임 뒤 = 최초 댓글 번호 표시하려면 어떻게 해야될까요? (비회원은 없다고 가정할 때)
대충
댓글에 동일한 member_srl 이 있다면, 댓글 뒤 = 최초 댓글 번호 표시
이 정도는 구현이 될것같은데, 이렇게 해야 한다면 댓글을 쓸 때마다 member_srl 을 전부 비교해야 될 것 같아서요.. ㅠㅠ
전문가님들 알고리즘이라도 짜주시면 정말 감사합니다!!
기재하신대로, 스킨에서 처리하려면
댓글마다 해당 글의 전체 댓글 중 자신이 작성한 최초댓글이 있는지 검색해서, 그 번호를 앞에 달아줘야하죠
쿼리부하가 상당히 들거예요. 사람수가 적으면 몰라도 많으면 절대 추천하진 않습니다.
( 그나마 덜 들게하려면 목록에서 배열화저장해, 그나마 같은 페이지에서 동일회원이 나올땐 쿼리를 안 돌리게하는정도..)
부하를 줄이려면...
별도 모듈로 만들든, 함수를 고치든..
댓글이 등록될때... 그 시점에서 기존 댓글내역을 검토해, 닉네임 자체를 바꿔버리는거죠.
즉 목록에서 다수 유저가 댓글볼때마다 쿼리를 다 돌리는게 아니라
댓글등록시점에 그 유저에 대해서만 한번 도는거기에 이렇게 하면 부하가 거의 안 들꺼예요.
Core 수정을 통해 해도 되고, 업데이트와 분리하려면 모듈화하는게 더 좋긴하죠
( 이런건 어려우면 외주를 주시는게 좋죠 )
다만 적어주신대로 댓글순서별로 번호를 매기는 이 구조는 여러 제약이 따릅니다.
대댓글 기능을 없애야하고 ( 대댓글 기능이 있으면 중간에 번호가 끼기 때문에)
댓글 삭제 기능도 없애야합니다. ( 삭제하는 순간 번호가 밀려 올라가기에 )
( 그렇다고 삭제가 불가능하면 안 되니, 삭제버튼을 눌렀을때 실제 삭제가 아니라, 댓글내용을 없애버리는 기능을 별도로 또 만드셔야겠죠)
아마 원하시는대로 하려면 결국 외주를 주셔야할겁니다.