웹마스터 팁

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

생초보 팁이 되겠네요.

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/ 여기.

제목 글쓴이 날짜
XE1.5.0.2 시작 모듈 설정하는 방법 [16] file gayeon 2011.10.01
[1.5.0.2 beta] Err : "./system_message.html" template file does not exists. [1] paulryu03 2011.10.01
XE1.5.0.2 설정->파일박스 버튼이 표시되지 않는 문제 해결 방법 file gayeon 2011.10.02
갑자기 로그인(관리자 및 회원)이 안되는 경우 [2] 비밀얌 2011.10.02
1.5.0.2베타 초기설치시 Err : "./system_message.html" template file does not exists. [1] 인스크랩 2011.10.02
로그인이 안되는 문제를 겪고 계시면 참고해볼만 합니다. [2] 안구건조 2011.10.06
The result is not valid XML 오류중 하나 해결 쿨럭이 2011.10.10
XE 1.5 → XE1.4로 다운그레이드 설정 [14] 시작&끝 2011.10.10
XE 1.5 업그레이드 후 다시 1.4로 다운그레이드 하신분들을 위한 팁 입니다. [15] file 류군 2011.10.10
관리툴 회원관리에서 확장변수로 검색 시 숫자 이외 검색불가 해결 방법 카리브 2011.10.10
XE 이클립스 개발환경 만들기 [7] 행키 2011.10.19
xe_board 스킨에서 제목 윗 부분이 짤리는 경우.. [1] 천재경 2011.10.19
글쓴이에 이름과 닉네임 같이표시하기 [3] file 천재경 2011.10.20
1.4.5.10->1.5.06 전환 성공기 executeQuery오류 문제및 다량 문제 발생해결 [2] phonetest 2011.10.21
리플카운터 [3] file 인터니즈2 2011.10.25
Error has occurred while connecting DB 에러에 관한 해결법 안녕하소 2011.10.26
1.4.5.10 이하에서 1.5.x 이상 업데이트시 백지상태 되는 경우 다운그레이드 방법 [2] WhiteAT2 2011.10.29
XE코어 관리와 업그레이드 10계명 [5] 우진홈 2011.10.30
1.5 에서 기존 로그인 스킨 이메일 로그인 구동시키기 [1] 쿨키드 2011.11.01
XE를 이용하여 SMTP 보내보기[개발자용] [10] 라르게덴 2011.11.02