웹마스터 팁

 예전에 구현했었는데요.

쉽게 사용되는게 있어서 다시 설명 드릴까 합니다.


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 : 전에 했을때 왜 안됐는지 조금 영문을 모르겠네요. ^^; 역시 배워보니 쉽게 할 수 있었네요.



태그 연관 글
  1. [2019/10/14] 묻고답하기 위젯 추가 질문합니다.. by 적순 *1
  2. [2018/06/07] 묻고답하기 Doorweb basic 서브위젯 에러 by PLS
  3. [2018/05/12] 묻고답하기 가입회원 찾기 , 회원별 다른 등급 카테고리 by foreveryou
  4. [2018/03/22] 묻고답하기 위젯에 작성한 글이 저장이 안됩니다. by 짱구삼촌
  5. [2017/04/10] 묻고답하기 위젯 페이지에서 모바일 페이지 설정 버튼을 누르면 500 에러 by khami
제목 글쓴이 날짜
[위키정복]1탄- 메인 페이지를 만들어보자 [1] kukuriko 2013.07.25
[위키정복]2탄 - 미디어위키의 내부링크를 버그를 해결하자 [2] kukuriko 2013.07.25
[위키정복]3탄 - 사이트내 게시판 등에서 위키링크를 사용하자 [3] file kukuriko 2013.07.25
게시판 에디터에서 자동저장 기능의 시간간격 조절하는 방법 [1] sejin7940 2013.07.26
회원가입시 validation error 가 뜨거나 회원가입이 안될때 [2] 똑디 2013.07.27
1.7 버전 사이트 메뉴 편집 사용법 [4] file 휘즈 2013.07.27
Recruit 모듈 - 일반회원 채용글 등록할 수 있도록 수정 [10] 홍채화 2013.07.27
페이스북 애드온 - 뭐 팁이랄것도 아닙니다. [1] 후아아아~ 2013.07.27
게시판 및 댓글 추천/비추천 카운트가 바로 적용되지 않는 경우 KS 2013.07.28
[팁] 세상의 모든 SNS버튼을 등록해보자. [1] file socialskyo 2013.07.28
자료실(resource)모듈 등록신청 권한적용 안될때 [2] 배포 2013.07.28
카페24로 옮기고 나서 모바일 레이아웃 설정 저장이 안되어서.. 착한부산남자 2013.07.31
XE 위키 모듈에서 소셜XE 댓글 사용하기 novelic 2013.07.31
[위키정복]4탄 - 망할 에러까지 정복하자 [2] kukuriko 2013.07.31
Sketchbook5 게시판 스킨 본문 부분 여백 없애기 [7] file 짤막한글 2013.08.01
XE 내가 작성한 글 모두 일괄 추천하기. [4] 엘카 2013.08.01
cafeXE 위젯 설정에서 대상모듈 저장이 안 되는 경우 투씨 2013.08.02
XE 위키 댓글 삭제 오류수정 [1] 뒤뒤 2013.08.03
저장된 이미지가 없는 경우 게시판 본문 및 Contentlist 위젯에 이미지 랜덤하게 나타내기 가난한법학도 2013.08.04
HTML5를 이용한 시멘틱 XE 레이아웃 만들기 (인트로) [3] 이온디 2013.08.04