コード例 #1
0
 /**
  * @group ZF-4037
  */
 public function testUsesDefaultScrollingStyleIfNoneSupplied()
 {
     // First we'll make sure the base case works
     $output = $this->_viewHelper->__invoke($this->_paginator, 'All', 'testPagination.phtml');
     $this->assertContains('page count (11) equals pages in range (11)', $output, $output);
     Paginator\Paginator::setDefaultScrollingStyle('All');
     $output = $this->_viewHelper->__invoke($this->_paginator, null, 'testPagination.phtml');
     $this->assertContains('page count (11) equals pages in range (11)', $output, $output);
     Helper\PaginationControl::setDefaultViewPartial('testPagination.phtml');
     $output = $this->_viewHelper->__invoke($this->_paginator);
     $this->assertContains('page count (11) equals pages in range (11)', $output, $output);
 }
コード例 #2
0
ファイル: Datagrid.php プロジェクト: rezix/ZfcDatagrid
 /**
  * Load the data
  */
 public function loadData()
 {
     if (true === $this->isDataLoaded) {
         return true;
     }
     if ($this->isInit() !== true) {
         throw new \Exception('The init() method has to be called, before you can call loadData()!');
     }
     if ($this->hasDataSource() === false) {
         throw new \Exception('No datasource defined! Please call "setDataSource()" first"');
     }
     /**
      * Apply cache
      */
     $renderer = $this->getRenderer();
     /**
      * Step 1.1) Only select needed columns (performance)
      */
     $this->getDataSource()->setColumns($this->getColumns());
     /**
      * Step 1.2) Sorting
      */
     foreach ($renderer->getSortConditions() as $condition) {
         $this->getDataSource()->addSortCondition($condition['column'], $condition['sortDirection']);
     }
     /**
      * Step 1.3) Filtering
      */
     foreach ($renderer->getFilters() as $filter) {
         $this->getDataSource()->addFilter($filter);
     }
     $this->getDataSource()->execute();
     $paginatorAdapter = $this->getDataSource()->getPaginatorAdapter();
     \Zend\Paginator\Paginator::setDefaultScrollingStyle('Sliding');
     $this->paginator = new Paginator($paginatorAdapter);
     $this->paginator->setCurrentPageNumber($renderer->getCurrentPageNumber());
     $this->paginator->setItemCountPerPage($renderer->getItemsPerPage($this->getDefaultItemsPerPage()));
     /* @var $currentItems \ArrayIterator */
     $data = $this->paginator->getCurrentItems();
     if (!is_array($data)) {
         if ($data instanceof \Zend\Db\ResultSet\ResultSet) {
             $data = $data->toArray();
         } elseif ($data instanceof ArrayIterator) {
             $data = $data->getArrayCopy();
         } else {
             if (is_object($data)) {
                 $add = get_class($data);
             } else {
                 $add = '[no object]';
             }
             throw new \Exception(sprintf('The paginator returned an unknown result: %s (allowed: \\ArrayIterator or a plain php array)', $add));
         }
     }
     /*
      * Save cache
      */
     if ($renderer->isExport() === false) {
         $cacheData = ['sortConditions' => $renderer->getSortConditions(), 'filters' => $renderer->getFilters(), 'currentPage' => $this->getPaginator()->getCurrentPageNumber()];
         $success = $this->getCache()->setItem($this->getCacheId(), $cacheData);
         if ($success !== true) {
             /** @var \Zend\Cache\Storage\Adapter\FilesystemOptions $options */
             $options = $this->getCache()->getOptions();
             throw new \Exception(sprintf('Could not save the datagrid cache. Does the directory "%s" exists and is writeable? CacheId: %s', $options->getCacheDir(), $this->getCacheId()));
         }
     }
     /*
      * Step 3) Format the data - Translate - Replace - Date / time / datetime - Numbers - ...
      */
     $prepareData = new PrepareData($data, $this->getColumns());
     $prepareData->setRendererName($this->getRendererName());
     if ($this->hasTranslator()) {
         $prepareData->setTranslator($this->getTranslator());
     }
     $prepareData->prepare();
     $this->preparedData = $prepareData->getData();
     $this->isDataLoaded = true;
 }
コード例 #3
0
ファイル: IndexController.php プロジェクト: nouron/nouron
 /**
  *
  * @param array|object $offers
  * @return \Zend\Paginator\Paginator
  */
 private function _initPaginator($offers)
 {
     \Zend\Paginator\Paginator::setDefaultScrollingStyle('Sliding');
     \Zend\View\Helper\PaginationControl::setDefaultViewPartial('layout/pagination_control.phtml');
     $page = $this->params()->fromRoute('page');
     $page = $page ? $page : 1;
     if (is_object($offers)) {
         $offers = $offers->getArrayCopy();
     }
     $paginator = new \Zend\Paginator\Paginator(new \Zend\Paginator\Adapter\ArrayAdapter($offers));
     $paginator->setCurrentPageNumber($page);
     return $paginator;
 }
コード例 #4
0
ファイル: PaginatorTest.php プロジェクト: rajanlamic/IntTest
 public function testGetsAndSetsDefaultScrollingStyle()
 {
     $this->assertEquals(Paginator\Paginator::getDefaultScrollingStyle(), 'Sliding');
     Paginator\Paginator::setDefaultScrollingStyle('Scrolling');
     $this->assertEquals(Paginator\Paginator::getDefaultScrollingStyle(), 'Scrolling');
     Paginator\Paginator::setDefaultScrollingStyle('Sliding');
 }
コード例 #5
0
ファイル: Module.php プロジェクト: NguyenQuiDuong/Funix
 public function getViewHelperConfig()
 {
     \Zend\Paginator\Paginator::setDefaultScrollingStyle('Sliding');
     \Zend\View\Helper\PaginationControl::setDefaultViewPartial("layout/paginatorItem");
     return array('invokables' => array(), 'factories' => array('App' => 'Home\\View\\Helper\\AppFactory'));
 }