웹마스터 팁
위젯에서 페이지 기능 활용 팁
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
-
종스
2009.10.07 11:18
좋은 정보 감사합니다^_^; -
시지푼수
2010.07.22 20:23
이건 좋은데...좋은데...이해 할 방법이 없네..
남자한테도...여자한테도...좋은건데.....참 좋은건데.. 이해 할 방법이 없네..
첨부터...스샷으로 강좌를 해줄 수 없나요?
-
시지푼수
2010.07.22 20:27
위젯(nms_info) 있는곳....링크라도 걸어주시면...더욱 좋을텐데요..
제목 | 글쓴이 | 날짜 |
---|---|---|
홈페이지에 BGM달기 [1] | SHIN군 | 2010.01.18 |
초보팁] 외부페이지에서 가져올 시 새창 띄우기 안되는거 수정하기(자바) [1] | 파라테일 | 2009.12.10 |
웹페이지 메시지 만들기 [초보자대응] [6] | cabnb | 2009.12.09 |
제로보드 XE - 1.3.x 설치부터 기본 홈페이지 만들기 | 스타호스트 | 2009.12.05 |
-추가- 당신의 XE 기반 홈페이지를 훅가게 하는 방법 4가지 [26] | 老姜君 | 2009.10.08 |
위젯에서 페이지 기능 활용 팁 [3] | 라르게덴 | 2009.10.05 |
페이지 작성 시 팁. 꼬꼬마 초보만 오세요. 배치 문제.. [7] | 연필깎는까치 | 2009.08.20 |
RSS를 활용한 HelloMaster 홈페이지 새글 알리미 설정하기 [3] | 퍼니온 | 2009.08.16 |
홈페이지 헤더부분에 display.handler.class.php 오류발생시 급해결방법 [3] | 극마 | 2009.08.09 |
페이지 제일 위로 바로가는 Top 버튼 [5] | 개돌 | 2009.06.26 |
로그인 후 그룹별로 다른 페이지로 가기 - 업데이트판 v1.5 [19] | 무대포2 | 2009.06.24 |
로그인 페이지 만드는 방법 [5] | 산토 | 2009.06.12 |
별도 페이지 로그인방법 | cornet | 2009.05.21 |
XE 위키에 최근 접속 페이지 정보 출력 | 개돌 | 2009.04.27 |
다양한 언어로 홈페이지 서비스하기 - 무식한 방법 [4] | 멀리서 | 2009.04.21 |
홈페이지 타이틀이 $user_lang->home ,freeboard등으로 나오는 문제 수정방법(자체해결) [1] | 정박사닷컴 | 2009.04.18 |
페이지 및 게시판 메뉴 경로 [2] | 자반튀김 | 2009.04.15 |
홈페이지 접속 속도에 미치는 에드온. [2] | jih449 | 2009.03.27 |
게시판을 활용한 페이지 생성 및 관리 아이디어...(참고) [5] | 빨간발 | 2009.03.27 |
페이지모듈에서 내용직접추가할때 "본문내이미지조절" 애드온 적용하기 [5] | 왜만지냐 | 2009.03.19 |