cakephp3-bootstrap-helpers icon indicating copy to clipboard operation
cakephp3-bootstrap-helpers copied to clipboard

Add configurable defaults for BootstrapPaginatorHelper

Open Antoniossss opened this issue 8 years ago • 1 comments

For example, I would like to globally apply following configuration so it would be to every invokation of BootstrapPaginatorhelper#numbers()

                     [
                        "size" => "small",
                        "prev" => "<",
                        "next" => ">",
                        "ellipsis" => true,
                        "first"=>"first",
                        "last"=>"last",
                    ]

Right now I have to put those options to every invocation am I correct? It would be great to have ability to confiugre those values as defaults.

I think that perfect fit would be upon helper initialization

        'Paginator' => [
            'className' => 'Bootstrap.BootstrapPaginator',
            'numbers' => [
                "size" => "small",
                "prev" => "<",
                "next" => ">",
                "ellipsis" => true,
                "first" => "first",
                "last" => "last",
            ]
        ],

And after quick glance at the source, I found out that its is all about adding 2 lines

      if ($this->getConfig("numbers")) {
            $options += $this->getConfig("numbers");
        }

at the beginning of numbers method. Clean code and handy solution.

Antoniossss avatar Jun 01 '17 12:06 Antoniossss

Easiest way to do this is to create your own helper and override numbers:

namespace App\View\Helper;

class MyPaginatorHelper extends \Bootstrap\View\Helper\PaginatorHelper {

    public function numbers(array $options = []) {
        $options += [
            "size" => "small",
            "prev" => "<",
            "next" => ">",
            "ellipsis" => true,
            "first" => "first",
            "last" => "last",
        ];
        return parent::numbers($options);
    }

}

Holt59 avatar Jun 02 '17 09:06 Holt59