묻고답하기
추천 기능을 다루는 함수는 어느 파일에 구현되어 있나요?
2012.07.10 06:04
안녕하세요.
XE 기본 게시판 스킨(스킨 이름을 수정해버렸는데 기억이 맞다면 xe_default였던 것 같습니다.)을 입맛에 맞게 수정해 쓰고 있는 사용자입니다.
게시물과 댓글에 모두 뜨는 "이 게시물을..." 링크가 직관적이지 않은 인터페이스를 가지고 있는 것 같아 XE 사용팁을 뒤져 추천 버튼을 외부로 빼놨는데요.
이 추천 기능이 지난 번에 테스트 할 때는 무리 없이 작동하더니 어느 날 다시 만져보니 "추천하실 수 없습니다"라는 에러 메시지가 발생하더라구요.
게시판을 상세하게 뒤져 원래 XE 게시판 모듈이 자기가 쓴 글에는 추천이 안 되며, 다른 사람이 쓴 글도 중복 추천(이 때의 기준은 member_srl이 아닌 IP 주소라고 알고 있습니다.)이 안 되게끔 만들어져 있다는 정보를 얻었습니다.
현재 사이트가 개발 상태에 있기 때문에 다른 테스트 아이디를 만들어 쓰기가 어려워서 DB로 직접 접속, 추천 로그가 담긴 테이블의 내용을 모두 날려버리고 제가 이전에 성공적으로 추천했던 비회원의 글을 다시 추천하려고 했는데 여전히 "추천하실 수 없습니다"라는 메시지만 출력되네요.
여기서 두 가지 의문점이 생겼습니다.
1. 애초에 그 어떤 추천 로그가 없는 상황인데 "추천하실 수 없습니다"라는 메시지가 뜨는 이유는 무엇일까요?
추천 로그를 지웠을 뿐만 아니라 문서의 추천 수를 0으로 조정하고, 심지어 문서 작성 IP의 주소도 바꿔서 시험해봤는데 여전히 같은 문제가 발생합니다.
추천을 눌렀을 때 발생하는 액션을 제어하는 함수를 찾아서 어떤 부분에서 "추천할 수 없습니다"라는 메시지를 띄우는지를 안다면, 디버깅을 해가면서 문제의 원인을 찾을 수 있을 텐데 아직 XE에 익숙하지 않은 저로서는 함수의 위치를 찾기가 어렵네요.
혹시 이렇게 막무가내로 추천이 안 되는 현상에 대해 짐작 가는 원인이나 해결책을 아신다면, 답변으로 알려주시면 정말 감사하겠습니다.
2. 제가 삭제하기 이전의 추천 로그를 보면 member_srl란이 공백으로 남아 있었습니다.
나중에 사이트의 기능 중에 어떤 회원이 어떤 문서를 추천했는가가 중요하게 될 가능성이 있는데 이 부분에 대해서도 설명해주시면 감사하겠습니다.
이 부분 역시 추천을 했을 경우 DB에 발생하는 쿼리 부분을 보게 된다면 저 혼자서라도 어떻게든 수정을 해볼 수 있겠지만, 위에 언급했던 대로 그 함수의 위치를 잘 모르겠습니다.
이상입니다.
답변 기다리고 있겠습니다.
긴 글 읽어주셔서 감사합니다.
수고하세요.
2번의 경우 예상가능한 경우는..
손님이 쓴 글에 추천을 한 경우 로그 기록에 버그가 있습니다. XE 쪽에 버그수정 및 패치 신고했는데, 아직 반영은 안 되어있네요
http://sejin7940.co.kr/index.php?mid=xe_tips&category=23647&page=1&document_srl=33743 에 수정법이 나와있습니다