본문 바로가기
웹 코딩/티스토리

북클럽 스킨 - 댓글 버그 수정

by 알릭2 2020. 9. 4.

그간 잘 안써봐서 몰랐는데... 현재 사용중인 북클럽 스킨에서 댓글을 수정/삭제할 때 약간 이상하게 작동하는 것 같은 느낌적인 느낌을 우연히 받아 좀 살펴보았더니 역시 문제가 있네요?! (저만 그런거 아니죠? 제발...)

 

아무래도 스킨 제작자의 실수라고 보여 집니다만, 그래도 기본 스킨 중 하나인데 좀 꼼꼼히해서 내놓으시지.. 아쉽네요.

(설마 Book club 이 혹시 '부끄럽' 웠던건가...ㅡㅡ;)

 

문제점

  • 댓글을 수정하면 새로 등록되는 것처럼 추가되고 기존 댓글이 화면에 남아 있음
  • 댓글을 삭제해도 페이지를 새로고침하기 전까진 화면에 남아 있음
  • 추가/삭제/수정의 결과가 사이드바의 '최근댓글'에 반영되지 않음
  • 글에 첫 댓글 등록 시 삭제/수정 버튼을 보여지게 하는 '더보기' 버튼이 먹통임
  • 방명록도 사실은 구조상 댓글일뿐이라 수정/삭제시 동일하게 오작동하고 있음

 

발생원인

  • 댓글의 추가/수정/삭제의 결과를 처리하는 스크립트가 작동하는데 필요한 부분에 ID 가 스킨에서 누락되었기 때문
  • 첫 댓글에 '더보기' 버튼이 먹통인건 스킨에 포함된 스크립트상 실수가 있어 보임
    (버튼에 delegate 방식으로 onclick 을 먹이는 함수를 버튼이 있을 때만 실행되게 if 처리해놨음, 쩝..)

 

해결책

- 댓글 관련

<s_rp_container>
  <div class="comment-list">
    <ul>
      <s_rp_rep>
        <li id="">
          <div class="author-meta">
...
...
...

<s_rp2_container>
  <ul>
    <s_rp2_rep>
      <li id="">
        <div class="author-meta">
...
...
...

<s_guest_container>
  <div class="comment-list">
    <ul>
      <s_guest_rep>
        <li id="">
       	 <div class="author-meta">

[관리] > [스킨편집] > [html 편집] > [html] 에서 <s_rp_rep> 와 <s_rp2_rep> 와 <s_guest_rep> 3곳을 찾아 그 바로 아래 위치한 <li> 태그에 위에 강조된 5, 14, 24 줄에 보이는 것처럼 id=""id="" 를 추가해줍니다.

 

- 최근댓글 관련

<s_sidebar_element>
	<!-- 최근댓글 -->
	<div class="recent-comment">
		<h2>최근댓글</h2>
		<ul id="recentComments">
			<s_rctrp_rep>
				<li><a href=""></a></li>
			</s_rctrp_rep>
		</ul>
	</div>
</s_sidebar_element>

댓글과 동일한 방식으로, 대신 <s_rctrp_rep> 을 찾아 그 에 <ul> 태그에 id="recentComments" 를 추가해줍니다.

이렇게 하면 댓글 추가/수정/삭제시 사이드바의 최근댓글에도 바로바로 반영됩니다.
(원래 되는건지도 몰랐는데 이번에 조사하다 우연히 알게 되었네여 ㅋ)

 

- 첫댓글 수정/삭제 버튼 관련

script.js
0.01MB

위 파일을 다운받아 스킨에 업로드해서 스킨에 기본으로 포함되어 있는 기존 script.js 를 덮어씌워 버리세요.

 

기본 파일에서 수정한 내용은...

끝쯤에 405번줄을 주석 처리하고 그 밑에 if 문 없이 commentControl(); 함수가 실행되게 넣어준 것 뿐입니다.

	if ( $(".tab-ui").length ) tabUI($(".tab-ui"));
	//if ( $(".comment-list ul li .author-meta .control").length ) commentControl();
	commentControl();
	if ( $(".cover-thumbnail-2").length ) coverLoadMore();

(다른 방법으로 접근할까 했으나, 기본파일을 고쳐주는게 깔끔하다고 판단 함)

 

추가의견

북클럽 스킨을 사용하고 있지 않더라도 위에 나열한 문제점에 해당하는 증상이 보인다면, 스킨마다 구조가 조금씩은 다르겠지만 그래도 id 가 추가될 곳만 잘 찾아 넣어준다면 동일한 방법으로 해결할 수 있겠습니다.

 

살짝 돌아다녀보니 대부분 이 증상을 겪고 계시던데 ...

아무쪼록 도움이 되었으면 좋겠네요.

 

부록

1. 방명록에 작성자의 프로필 이미지 노출이 가능해졌습니다.

html 편집에서
<div class="author-meta"> <img src="//t1.daumcdn.net/tistory_admin/static/skin/avatar_default.gif" class="avatar" alt="프로필사진"> <span class="nickname"></span>
를 2회 찾아 그 안에 img src를 아래처럼 바꿔주세요.

<img src="
 

댓글