/** * @param array $entities * @param PaginationData $paginationData * @param array $additionalData * * @return Closure */ public function getPagination(array $entities, PaginationData $paginationData, array $additionalData = null) { if (is_null($entities)) { $entities = array(); } if (is_null($additionalData)) { $additionalData = array(); } $pagination = new Pagination($entities, $paginationData->getTotalItemsCount()); $pagination->setCurrentPage($paginationData->getPageIndex()); $pagination->setPageRange($paginationData->getPageRange()); $pagination->setPageSize($paginationData->getPageSize()); $twig_env = $this->twig; $twig_template = $this->template; $pagination->renderer = function ($data) use($twig_env, $twig_template, $additionalData) { //return var_export($data, true); // common errors to check: is $twig_template file present? //return $twig_template; try { return $twig_env->render($twig_template, array_merge($data, $additionalData)); } catch (\Exception $e) { return $e->getMessage(); } }; return $pagination; }
/** * @param PaginationData $paginationData * @param array $additionalData * * @return Closure */ public function getPageSizeSelector(PaginationData $paginationData, array $additionalData = null) { if (is_null($additionalData)) { $additionalData = array(); } $pagesizeselector = new PageSizeSelector(); $pagesizeselector->setSizes($this->sizes); $pagesizeselector->setCurrentSize($paginationData->getPageSize()); $twig_env = $this->twig; $twig_template = $this->template; $pagesizeselector->renderer = function ($data) use($twig_env, $twig_template, $additionalData) { //return var_export($data, true); // common errors to check: is $twig_template file present? //return $twig_template; try { return $twig_env->render($twig_template, array_merge($data, $additionalData)); } catch (\Exception $e) { return $e->getMessage(); } }; return $pagesizeselector; }