surda/visual-paginator

Nette 框架的视觉分页控件

v2.0.0 2021-03-19 13:37 UTC

This package is auto-updated.

Last update: 2024-09-19 21:10:38 UTC


README

Build Status Licence Latest stable PHPStan

安装

推荐通过 Composer 进行安装

composer require surda/visual-paginator

之后,您需要在 config.neon 中注册扩展

extensions:
    visualPaginator: Surda\VisualPaginator\DI\VisualPaginatorExtension

配置

默认

visualPaginator:
    edges: 1
    displayedPages: 7
    useAjax: FALSE
    templates:
        default: bootstrap4.default.latte
        default-ajax: bootstrap4.default.ajax.latte
        mini: bootstrap4.mini.latte

用法

演示者

use Surda\VisualPaginator\TVisualPaginator;
use Surda\VisualPaginator\VisualPaginatorControl;
use Nette\Utils\Paginator;

class ProductPresenter extends Nette\Application\UI\Presenter
{
    use TVisualPaginator;

    public function actionDefault(): void
    {
        /** @var VisualPaginatorControl $vp */
        $vp = $this->getComponent('vp');

        /** @var Paginator $paginator */
        $paginator = $vp->getPaginator();
        $paginator->setItemsPerPage(20);
        $paginator->setItemCount(500);

        // $rows->limit($paginator->getItemsPerPage(), $paginator->getOffset());
    }
}

模板

{control vp} or {control vp default} 

自定义选项

class ProductPresenter extends Nette\Application\UI\Presenter
{
    /**
     * @return VisualPaginatorControl
     */
    protected function createComponentIpp(): VisualPaginatorControl
    {
        $control = $this->visualPaginatorFactory->create();

        $control->setEdges(1);
        $control->setDisplayedPages(7);
        $control->disableAjax();
        $control->enableAjax();

        return $control;
    }
}