웹마스터 팁
위젯에서 페이지 기능 활용 팁
2009.10.05 18:08
예전에 구현했었는데요.
쉽게 사용되는게 있어서 다시 설명 드릴까 합니다.
nms_info 위젯 기준으로 설명하겠습니다.
info.xml
<var id="id">
<type>text</type>
<name xml:lang="ko">위젯 구분자</name>
<description xml:lang="ko">각종 선언문 명으로 사용 됩니다. (첫자는 문자로...)</description>
</var>page를 쓰지 않고 별도의 변수를 만들기 위해 id라는 이름으로 구분자 명을 등록합니다.
query용 xml파일
<query id="getNmsSyslogList" action="select">
<tables>
<table name="nms_syslog_log" />
</tables>
<columns>
<column name="*" />
</columns>
<conditions />
<navigation>
<index var="sort_index" default="syslog_srl" order="desc" />
<list_count var="list_count" default="20" />
<page_count var="page_count" default="10" />
<page var="page" default="1" />
</navigation>
</query>navigation 이 부분 중요하고요. 다른 여타 모듈에서 사용된 것과 별반 다를건 없습니다.
nms_info.class.php
$obj->sort_index = regdate;
$obj->order_type = desc;
$obj->list_count = 20;
$obj->page_count = 5;
$obj->page = Context::get('page_'.$args->id);
$output = executeQueryArray('+
'+
'widgets.nms_info.getNmsSyslogList', $obj);
// 템플릿에 쓰기 위해서 context::set
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('widget_info', $output->data);
Context::set('page_navigation', $output->page_navigation);
$pages[$args->id] = $output->page;
Context::set('pages', $pages);기본 CORE에서 사용하는 페이지 기능과 같지만 중요한 것이 page 라는 매개변수는 이미 사용중이라서 딴걸로 써야지 페이지 기능이 있는 위젯과 게시판이 같이 사용할 수 있게 됩니다.
$obj->page = Context::get('page_'.$args->id);
$pages[$args->id] = $output->page;
Context::set('pages', $pages);
이 부분처럼 page_ 로 시작하여 별개의 값을 넣을 수 있게 $args->id 등으로 info.xml에서 생성하세요.
list.html
Total {number_format($page_navigation->total_count)}, Page {number_format($page_navigation->cur_page)}/{number_format($page_navigation->total_page)}
<!-- 페이지 네비게이션 -->
<div class="pagination a1">
<a href="./{getUrl("page_'.$args->id,''+
','module_srl','')}" class="prevEnd">{$lang->first_page}</a>
<!--@while($page_no = $page_navigation->getNextPage())-->
<!--@if($pages[$args->id] == $page_no)-->
<strong>{$page_no}</strong>
<!--@else-->
<a href="./{getUrl("page_'.$args->id,$page_no,'module_srl','')}">{$page_no}</a>
<!--@end-->
<!--@end-->
<a href="./{getUrl("page_'.$args->id,$page_navigation->last_page,'module_srl','')}" class="nextEnd">{$lang->last_page}</a>
</div>
<!--@endif--><!--@if($pages[$args->id] == $page_no)-->
이 부분 중요하고요.
각 <a ... 에서 page_'.$args->id' 라는 구분을 신경써서 하시면 됩니다.
info.xml 같은데에서 page 변수를 따로 지정하실 거면 위 내용대로 그대로 하시면 되고요.
만약 본인의 입맛게 맞게 하신다면 $args->id를 대체 하시면 됩니다.
ps : 너무 날림으로 설명헀나요?
그냥 기본 출력 방법이랑 별 다를건 없어서 page_0 등으로 구분할 수 있게 끔만 되게 했습니다.
ps2 : 전에 했을때 왜 안됐는지 조금 영문을 모르겠네요. ^^; 역시 배워보니 쉽게 할 수 있었네요.
- [2019/10/14] 묻고답하기 위젯 추가 질문합니다.. *1
- [2018/06/07] 묻고답하기 Doorweb basic 서브위젯 에러
- [2018/05/12] 묻고답하기 가입회원 찾기 , 회원별 다른 등급 카테고리
- [2018/03/22] 묻고답하기 위젯에 작성한 글이 저장이 안됩니다.
- [2017/04/10] 묻고답하기 위젯 페이지에서 모바일 페이지 설정 버튼을 누르면 500 에러
댓글 3
-
좋은 정보 감사합니다^_^;
-
시지푼수
2010.07.22 20:23
이건 좋은데...좋은데...이해 할 방법이 없네..
남자한테도...여자한테도...좋은건데.....참 좋은건데.. 이해 할 방법이 없네..
첨부터...스샷으로 강좌를 해줄 수 없나요?
-
시지푼수
2010.07.22 20:27
위젯(nms_info) 있는곳....링크라도 걸어주시면...더욱 좋을텐데요..
| 제목 | 글쓴이 | 날짜 |
|---|---|---|
| 파일첨부 100%에서 증발 하는 문제 해결 [1] | asgasg | 2010.06.08 |
|
게시판에 사전질문 넣기 특히 확장 변수 없는 지식in 게시판 - 초보자용
[3]
| THEOTHERS | 2010.08.07 |
|
회원 정보 및 회원 리스트에 회원 성별 앞에 아이콘 넣기
[5]
| 늘푸른이 | 2010.08.06 |
| 스킨 디자인! 이미지 대신 CSS3를 사용해 보세요! [7] | 정찬명_ | 2010.07.08 |
| optimizer 체크 후 저장해도 체크 해제 되시는 분들 [2] | 다케루 | 2007.10.15 |
| 플래시 뒤로 로그인창 숨는 문제 [5] | 김지훈295 | 2010.02.25 |
|
회원약관 추가
[7]
| 애치티 | 2009.01.15 |
|
본문에 삽입된 그림의 확대기능이 작동하지 않는경우(XE Official Ver2 layout)
[2]
| 분홍곰 | 2009.08.14 |
| [뻘팁] 특정 모듈이 설치되어 있는 지 간단하게 확인하기 [1] | SMaker | 2010.01.18 |
| 0.1.1 패치하시면 가입시 기본 회원 그룹 선택해야해요. [2] | 다케루 | 2007.08.26 |
| 위젯에서 페이지 기능 활용 팁 [3] | 라르게덴 | 2009.10.05 |
| 로그인이 안되거나 첨부파일이 등록이 안될때. [9] | 똑디 | 2009.09.30 |
| Skin에 xml query 직접 만들고 사용하기 [2] | June Oh | 2010.02.23 |
| 자바스크립트로 브라우저 타이틀 바꾸기 [4] | Geun | 2008.05.26 |
|
지식인 스킨(naver_jisikin) 의견에 글이 겹쳐보일때
[1]
| 조슈아킴 | 2010.07.15 |
| 글 읽을 때마다 조회수 증가하는 법 알려주세요 [1] | 홍정환873 | 2009.03.27 |
| 로그인 포인트 출력 위젯을 수정해보자 | [花穗] | 2009.03.27 |
| 제로보드 권한 설정 문제요~~ [1] | 매너굿남 | 2009.03.27 |
| PHP로 코딩 자주 하시는 분들을 위한 윈도우용 APM | jihun | 2010.03.13 |
| bcastr 이용한 플래쉬 (flash) 최근 이미지 소스 사용 위젯 소개.. [1] | 하얀마법 | 2010.07.11 |