PaginationTwigExtension.php 880 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace Grav\Plugin;
  3. use \Grav\Common\Grav;
  4. class PaginationTwigExtension extends \Twig_Extension
  5. {
  6. protected $config;
  7. public function __construct()
  8. {
  9. $this->config = Grav::instance()['config'];
  10. }
  11. /**
  12. * Returns extension name.
  13. *
  14. * @return string
  15. */
  16. public function getName()
  17. {
  18. return 'PaginationTwigExtension';
  19. }
  20. /**
  21. * Return a list of all functions.
  22. *
  23. * @return array
  24. */
  25. public function getFunctions()
  26. {
  27. return [
  28. new \Twig_SimpleFunction('paginate', [$this, 'paginateFunc']),
  29. ];
  30. }
  31. public function paginateFunc($collection, $limit, $ignore_url_param_array = []) {
  32. $pag = new PaginationPlugin($this, Grav::instance(), $this->config);
  33. $pag->paginateCollection($collection, $limit, $ignore_url_param_array);
  34. }
  35. }