当前位置: 首页>>代码示例>>PHP>>正文


PHP Paginator\Paginator类代码示例

本文整理汇总了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>&nbsp;';
         }
         $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;
 }
开发者ID:tomshaw,项目名称:resource-datastore,代码行数:34,代码来源:ResourceController.php

示例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));
 }
开发者ID:gstearmit,项目名称:EshopVegeTable,代码行数:28,代码来源:IndexController.php

示例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));
 }
开发者ID:JoshBour,项目名称:karolina,代码行数:7,代码来源:PostController.php

示例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;
 }
开发者ID:neophyt3,项目名称:flaming-archer,代码行数:12,代码来源:Pagination.php

示例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));
 }
开发者ID:ChristianKolling,项目名称:ctg,代码行数:30,代码来源:GaleriaDeFotosController.php

示例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)));
 }
开发者ID:vrkansagara,项目名称:mwop.net,代码行数:10,代码来源:ListPostsMiddleware.php

示例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;
 }
开发者ID:spooner77,项目名称:dream-cms,代码行数:43,代码来源:UserAdministration.php

示例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()];
 }
开发者ID:arstropica,项目名称:zf2-dashboard,代码行数:31,代码来源:EventController.php

示例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));
 }
开发者ID:anillaogi016,项目名称:zend-admin,代码行数:33,代码来源:14_des.php

示例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;
 }
开发者ID:shitikovkirill,项目名称:zend-shop.com,代码行数:7,代码来源:ProductModel.php

示例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;
 }
开发者ID:antoinebon,项目名称:zf2,代码行数:7,代码来源:ProfilerService.php

示例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));
 }
开发者ID:CPDS,项目名称:Sistema-de-controle-cpds,代码行数:28,代码来源:VisitanteController.php

示例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];
 }
开发者ID:arstropica,项目名称:zf2-dashboard,代码行数:26,代码来源:LeadController.php

示例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));
 }
开发者ID:CPDS,项目名称:Sistema-de-controle-cpds,代码行数:30,代码来源:EquipamentoController.php

示例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));
 }
开发者ID:CerebroVasconcelos,项目名称:zf2_search_with_pagination_example,代码行数:33,代码来源:AlbumController.php


注:本文中的Zend\Paginator\Paginator类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。