통합 최근게시물 노출 (Recent Posts 모듈) zigger에 추가 설치한 Recent Posts 의 리스트 노출 및 레코딩 방법을 안내합니다.
Recent Posts 모듈 설치
zigger 에서 다운로드 받은 모듈을 아래 가이드로 이동하여 안내에 따라 설치 합니다.
연관 가이드 바로가기
새로운 Module 설치
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
위 예시 코드의 16~35 line과 같이 Controller에 메소드를 정의 후 Recent Posts 객체를 생성합니다.<?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(); } }
생성된 객체에서 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(); ?>