첨부파일은 1.0.3 버전 기준으로 수정 된 파일입니다. 
이미 파일을 수정 한 경우는 아래 글을 읽어 보고 직접 수정하십시오.



 

/modules/document/document.model.php 삽입

function getDocumentDivision($document_srl,$type,$order){
            $oDocumentModel = &getModel('document');
            $oDocument = $oDocumentModel->getDocument($document_srl, '');
    
                $args->module_srl = $oDocument->get('module_srl');
                if($order == 'list_order') {
                    $args->list_order = $oDocument->get('list_order');
                    $args->sort_index = 'list_order';
                } elseif($order == 'update_order') {
                    $args->update_order = $oDocument->get('update_order');
                    $args->sort_index = 'update_order';
                }
                if($type == 'next')    $args->order_type = 'desc';
                elseif($type == 'prev')    $args->order_type = 'asc';
                $args->list_count = 1;
                $args->page_count = 1;
                $args->page = 1;
                if($type == 'next') $output = executeQuery("document.getNextDivision", $args);
                elseif($type == 'prev')  $output = executeQuery("document.getPrevDivision", $args);
                if($output->data) {
                    $data = array_pop($output->data);
                    $division_document = $data->document_srl;
                }
            return $division_document;
        }




 

/modules/document/queries/getNextDivision.xml신규작성
<query id="getNextDivision" action="select">
    <tables>
        <table name="documents" />
    </tables>
    <columns>
        <column name="*" />
    </columns>
    <conditions>
        <condition operation="in" column="module_srl" var="module_srl" filter="number" />
        <condition operation="below" column="list_order" var="list_order" filter="number" pipe="and" />
        <condition operation="below" column="update_order" var="update_order" filter="number" pipe="and" />
    </conditions>
    <navigation>
        <index var="sort_index" default="list_order" order="order_type" />
        <list_count var="list_count" default="1" />
        <page_count var="page_count" default="1" />
        <page var="page" default="1" />
    </navigation>
</query>




 

/modules/document/queries/getPrevDivision.xml신규작성
<query id="getPrevDivision" action="select">
    <tables>
        <table name="documents" />
    </tables>
    <columns>
        <column name="*" />
    </columns>
    <conditions>
        <condition operation="in" column="module_srl" var="module_srl" filter="number" />
        <condition operation="excess" column="list_order" var="list_order" filter="number" pipe="and" />
        <condition operation="excess" column="update_order" var="update_order" filter="number" pipe="and" />
    </conditions>
    <navigation>
        <index var="sort_index" default="list_order" order="order_type" />
        <list_count var="list_count" default="1" />
        <page_count var="page_count" default="1" />
        <page var="page" default="1" />
    </navigation>
</query>


 

스킨 같은 곳에서 사용 방법
{@$oDivision = &getModel('document')}
다음글 {$oDivision->getDocumentDivision($oDocument->document_srl,'next','list_order')}
이전글 {$oDivision->getDocumentDivision($oDocument->document_srl,'prev','list_order')}

list_order로 정렬 법과 update_order로 정렬 법으로 되게 해봤습니다.

executeQuery("document.getNextDivision", $args);
document 은 xml 파일이 있는 곳으로 바꿔주셔야 합니다.

xml파일을 addons/애드온명/queries/ 폴더에 넣어서 사용하실 경우는 addons.애드온명.getNextDivision 으로 되어야 겠죠.

그리고 만약 addons/애드온명 폴더 안에서 사용할 경우라면

다음글 {getDocumentDivision($oDocument->document_srl,'next','list_order')}
이전글 {getDocumentDivision($oDocument->document_srl,'prev','list_order')}

이런식으로 사용하세요.
제일 위의 소스파일은 제로XE/modules/document/document.model.php 의 제일 하단

        /**
         * @brief 문서 설정 정보를 구함
         **/
        function getDocumentConfig() {
            if(!$GLOBLAS['__document_config__'])  {
                $oModuleModel = &getModel('module');
                $config = $oModuleModel->getModuleConfig('document');

                if(!$config->thumbnail_type) $config->thumbnail_type = 'crop';
                $GLOBLAS['__document_config__'] = $config;
            }

            return $GLOBLAS['__document_config__'];
        }


---- 요기 붙여넣기 해주세요 ----      

    }
?>

나머지 xml의 내용은 제목대로(getNextDivision.xml,getPrevDivision.xml) 각각 파일로 만드셔서

제로XE/modules/document/queries/ 폴더에 넣어주세요.



주의1. 꼭 파일 저장하실때(특히 XML) UTF-8로 저장하세요.
주의2. 안되면?? ㄷㄷㄷ;;;; 저는 됐습니다. 안되면 어쩔수 없이 물어보세요 ^^

배포자 라르게덴

추가 팁
//링크생성

view_document.html에

{@$oDivision = &getModel('document')}
<a href="{getUrl('document_srl',$oDivision->getDocumentDivision($oDocument->document_srl,'next','list_order'), 'listStyle', $listStyle, 'cpage','')}">이전글</a>
<a href="{getUrl('document_srl',$oDivision->getDocumentDivision($oDocument->document_srl,'prev','list_order'), 'listStyle', $listStyle, 'cpage','')}">다음글</a>




//제목 등 출력

if($output->data) {
                    $data = array_pop($output->data);
                    $division_document = $data->document_srl;
                    --수정--
                    $division_document->document_srl = $data->document_srl;
                    $division_document->title = $data->title;
                    $division_document->nick_name = $data->nick_name;
                      .... 등등
                }

            return $division_document;
        }

여기에 저 빨간 글자를 수정해주시면 됩니다.
Query상으로는 그 게시물 번호의 전체를 뽑아오기 때문에...

그리고 불러올때 좀 틀려집니다.

{@$oDivision = &getModel('document')}
{@$원하시는변수명 = $oDivision->getDocumentDivision($oDocument->document_srl,'next','list_order')}

{$원하시는변수명->document_srl}
{$원하시는변수명->title} 등등....


 

현재평점 0 (평가자 수 : 0)
profile

여기에서 행복한 시간 되십시오.