* * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ namespace Chill\MainBundle\Pagination; use Twig\Environment; use Twig\Extension\AbstractExtension; use Twig\TwigFunction; /** * add twig function to render pagination * * @author Mathieu Jaumotte * @author Champs Libres */ class ChillItemsPerPageTwig extends AbstractExtension { public function getName() { return 'chill_items_per_page'; } public function getFunctions() { return array( new TwigFunction( 'chill_items_per_page', array($this, 'paginationRender'), array( 'needs_environment' => true, 'is_safe' => ['html'] ) ) ); } public function paginationRender( Environment $env, PaginatorInterface $paginator, $template = '@ChillMain/Pagination/items_per_page.html.twig' ) { return $env->render($template, array( 'paginator' => $paginator, 'current' => $paginator->getItemsPerPage() )); } }