통합 최근게시물 노출 (Recent Posts 모듈) zigger에 추가 설치한 Recent Posts 의 리스트 노출 및 레코딩 방법을 안내합니다.

Recent Posts 모듈 설치

zigger 에서 다운로드 받은 모듈을 아래 가이드로 이동하여 안내에 따라 설치 합니다.

Manager에서 게시판 레코딩 설정

Recent Posts 모듈로 다수 게시판의 게시글을 최근/인기순 리스트로 출력하기 위해선
Manager에서 대상 게시판이 레코딩 설정되어 있어야 합니다.
Manager에 접속 후 '모듈 > Recent Posts - 게시판 레코딩 설정'으로 이동하여 레코딩이 시작될 게시판들을 지정합니다.
레코딩이 시작된 시점부터 Recent Posts 모듈에 데이터가 수집되어 최근/인기순 리스트로 출력할 수 있습니다.
확인해 주세요

Manager 접속 URL은 https://{domain}/manage 입니다.

게시판과 Recent Posts 모듈 연동

대상 게시판이 결합된 Controller를 열어 게시판 결합 구문 바로 아래에 Recent Posts를 추가로 결합합니다.
아래와 같이 Recent Posts를 결합하면, 게시판과 Recent Posts 모듈이 연동되어 보다 세부적인 게시판 데이터를 Recent Posts 모듈로 보낼 수 있게 됩니다.
Controller /app/test.php
<?php
class Testpage extends \Controller\Make_Controller {

    public function init()
    {
        $this->layout()->head();
        $this->layout()->view(PH_THEME_PATH.'/html/test.tpl.php');
        $this->layout()->foot();
    }

    public function make()
    {
        ...
    }

    public function module()
    {
        // board module
        $module = new \Module\Board\Make_Controller();
        $module->set('id', 'test_board');
        $module->run();

        // recent posts module
        $module = new \Module\Recentposts\Make_Controller();
        $module->set('id', 'test_board');
        $module->run();
    }

}

Controller와 통합 최근게시물 결합

Recent Posts에 수집된 다수 게시판의 게시글들을 최근 등록순 혹은 인기순으로 출력합니다.
리스트 출력 방식은 게시판 모듈의 '최근 게시물' 출력 방식과 유사하며 basic, gallery, webzine 세가지 출력 Theme를 지원합니다.
아래의 예시 코드와 같이 Recent Posts 리스트가 노출될 Controller에 모듈을 결합합니다.
Controller /app/test.php
<?php
class Testpage extends \Controller\Make_Controller {

    public function init()
    {
        $this->layout()->head();
        $this->layout()->view(PH_THEME_PATH.'/html/test.tpl.php');
        $this->layout()->foot();
    }

    public function make()
    {
        ...
    }

    public function recentposts_fetch()
    {
        $fetch = new \Controller\Make_View_Fetch();
        $fetch->set('title', '전체게시판 최근 게시글');
        $fetch->set('doc', MOD_RECENTPOSTS_PATH.'/lib/recentposts_latest.fetch.php');
        $fetch->set('theme', 'basic');
        $fetch->set('orderby', 'recent'); 
        $fetch->set('limit', 6);
        $fetch->set('subject', 30);
        $fetch->set('article', 50);
        $fetch->set('img-width', 150);
        $fetch->set('img-height', 150);
        $fetch->set('uri',
            [
                'test_board' => PH_DIR.'/sub/board/test_board',
                'news' => PH_DIR.'/sub/board/news'
            ]
        );
        $fetch->run();
    }

}
위 예시 코드의 16~35 line과 같이 Controller에 메소드를 정의 후 Recent Posts 객체를 생성합니다.
생성된 객체에서 set() 을 통해 Controller에 Fetch 시켜 View에서 출력할 수 있도록 준비 합니다.
Option 설명 기본값
title 통합 최근게시물 타이틀로 노출될 제목
doc 배너 Controller 경로 MOD_RECENTPOSTS_PATH.'/lib/recentposts_latest.fetch.php'
theme 출력하고자 하는 최근게시물 유형
( basic, gallery, webzine )
orderby 출력 기준
( recent, view )
recent
limit 출력 게시글 개수
subject (optional) 출력 제목 글자 수 30
article (optional) 출력 내용 글자 수 50
img-width (optional) gallery or webzine 테마인 경우 썸네일 폭 150
img-height (optional) gallery or webzine 테마인 경우 썸네일 높이 150
uri 제목 클릭시 이동할 page URI
('게시판id' => '이동할 경로')

View에 Recent Posts 노출

Controller에 Recent Posts을 결합한 뒤 아래 예시와 같이 View에 출력합니다.
View /html/zigger-default/test.tpl.php
<?php $this->recentposts_fetch(); ?>