내가 추천한 글/댓글 목록 보기 ... 작업중
(스크랩 목록 작업을 구상하고 있었는데 일단은) 추천한 글/댓글 목록 작업부터 해봐야겠다는 생각이 들었습니다.
일단 기초부터 해보고 싶은 심산이었을까요ㅎㅎ
* 구조는 대강 이렇습니다.
- 모듈 설정에 따라 0. 사용 안 함, 1. 추천한 글만 보기, 2. 추천한 댓글만 보기, 3. 추천한 글/댓글 모두 보기 등이 있구요.
- 설정값에 따라 회원메뉴의 탭 이름과 목록이 각각 다른 방식으로 디스플레이됩니다.
* 다만, 한 가지 난관이 있었습니다. 작업 전 예상과 달리 '글과 댓글을 하나의 목록으로 통합'시키기가 쉽지 않더라는 거였어요;;;
- 아무리 해봐도 쿼리.xml 파일로는 구현이 안 되는 것 같아서 아래와 같은 커스텀 쿼리를 돌렸습니다.
$args->member_srl = $this->user->member_srl;
// 중략
$oDB = DB::getInstance();
$query = '
(SELECT document_voted_log.document_srl, null as comment_srl, document_voted_log.member_srl, document_voted_log.ipaddress, document_voted_log.regdate as voted_date, document_voted_log.point
FROM document_voted_log LEFT JOIN comment_voted_log ON document_voted_log.member_srl = comment_voted_log.member_srl
WHERE document_voted_log.member_srl = ?)
UNION
(SELECT null as document_srl, comment_voted_log.comment_srl, comment_voted_log.member_srl, comment_voted_log.ipaddress, comment_voted_log.regdate as voted_date, comment_voted_log.point
FROM document_voted_log RIGHT JOIN comment_voted_log ON document_voted_log.member_srl = comment_voted_log.member_srl
WHERE comment_voted_log.member_srl = ?)
ORDER BY voted_date ASC LIMIT 20
';
$stmt = $oDB->query($query, [$args->member_srl, $args->member_srl]);
$result = $stmt->fetchAll();
- 한참을 헤맸는데, 라이믹스의 xml로 UNION이 구현되지 않는 거 맞겠죠?
- 암튼 위와 같은 방식으로 목록을 만들었습니다. 그리고 document_srl 및 comment_srl에 따라 각각 문서 객체와 댓글 객체를 불러오고, $no값 재연을 위해 $key값 재배열하고, ... 이렇게 힘든데 스크랩 목록 작업까지 할 수 있으려나 싶습니다ㅜㅜ
* 이제 남은 작업은...
- 검색 기능과 페이지네비게이션 작업을 해야 합니다. 이 또한 까마득한 작업이네요ㅜㅜ 저 복잡한 코드 안에다 또 복잡한 코드를 집어넣어야 하다뇨;;; (검색 기능은 일단 보류를 해놔야겠습니다ㅎㅎ)
- 그리고 '글/댓글 모두 보기'일 경우, 버튼을 만들어서 파라미터를 전달하고 글 또는 댓글만 따로 목록화하는 것도 해야겠습니다.
- 결론 : 뭔가 스스로 일을 키운 느낌입니다;;;;

댓글 14
쉬엄 쉬엄 작업하셔요 ~
제 활약은 아무것도 없습니다 윤삼님 자로 클릭해서 다운로드 한 것뿐!!
사실 저는 최근에 다리가 골절 돼서 한동안 못 움직이게 되었었거든요 그래서 강제로 사이트를 돌보기 시작했어요.
지금은 걸어다닐 수 있는 수준까지 회복 했지만 ㅎㅎㅎ 액티비티한 스포츠를 무지 사랑하는 사람이였는데 이제 외부 활동도 귀찮아졌네요.
주말에 놀시간 아껴서 홈페이지 css 돌보자 마인드가 되어버렸습니다
톰캣님이야말로 재활차 코딩을 쉬엄쉬엄하셔야겠어요ㅜㅜ
추천한 글이나 댓글이 많으면 쿼리가... 음... 무척 오래 걸릴 것 같은 느낌적인 느낌입니다. 이 자료 때문에 서버 성능 진단, 튜닝 의뢰가 종종 들어오겠군요.^^
아무튼 이런 기능은 원래 없던 것이니 서드파티 모듈로 딱이고요, 반면에 스크랩은 코어에 이미 반쪽이 있으니 나머지 절반도 코어에서 책임지고 제공해야 할 부분인 것 같습니다.
첫 화면은 그냥 현황판 정도만 보여주고, 그 안에서 url 파라미터값으로 추천 글 보기, 추천 댓글 보기를 하는 것이 어떨까 하는 생각도 듭니다.
스크랩 쪽은 코어에서 해주시는 건가요? 오독이 아니길 ㄷㄷㄷㄷ
태그도 관리가없던데 혹시나! 기대를해봅니다(욕심)
혹시이니 개의치 마셔요ㅎㅎ
이 말씀이셨을까요?
저 커스텀 쿼리에서 얻은 목록에서 (전체를 대상으로 하지 않고) list_count와 page를 기준으로 디스플레이되는 항목들만 슬라이스해서 documentItem과 commentItem을 적용했더니 한결 빠릿빠릿해진 느낌이에요.
언제나 응원하는 1호팬 화이팅~
파이팅!!
하지만 그 덕에 소소하게나마 레벨업한 것 같습니다ㅋㅋ