웹마스터 팁

팁 게시판에 처음으로 글 작성해 봅니다.

생초보 팁이 되겠네요.

php도 잘 모르고, html 코드 조차도 완벽하지 않습니다만,

제가 운영하는 사이트에 최근 설문조사 위젯(?)이 필요해서,

몇일을 고생해서 만들었습니다.

저처럼, 메인화면에 설문조사 위젯(?)을 달고자 하시는 분들에게 도움이 되었으면 합니다.

 

3d-vision_kr_poll.jpg  (볼 건 없지만, 누르면 커져요.)

 

기존의 XE 설문조사 모듈을 수정했습니다.

사이트의 메인화면에 위젯이 들어가야 하기에,

기본 디자인에 잘 어울리도록 주안점을 두었구요.

또한 최신 설문조사를 가져오도록 했습니다.

설문조사의 타이틀(주제)를 눌렀을때 연결된 게시글로 이동하도록 했습니다.

 

 

1. 메인화면의 설문조사는 최신 설문조사를 자동으로 가져옵니다.

팁 게시판에 있는 레이아웃 삽입 후 최근 설문조사 가져오기에서 아이디어를 얻었구요,

[설문조사] 메인페이지에 넣기와 효율적으로 관리하기 이 아이디어도 참고를 했습니다.

 

테이블을 불러오기 위해, 메인화면 페이지 코드 맨위에


 {@ $tempq="select * from xe_poll order by regdate desc limit 1" }
 {@ $tempr=mysql_fetch_object(mysql_query($tempq)) }

넣었습니다.

<!--설문조사-->
<div id="widget2">
<img style="BORDER-RIGHT: #4371b9 2px dotted; BORDER-TOP: #4371b9 2px dotted; BACKGROUND: url(modules/editor/components/poll_maker/tpl/poll_maker_component.gif) no-repeat center 50%; BORDER-LEFT: #4371b9 2px dotted; WIDTH: 200px; BORDER-BOTTOM: #4371b9 2px dotted; HEIGHT: 300px" src="/common/tpl/images/blank.gif" skin="3d" editor_component="poll_maker" poll_srl="{$tempr->poll_srl}"/></div>
 

요렇게 코드를 넣어줍니다. 에디터 컴포넌트의 poll maker를 그대로 이용하는거죠. 위젯이 따로 필요없겠죠.

코드는 사이트 메인화면 페이지에 맞춰서 style을 적용하면 되겠습니다.

 

2. 타이틀 제목을 누르면 설문조사 게시판의 게시글로 이동합니다.

이를 위해서 코드를 여기저기 수정했는데요,

게시글의 주소를 가져오기 위해 poll.model.php를 약간 수정했습니다.

(주소 불러오기는 이 방법 말고도 위에서처럼 테이블 불러오기도 가능하겠네요.)


             foreach($output->data as $key => $val) {
                $poll->poll[$val->poll_index_srl]->title = $val->title;
                $poll->poll[$val->poll_index_srl]->checkcount = $val->checkcount;
                $poll->poll[$val->poll_index_srl]->poll_count = $val->poll_count;
                $poll->poll[$val->poll_index_srl]->upload_target_srl = $val->upload_target_srl;
            }
 


함수에서 upload_target_srl 도 가져오도록 수정했습니다.

그리고 제일 중요한것, 설문조사의 스킨도 수정해줍니다.

skin 폴더의 form.html, result.html을 수정합니다.

저는 result만 수정했습니다.

 

타이틀 출력부분입니다.


 <div class="title"><a href="{$val->upload_target_srl}">{$val->title}</a> ({$val->poll_count})</div>


요렇게 title을 클릭했을때, upload_target_srl로 이동하도록 고쳐줍니다.

 

3. 설문조사의 권한을 제한.

위 1번 최신 설문 가져오기에서 select * from xe_poll order by regdate desc limit 1 는 무조건 최신 설문조사 하나를 가져오기 때문에,

예를 들어 누군가가 장난으로 설문조사 생성했을때, 메인화면에 그대로 노출되는 일이 있을 수 있습니다.

그래서 어느 정도 등급이 높은 회원만이 설문조사를 생성하도록 해야 하겠지요.

모든 게시판의 설문조사 컴포넌트 사용 권한을 수정해야 하겠습니다.

 

 

 

이상입니다.

제대로 설명이 되었는지 모르겠습니다.

 

참고로, 제가 운영하는 사이트는 3D관련 커뮤니티인,

'3D로 보는 세상' 입니다. 3D 관련 커뮤니티로는 유일하다시피 합니다.

링크는 http://3d-vision.kr/ 여기.