웹마스터 팁

"이 게시물을..." 추천/비추천/신고 메뉴를 게시판스킨의 버튼으로 구현하기


이것이 팁이 될 수 있을 지 모르겠지만요.
대부분의 스킨 제작자님들께 도움이 될 듯 해서 올립니다.

0.1.9까지 쓰던 스킨은 추가되는 비추천 신고 버튼을 추가해야 합니다.
0.2.5를 들여다보다가 다음과 같이 해 보니 되더군요
스킨파일에서 view_document.html파일의 중간 부분을 수정했습니다.


                  <!--추천-->
                  <a href="#" onclick="doCallModuleAction('document','procDocumentVoteUp','{$document_srl}');return false;" class="button"><span>{$menu_str = Context::getLang('cmd_vote')}</span></a>

                  <!--비추천-->
                  <a href="#" onclick="doCallModuleAction('document','procDocumentVoteDown','{$document_srl}');return false;" class="button"><span>{$menu_str = Context::getLang('cmd_vote_down')}</span></a>

                  <!--신고-->
                  <a href="#" onclick="doCallModuleAction('document','procDocumentDeclare','{$document_srl}');return false;" class="button"><span>{$menu_str = Context::getLang('cmd_declare')}</span></a>


여기까지 덧붙이시면 됩니다.
아래 소스에 나오는 것을 위에 처럼 버튼으로 변경한 것입니다.

=================================================
/modules/document/ document.model.php 파일의 함수입니다.
=================================================
    class documentModel extends document {
        ~~기타생략~~
        /**
         * @brief 선택된 게시물의 팝업메뉴 표시
         *
         * 인쇄, 스크랩, 추천, 비추천, 신고 기능 추가
         **/
        function getDocumentMenu() { 
                ~~~~
            $menu_str = Context::getLang('cmd_vote');
            $menu_link = sprintf("doCallModuleAction('document','procDocumentVoteUp','%s')", $document_srl);
            $menu_list[] = sprintf("\n%s,%s,%s", '', $menu_str, $menu_link);

            <!--비추천 버튼 추가-->

            $menu_str = Context::getLang('cmd_vote_down');
            $menu_link = sprintf("doCallModuleAction('document','procDocumentVoteDown','%s')", $document_srl);
            $menu_list[] = sprintf("\n%s,%s,%s", '', $menu_str, $menu_link);

            <!--신고 기능 추가-->

            $menu_str = Context::getLang('cmd_declare');
            $menu_link = sprintf("doCallModuleAction('document','procDocumentDeclare','%s')", $document_srl);
            $menu_list[] = sprintf("\n%s,%s,%s", '', $menu_str, $menu_link);




여기까지 분석해서 적용하는 과정에 질답게시판에서 다음과 같은 과정을 거쳤습니다.
여기까지 오는 동안 우선 비나무님의 친절한 도움이 컸네요.
http://www.zeroboard.com/?mid=zbxe_qna&page=3&document_srl=15975097

링크를 따라가 보면 제로님의 팁을 만날 수 있지만 그리고 추가적으로 여기에 덧붙입니다.
 
"이 게시물을..." 이라는 팝업 메뉴에 나오는 것들을 버튼으로 구현하였으니 "이 게시물을..." 이라는 것은 제거해야겠죠.
content(false) 로 변경하면 보이지 않는다고 하네요.

스킨파일에서 view_document.html파일의 상단 부분을 수정합니다

      {$oDocument->getContent(false)}


그림을 덧붙입니다.

버튼 생성결과


비추천을 누르니
이런 메시지가 뜨네요



여기서 확인 버튼을 누르면 페이지가 갱신되는 군요



이렇게 추천수가 -1 로 됩니다. 당연히 비추천이니깐 감점이죠 ㅋㅋ

이 비추천 점수는 매우 유용해서 제가 만들 사이트에서는 관리자가 글들을 삭제하여 관리하는 것이 아니라 글을 쓰는 유저들이 점수를 매겨서 평가하는 시스템을 적용하려구 합니다. 악풀 같은 거는 유저들이 감점해주면 감점과 신고 수가 일정정도 넘으면 글이나 댓글이 보이지 않게 하면 좋겠죠.

유저들에 의한 쓰레기 글의 자동 분리 수거라고나 할까?
암튼 여러분들이 잘 모르셔서 그렇죠 이거 겁나게 좋은 겁니다.

가령 제로보드도 제로님이 관리하지 않아도 유저들끼리 추천 때리면서 자체적으로 운영할 수 있는 거거든요. 문제는 걸러내는 시스템이 취약했다는 것인데 큰 결단을 내리신 거 같네요.

이거 만들려고 몇달동안 시도를 했었다가 만들어 주셨는데 이런 기능을 포기한다는 것은 홈페이지를 포기한다는 것과 같기때문에 기능을 살려서 스킨에 넣으려고 좀 신경 썼습니다 ㅎ

암튼 제로님께 감솨 드리며 잘쓰겠습니다

아 제로님 그리고 본문 수정을 하면 제목의 값이 지워지는 군요 다시 제목을 적어야 하는 불편함이 있네요
제목 글쓴이 날짜
SVN 의 사용 방법 [3] preware 2007.11.06
완전 초보도 확장 변수를 이용해 게시판 개조할수잇다!! [4] 쿤. 2007.11.06
(08년 1월2일수정)0.2.3이후 최근글에 공지사항을 제외시키고자할 경우 [11] 포레버 2007.11.07
레벨 아이콘이 제대로(찌그러지는 등) 출력되지 않을 때 수정방법 必得力 2007.11.07
메뉴에 마우스 갖다대면 뜨는 메뉴 만드는 방법 [25] 소마세월 2007.11.07
"이 게시물을..." 추천/비추천/신고 메뉴를 버튼으로 [28] file xe촙5 2007.11.08
제로보드 2.3 에서 2.5 변경사항 데이터 테이블 구조 변경사항 체크를 정리해봅니다. [4] 도토리나무 2007.11.09
제로보드 2.3 에서 2.5 업그레이드 방법 도토리나무 2007.11.09
첨부파일 기능에 대한 짧은 정보 [3] 고라리 2007.11.09
외부 문서에서 회원 정보 얻는 방법 [11] 소마세월 2007.11.10
통합검색 버그 style 수정 [2] 소마세월 2007.11.11
확장변수에서 본문 입력 빼기 [10] file Diver 2007.11.12
회원에게 만기일 주기(1원짜리 팁) [17] 까오천사 2007.11.12
쪽지 수신 음성 알림 [19] file Simulz 2007.11.13
알바트로스 적용후 검색하는 곳에 댓글과 태그 검색 업션 넣기 [1] 비밀얌 2007.11.13
[수정]업로드된 그림 자동출력 [6] 소마세월 2007.11.13
이미지 갤러리 셀렉트박스 문제 [1] 공작대천사 2007.11.14
<head> 태그안에 임의의 내용을 넣는 방법 [1] 발돋움 2007.11.16
간편해진 페이지 수정법 file coll 2007.11.16
(포인트) 레벨별 포인트 계산 기능 추가 [4] file Simulz 2007.11.19