<?php
/**
* Created by simpson <simpsonwork@gmail.com>
* Date: 08/11/2018
* Time: 11:42
*/
namespace AngelGamez\PorpaginasBundle\Twig;
use Knp\Bundle\PaginatorBundle\Twig\Extension\PaginationExtension;
use Knp\Component\Pager\Paginator;
use Porpaginas\Page;
use Porpaginas\Twig\RenderingAdapter;
use Twig\Environment;
class KnpPagerRenderingAdapter implements RenderingAdapter
{
private $paginator;
private $template;
/**
* KnpPagerRenderingAdapter constructor.
*
* @param $paginator
* @param $template
*/
public function __construct(Paginator $paginator, $template = null)
{
$this->paginator = $paginator;
$this->template = $template;
}
/**
* @inheritDoc
*/
public function renderPagination(Page $page, Environment $environment)
{
return $environment->getExtension(PaginationExtension::class)->render(
$environment,
$this->paginator->paginate(
$page,
$page->getCurrentPage(),
$page->getCurrentLimit()
),
$this->template
);
}
}