묻고답하기
스킨 개발 질문
2010.03.14 12:53
네이버스타일 지식인XE 스킨을 개발하는데요....
채택을 하면 리스트에 '채택됨'이라고 나오게 하고,
채택이 안된 질문은 리스트에 '미채택'이라고 나오게 하고 싶은데
도대체 어떻게 해야하는지.... ㅜㅜ댓글 2
-
현원
2010.03.14 12:59
-
하연울
2010.03.14 13:01
어떻게 하라는건지 잘 모르겠습니다 ;;; -
현원
2010.03.14 14:09
모듈의 kin.view.php 파일을 열어서 kinView 클래스의 dispKinIndex 멤버에 보시면
주어진 action 값에 대해서 리스트를 가져오는 부분이 있습니다.
각 action은 swtich 문으로 분기되고
맨 처음 리스트를 보여줄때는 default로 빠집니다.
default 부분에
Context::set('oKinModel', $oKinModel); 를 추가합니다.
oKinModel 인스턴스에 document srl이 주어지면 선택된 코멘트 값을 가져오는 메서드가 존재합니다. (getModel로 부르더군요 ㅡ,.ㅡ)
여하간 원래는 data 멤버만 Context::set을 사용해서 스킨으로 넘기는데
ㅡ,.ㅡ 귀찮으니 저 인스턴스를 통째로 뜯어옵니다. (이 부분이 보안적으로 문제가 될지 않될지는 모르겠습니다 ㅡ,.ㅡ)
그러면 이제 스킨에서 사용이 가능합니다.
그럼 이제 스킨의 index.html로 가서 리스트 받아서 순회하는 foreach문 안에서 원하는 곳에
$oKinModel->getSelectedReply($oDocument->document_srl)
를 부르면 자동으로 현재 질문에 대한 답변이 있으면 그 코멘트의 srl을 들고 오게 됩니다.
이 구문이 바로 selected_reply를 초기화 시키는 구문입니다.
이게 false 나 null이 아니면 채택된 답변이 있다고 출력하면 됩니다.
1> 목록 리스트 화면입니다.
2> 선택된 답변은 밑에꺼 입니다.
3> 선택되지 않은 부분입니다.
글쓴이 | 제목 | 최종 글 |
---|---|---|
XE | 공지 글 쓰기,삭제 운영방식 변경 공지 [16] | 2019.03.05 by 남기남 |
이동화309 | 자동 삭제 [1] | 2010.03.14 by 999 |
으아악. | 페이지 또는 게시판에 아프리카TV 붙여넣기 해보신분 계신가요? | |
탑엣지 | 메뉴가 안나와요 ㅠㅠ 긴급! | |
하연울 | 스킨 개발 질문 | |
꼬야꼬야제로보드달꼬야 | 최근이미지출력위젯 | |
Ghost XE | 이거 왜이럴까요? 긴급!!!! [1] | 2010.03.14 by 현원 |
하연울 | 스킨 개발 질문 [2] | 2010.03.14 by 현원 |
그리폰 | 로그인 질문요 ^^; [1] | 2010.03.14 by 老姜君 |
홈피사랑게임존 | xe_official_v2 레이아웃 수정부분 [2] | 2010.03.14 by 홈피사랑게임존 |
이경화495 | 플래시 첨부하면 메인에 나타나게 하려면 [1] | 2010.03.14 by yohan666 |
creent | zoom 태그(스타일시트)는 뭐하는 태그죠? [2] | 2010.03.14 by 무건이 |
아시안느 | 첨부파일이 저장되는곳 [1] | 2010.03.14 by 현원 |
황비 | 댓글 설정에서 html과 파일업로드 제한 가능한 게시판 스킨있나요? [2] | 2010.03.14 by 어리둥절 |
그대미소 | unexpectec error occured [1] | 2010.03.14 by 어리둥절 |
산들바람88 | 파일첨부하고싶은데 오류가 뜹니다. [1] | 2010.03.14 by 산들바람88 |
김황흠 | 세팅을 잘못 건드렸습니다. [1] | 2010.03.14 by 老姜君 |
astray0924 | 만약 xe 폴더는 남아있는데 DB가 지워질 경우 [2] | 2010.03.14 by smileadmin |
박상보156 | 서버에서 SQL DB가 삭제되면 회생불가인가요? [2] | 2010.03.14 by smileadmin |
daewoo | 신디케이션 안되는데... 누가 해결 좀 해주세요~ [1] | 2010.03.14 by daewoo |
행린이♥ | 이거 무슨 폰트인가요? [1] | 2010.03.14 by 된장맛껌 |
<div class="roundBox" id="comment_{$reply->comment_srl}">
<div class="roundBoxGuide"><span class="roundBoxTl"></span><span class="roundBoxTr"></span></div>
<div class="roundContents content">
<div class="titleArea">
<a href="#" onclick="return false;" class="author member_{$reply->get('member_srl')}">{$reply->getNickName()}</a>
<span class="date"><strong>{$reply->getRegdate('Y.m.d')}</strong> {$reply->getRegdate('H:i')}</span>
</div>
<div class="infoArea">
<!--@if($oDocument->isGranted() && !$selected_reply)-->
<a href="#" onclick="if(confirm('{$lang->msg_select_reply}')) doSelectReply('{$reply->comment_srl}'); return false;" class="button blue"><span>{$lang->cmd_select_reply}</span></a>
<!--@end-->
</div>
<div class="docContent">
<!--@if($selected_reply == $reply->comment_srl)-->
<div class="selectedReply">
{$lang->msg_selected_reply}
</div>
<!--@end-->
지식인 1.0 스킨의 view 에서 때온 부분입니다. 보시면 아시겠지만 도큐먼트 오브젝트로부터 코멘트만 꺼내서 순회합니다. 딱 보면 의심가는 부분은 하나로 압축되죠. selected_reply.. 보통 프로그래밍하면 그렇듯이 변수명은 그 변수가 담는 내용, 클래스면 그 인스턴스가 할 내용을 함축하는 이름을 짓는 것이 관례이고 xe 역시 그런 기본적인건 이미 따르고 있습니다. selected_reply 라면 보나마나 이게 선택된 답변일거고 무슨 값일까를 보면 그 옆에 equal then 나오고 comment_srl 이라네요. 그렇다면 코멘트의 srl을 저장하고 있다는 거겠죠.
그럼 답은 나왔네요. comment 리스트를 순회해서 selected_reply와 같은게 존재하는 걸 확인한다면 답변이 완료된 질문으로 아니면 아니라고 하면 되겠지요.