本文整理汇总了PHP中Zend\Paginator\Paginator类的典型用法代码示例。如果您正苦于以下问题:PHP Paginator类的具体用法?PHP Paginator怎么用?PHP Paginator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Paginator类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: dataAction
public function dataAction()
{
$response = $this->getResponse();
$grid = $this->grid('Application\\Index\\Index', array('-', 'id', 'title', 'category', 'username', 'created_at', '-'));
if (isset($this->getSessionContainer()->parent_id)) {
$grid['parent_id'] = $this->getSessionContainer()->parent_id;
}
$result = $this->getResourceTable()->fetchDataGrid($grid);
$adapter = new ArrayAdapter($result);
$paginator = new Paginator($adapter);
$page = ceil(intval($grid['start']) / intval($grid['length'])) + 1;
$paginator->setCurrentPageNumber($page);
$paginator->setItemCountPerPage(intval($grid['length']));
$data = array();
$data['data'] = array();
foreach ($paginator as $row) {
$category = array_key_exists('category', $row) ? $row['category'] : '-';
$title = $row['node_type'] == \Application\Model\Resource::NODE_TYPE_CATEGORY ? '<a href="/admin/resource/parent_id/' . $row['id'] . '" title="' . strip_tags($row['description']) . '">' . strip_tags($row['title']) . '</a>' : '<i>' . strip_tags($row['title']) . '</i>';
$actions = '';
if ($row['url']) {
$actions .= '<a class="btn btn-xs btn-outline blue-steel btn-view" href="' . $row['url'] . '" data-id="' . $row['id'] . '" target="_blank">View</a> ';
}
$actions .= '<a class="btn btn-xs btn-outline red" href="/admin/resource/delete/id/' . $row['id'] . '" onclick="return confirm("Are you sure you wish to delete selected resources?");">Delete</a>';
$data['data'][] = array('<input type="checkbox" name="id[' . $row['id'] . ']" value="' . $row['id'] . '" />', '<a class="btn btn-xs btn-outline blue-steel btn-view" href="/admin/resource/edit/id/' . $row['id'] . '/parent_id/' . $row['parent_id'] . '" title="' . $row['id'] . '">Edit: ' . $row['id'] . '</a>', $title, $category, $row['username'], date('F jS Y', strtotime($row['created_at'])), $actions);
}
$data['page'] = $page;
$data['grid'] = $grid;
$data['draw'] = intval($grid['draw']);
$data['recordsTotal'] = $paginator->getTotalItemCount();
$data['recordsFiltered'] = $paginator->getTotalItemCount();
$response->setStatusCode(200);
$response->setContent(Json::encode($data));
return $response;
}
示例2: indexAction
public function indexAction()
{
$this->layout('layout/bags');
$getuser = $this->forward()->dispatch('Admin\\Controller\\Index', array('action' => 'getuser'));
$this->layout()->getuser = $getuser;
if (!$getuser) {
// notlogin
$this->redirect()->toUrl(WEBPATH);
}
$this->layout()->getuser = $getuser;
//$ProductTable = $this->getServiceLocator()->get('ProductTable');
$allRecord = $this->getSlideTable()->countAll();
//print_r($allRecord);die;
$pageNull = new PageNull($allRecord);
$itemsPerPage = 5;
$pageRange = 3;
$page = $this->params()->fromRoute('page', 1);
$offset = ($page - 1) * $itemsPerPage;
$paginator = new Paginator($pageNull);
$paginator->setCurrentPageNumber($page);
$paginator->setItemCountPerPage($itemsPerPage);
$paginator->setPageRange($pageRange);
$listpr_tmp = $this->getSlideTable()->getList($offset, $itemsPerPage);
//---------------------------------
$fetch_slideshow = $this->getSlideTable()->getList($offset, $itemsPerPage);
$this->layout()->fetch_slideshow = $fetch_slideshow;
return new ViewModel(array('paginator' => $paginator, 'allRecord' => $allRecord, 'offset' => $offset, 'itemsPerPage' => $itemsPerPage));
}
示例3: indexAction
public function indexAction()
{
$page = $this->params()->fromRoute("page", 1);
$posts = new Paginator(new ArrayAdapter($this->getPostRepository()->findBy(array(), array("postDate" => "DESC"))));
$posts->setCurrentPageNumber($page)->setItemCountPerPage(6);
return new ViewModel(array("pageTitle" => "Latest News", "bodyClass" => "postsPage blackLayout", "posts" => $posts));
}
示例4: newPaginator
/**
* Creates a paginator
*
* @return Paginator Zend Paginator
*/
public function newPaginator(array $images = array(), $currentPage = 1, $perPage = 25)
{
$paginator = new Paginator(new ArrayAdapter($images));
$paginator->setItemCountPerPage($perPage);
$paginator->setCurrentPageNumber($currentPage);
return $paginator;
}
示例5: publicarAction
public function publicarAction()
{
$form = new FotosForm();
$id = (int) $this->params()->fromRoute('id', 0);
$fotosValidator = new FotosValidator();
$request = $this->getRequest();
$album = $this->getObjectManager()->find('Admin\\Model\\Galeria', $id);
$collection = new ArrayCollection($this->getService('Admin\\Service\\Fotos')->fetchAll($id));
$paginator = new Paginator(new Adapter($collection));
$paginator->setCurrentPageNumber($this->params()->fromQuery('page', 1))->setItemCountPerPage(12);
if (!$album) {
$this->redirect()->toUrl('/admin/galeria-de-fotos');
$this->flashMessenger()->addErrorMessage('Álbum não localizado');
}
if ($request->isPost()) {
$form->setInputFilter($fotosValidator->getInputFilter());
$form->setData(array_merge_recursive($this->getRequest()->getPost()->toArray(), $this->getRequest()->getFiles()->toArray()));
if ($form->isValid()) {
$dados = $form->getData();
try {
$this->getService('Admin\\Service\\Fotos')->saveFotos($dados, $album);
$this->flashMessenger()->addSuccessMessage('Fotos Publicadas com Sucesso.');
} catch (\Exception $e) {
$this->flashMessenger()->addErrorMessage('Erro ao publicar fotos, por favor tente novamente.');
}
return $this->redirect()->toUrl('/admin/galeria-de-fotos');
}
}
return new ViewModel(array('form' => $form, 'fotos' => $collection));
}
示例6: prepareEntries
/**
* @return EntryView[]
*/
private function prepareEntries(int $page, Paginator $posts) : array
{
return array_map(function ($post) {
$post['uriHelper'] = $this->uriHelper;
return new EntryView($post);
}, iterator_to_array($posts->getItemsByPage($page)));
}
示例7: getUsers
/**
* Get users
*
* @param integer $page
* @param integer $perPage
* @param string $orderBy
* @param string $orderType
* @param array $filters
* string nickname
* string email
* string status
* integer role
* @return object
*/
public function getUsers($page = 1, $perPage = 0, $orderBy = null, $orderType = null, array $filters = [])
{
$orderFields = ['id', 'nickname', 'email', 'registered', 'status'];
$orderType = !$orderType || $orderType == 'desc' ? 'desc' : 'asc';
$orderBy = $orderBy && in_array($orderBy, $orderFields) ? $orderBy : 'id';
$select = $this->select();
$select->from(['a' => 'user_list'])->columns(['id' => 'user_id', 'nickname' => 'nick_name', 'email', 'status', 'registered', 'role_id' => 'role'])->join(['b' => 'acl_role'], 'a.role = b.id', ['role' => 'name'])->order($orderBy . ' ' . $orderType);
// filter by nickname
if (!empty($filters['nickname'])) {
$select->where([new LikePredicate('nick_name', $filters['nickname'] . '%')]);
}
// filter by email
if (!empty($filters['email'])) {
$select->where(['email' => $filters['email']]);
}
// filter by status
if (!empty($filters['status'])) {
$select->where(['status' => $filters['status']]);
}
// filter by role
if (!empty($filters['role'])) {
$select->where(['role' => $filters['role']]);
}
$paginator = new Paginator(new DbSelectPaginator($select, $this->adapter));
$paginator->setCurrentPageNumber($page);
$paginator->setItemCountPerPage(PaginationUtility::processPerPage($perPage));
$paginator->setPageRange(SettingService::getSetting('application_page_range'));
return $paginator;
}
示例8: listAction
public function listAction()
{
$pagerAction = $this->handlePager();
$limit = $this->getLimit($this->defaultPageSize);
// $limit = $this->getRequest()->getQuery('limit',
// $this->defaultPageSize);
$page = $this->getRequest()->getQuery('page', 0);
$sort = $this->getRequest()->getQuery('sort', $this->defaultSort);
$order = $this->getRequest()->getQuery('order', $this->defaultOrder);
if (empty($sort)) {
$sort = $this->defaultSort;
}
$offset = $limit * $page - $limit;
if ($offset < 0) {
$offset = 0;
}
/* @var $qb \Doctrine\ORM\QueryBuilder */
$qb = $this->getEntityManager()->createQueryBuilder();
$qb->add('select', 'e')->add('from', $this->getEntityClass() . ' e')->orderBy('e.' . $sort, $order)->setFirstResult($offset)->setMaxResults($limit);
$qb = $this->handleSearch($qb);
$pager = $this->getPagerForm($limit);
$paginator = new Paginator(new DoctrinePaginator(new ORMPaginator($qb->getQuery(), true)));
$paginator->setDefaultItemCountPerPage($limit);
$paginator->setCurrentPageNumber($page);
$paginator->setPageRange($this->paginatorRange);
$ui = ['table' => ["occurred" => ["col" => 2, "label" => "Date", "sort" => true], "event" => ["col" => 2, "label" => "Event", "sort" => false], "account" => ["col" => 3, "label" => "Account", "sort" => false], "message" => ["col" => 5, "label" => "Info", "sort" => false]]];
$filters = $this->getFilterForm($this->params()->fromQuery());
$post = $this->params()->fromPost();
$redirectUrl = $this->url()->fromRoute($this->getActionRoute(), [], true);
return ['paginator' => $paginator, 'sort' => $sort, 'order' => $order, 'page' => $page, 'pager' => $pager, 'query' => $this->params()->fromQuery(), 'filters' => $filters, 'ui' => $ui, 'history' => $this->setHistory()];
}
示例9: indexAction
public function indexAction()
{
/* $service1=new \Lib\Service1\Custom();
echo $service1->demo(); die; */
/* $plugin=$this->CustomPlugin();
print_r($plugin->doSomthing()); die; */
/* $facebook = new \Facebook(array(
'appId' => 'xxx',
'secret' => 'xxx',
));
print_r($facebook); die; */
$auth = new AuthenticationService();
if (!$auth->hasIdentity()) {
return $this->redirect()->toRoute('home');
}
$select = new Select();
$search = @$_REQUEST['search'];
if (!empty($search)) {
$select->where->like('name', '%' . $search . '%')->or->like('email', '%' . $search . '%')->or->like('mob', '%' . $search . '%')->or->like('title', '%' . $search . '%');
}
$order_by = $this->params()->fromRoute('order_by') ? $this->params()->fromRoute('order_by') : 'id';
$order = $this->params()->fromRoute('order') ? $this->params()->fromRoute('order') : Select::ORDER_ASCENDING;
$page = $this->params()->fromRoute('page') ? (int) $this->params()->fromRoute('page') : 1;
$album = $this->getAdminTable()->fetchAll($select->order($order_by . ' ' . $order), $search);
$itemPerPage = 2;
$album->current();
$paginator = new Paginator(new PaginatorIterator($album));
$paginator->setCurrentPageNumber($page);
$paginator->setItemCountPerPage($itemPerPage);
$paginator->setPageRange(10);
//print_r($paginator); die;
return new ViewModel(array('order_by' => $order_by, 'order' => $order, 'page' => $page, 'paginator' => $paginator));
}
示例10: getPaginator
private function getPaginator($query, $page)
{
$doc_paginator = new DoctrinePaginator(new ORMPaginator($query));
$paginator = new Paginator($doc_paginator);
$paginator->setCurrentPageNumber($page)->setItemCountPerPage(20);
return $paginator;
}
示例11: getProfilesPaginator
public function getProfilesPaginator($iPage = 1, $iCount = null)
{
$oPaginator = new Paginator(new MongoCursor($this->mapper->fetchAllIds()));
$oPaginator->setItemCountPerPage($iCount ? $iCount : $this->oOptions->getProfilesCountPerPage());
$oPaginator->setCurrentPageNumber($iPage);
return $oPaginator;
}
示例12: indexAction
public function indexAction()
{
$id = (int) $this->getEvent()->getRouteMatch()->getParam('id');
$request = $this->getRequest();
if ($request->isPost()) {
$post = $request->getPost();
if ($post->nomeVisitante != '') {
$query = $this->getEntityManager()->createQuery("SELECT u FROM\n Visitante\\Entity\\Visitante u WHERE u.nomeVisitante LIKE :data");
$query->setParameters(array('data' => '%' . $post->nomeVisitante . '%'));
$dados = $query->getResult();
if ($dados) {
$page = (int) $this->getEvent()->getRouteMatch()->getParam('page');
$paginator = new Paginator(new ArrayAdapter($dados));
$paginator->setCurrentPageNumber($page)->setDefaultItemCountPerPage(8);
return new ViewModel(array('data' => $paginator, 'page' => $page));
}
}
}
if (!$id) {
$visitantes = $this->getEntityManager()->getRepository('Visitante\\Entity\\Visitante')->findBy(array(), array('nomeVisitante' => 'ASC'));
$page = (int) $this->getEvent()->getRouteMatch()->getParam('page');
$paginator = new Paginator(new ArrayAdapter($visitantes));
$paginator->setCurrentPageNumber($page)->setDefaultItemCountPerPage(8);
return new ViewModel(array('data' => $paginator, 'page' => $page));
}
$visitantes = $this->findVisitanteByNome($id);
return new ViewModel(array('visitantes' => $visitantes));
}
示例13: listAction
public function listAction()
{
$page = $this->getRequest()->getQuery('page', 0);
$limit = $this->getRequest()->getQuery('limit', $this->defaultPageSize);
$sort = $this->getRequest()->getQuery('sort', $this->defaultSort);
$order = $this->getRequest()->getQuery('order', $this->defaultOrder);
$id = $this->getEvent()->getRouteMatch()->getParam('id', 0);
if (empty($sort)) {
$sort = $this->defaultSort;
}
$offset = $limit * $page - $limit;
if ($offset < 0) {
$offset = 0;
}
/* @var $qb \Doctrine\ORM\QueryBuilder */
$qb = $this->getEntityManager()->createQueryBuilder();
$qb->add('select', 'e')->add('from', '\\Lead\\Entity\\Lead e')->innerJoin('e.account', 'a')->andWhere('a.id = :id')->orderBy('e.' . $sort, $order)->setFirstResult($offset)->setMaxResults($limit)->setParameter('id', $id);
$qb = $this->handleSearch($qb);
$paginator = new Paginator(new DoctrinePaginator(new LosPaginator($qb, false)));
$paginator->setDefaultItemCountPerPage($limit);
$paginator->setCurrentPageNumber($page);
$paginator->setPageRange($this->paginatorRange);
$ui = ['table' => ["referrer" => ["col" => 6, "label" => "Source", "sort" => true], "lastsubmitted" => ["col" => 4, "label" => "Submitted", "sort" => true]]];
$filters = $this->getFilterForm($this->params()->fromQuery())->remove('account');
return ['id' => $id, 'paginator' => $paginator, 'sort' => $sort, 'order' => $order, 'page' => $page, 'query' => $this->params()->fromQuery(), 'filters' => $filters, 'ui' => $ui];
}
示例14: indexAction
public function indexAction()
{
$id = (int) $this->getEvent()->getRouteMatch()->getParam('id');
$request = $this->getRequest();
if ($request->isPost()) {
$post = $request->getPost();
if ($post->numerotombo != '') {
$query = $this->getEntityManager()->createQuery("SELECT u FROM\n Equipamento\\Entity\\Equipamento u WHERE u.ntombo LIKE :data");
$query->setParameters(array('data' => '%' . $post->numerotombo . '%'));
$dados = $query->getResult();
$qb = $this->getEntityManager()->createQueryBuilder()->select('u')->from('Equipamento\\Entity\\Equipamento', 'u')->innerJoin('Equipamento\\Entity\\Tombo', 't', 'WITH', 'u.idequipamento = t.tomboequipamento')->where('t.numeroTombo LIKE :data')->setParameter('data', '%' . $post->numerotombo . '%')->getQuery();
$dados = $dados + $qb->getResult();
if ($dados) {
$page = (int) $this->getEvent()->getRouteMatch()->getParam('page');
$paginator = new Paginator(new ArrayAdapter($dados));
$paginator->setCurrentPageNumber($page)->setDefaultItemCountPerPage(8);
return new ViewModel(array('data' => $paginator, 'page' => $page));
}
}
}
if (!$id) {
$equipamentos = $this->getEntityManager()->getRepository('Equipamento\\Entity\\Equipamento')->findBy(array(), array('ntombo' => 'ASC'));
$page = (int) $this->getEvent()->getRouteMatch()->getParam('page');
$paginator = new Paginator(new ArrayAdapter($equipamentos));
$paginator->setCurrentPageNumber($page)->setDefaultItemCountPerPage(8);
return new ViewModel(array('data' => $paginator, 'page' => $page));
}
$equipamentos = $this->findEquipamentoByTombo($id);
return new ViewModel(array('equipamentos' => $equipamentos));
}
示例15: indexAction
public function indexAction()
{
$searchform = new AlbumSearchForm();
$searchform->get('submit')->setValue('Search');
$select = new Select();
$order_by = $this->params()->fromRoute('order_by') ? $this->params()->fromRoute('order_by') : 'id';
$order = $this->params()->fromRoute('order') ? $this->params()->fromRoute('order') : Select::ORDER_ASCENDING;
$page = $this->params()->fromRoute('page') ? (int) $this->params()->fromRoute('page') : 1;
$select->order($order_by . ' ' . $order);
$search_by = $this->params()->fromRoute('search_by') ? $this->params()->fromRoute('search_by') : '';
$where = new \Zend\Db\Sql\Where();
$formdata = array();
if (!empty($search_by)) {
$formdata = (array) json_decode($search_by);
if (!empty($formdata['artist'])) {
$where->addPredicate(new \Zend\Db\Sql\Predicate\Like('artist', '%' . $formdata['artist'] . '%'));
}
if (!empty($formdata['title'])) {
$where->addPredicate(new \Zend\Db\Sql\Predicate\Like('title', '%' . $formdata['title'] . '%'));
}
}
if (!empty($where)) {
$select->where($where);
}
$album = $this->getAlbumTable()->fetchAll($select);
$totalRecord = $album->count();
$itemsPerPage = 2;
$album->current();
$paginator = new Paginator(new paginatorIterator($album));
$paginator->setCurrentPageNumber($page)->setItemCountPerPage($itemsPerPage)->setPageRange(7);
$searchform->setData($formdata);
return new ViewModel(array('search_by' => $search_by, 'order_by' => $order_by, 'order' => $order, 'page' => $page, 'paginator' => $paginator, 'pageAction' => 'album', 'form' => $searchform, 'totalRecord' => $totalRecord));
}