Crud\Listener\ApiPaginationListener::beforeRender PHP 메소드

beforeRender() 공개 메소드

Appends the pagination information to the JSON or XML output
public beforeRender ( Cake\Event\Event $event ) : void
$event Cake\Event\Event Event
리턴 void
    public function beforeRender(Event $event)
    {
        $request = $this->_request();
        if (empty($request->paging)) {
            return;
        }
        $controller = $this->_controller();
        list(, $modelClass) = pluginSplit($controller->modelClass);
        if (!array_key_exists($modelClass, $request->paging)) {
            return;
        }
        $pagination = $request->paging[$modelClass];
        if (empty($pagination)) {
            return;
        }
        $paginationResponse = ['page_count' => $pagination['pageCount'], 'current_page' => $pagination['page'], 'has_next_page' => $pagination['nextPage'], 'has_prev_page' => $pagination['prevPage'], 'count' => $pagination['count'], 'limit' => $pagination['limit']];
        $controller->set('pagination', $paginationResponse);
        $this->_action()->config('serialize.pagination', 'pagination');
    }