sjaakp/yii2-datepager

在Yii2中按日期值分页的数据。

安装: 124

依赖项: 0

建议者: 0

安全性: 0

星标: 1

关注者: 2

分支: 0

开放问题: 1

类型:yii2-extension

1.1.1 2024-06-29 12:38 UTC

This package is not auto-updated.

Last update: 2024-09-22 13:10:22 UTC


README

为Yii2提供日期值分页

Latest Stable Version Total Downloads License

以下类允许在Yii 2.0 PHP框架中根据日期值进行数据库分页。

yii2-datepager的演示请在此查看

安装

安装yii2-datepager的首选方法是通过Composer。您可以将以下内容添加到您的composer.json文件的require部分中

"sjaakp/yii2-datepager": "*"

或者运行

composer require sjaakp/yii2-datepager "*"

您也可以通过下载ZIP格式的源代码来手动安装yii2-datepager

使用Datepager

使用Yii2 Datepager很简单。一个最小使用场景可能如下。在EventController.php中,我们可能会有以下内容

<?php
use sjaakp\datepager\ActiveDataProvider;

class EventController extends Controller
{
	// ...

	public function actionIndex()    {
        $dataProvider = new ActiveDataProvider([
            'query' => Event::find(),
            'dateAttribute' => 'date'
        ]);

        return $this->render('index', [
            'dataProvider' => $dataProvider
        ]);
    }

	// ... more actions ...
}

相应的视图文件index.php可能如下所示

<?php
use sjaakp\datepager\DatePager;
?>

<?= DatePager::widget([
    'dataProvider' => $dataProvider
]) ?>

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'columns' => [
        'date',
        'title',
        // ... more columns ...
    ],
]); ?>

ActiveDataProvider

这是从yii\data中的Yii对应扩展,可以以相同的方式使用。设置属性$dateAttribute很重要。

$dateAttribute

string 将此设置为用于定义页面的属性名称。必须设置。

$interval

string 定义页面间隔。必须设置,形式为PHP的DateInterval可以理解的。默认:'P1Y'(一年)。

$ascending

bool 是否按升序或降序渲染DatePager页面。默认:true(升序)。

$beginDate

string 第一个Datepager页面的日期。如果未设置(默认),Datepager将自行确定此日期。它可以是第一页范围内的任何日期。格式:任何PHP 日期格式

$endDate

string 最后一个Datepager页面的日期。如果未设置(默认),Datepager将自行确定此日期。它可以是最后一页范围内的任何日期。格式:任何PHP 日期格式

$dateParam

string Datepager的HTML参数名称。默认值:'date'。如果与其他功能冲突,可能需要更改。

DatePager

这是实际渲染日期分页的控件。必须设置属性$dataProvider

$dataProvider

与该分页器关联的Datepager ActiveDataProvider。必须设置。

$maxButtonCount

int 渲染的页面按钮的最大数量。默认:10

$labelFormat

null|string|callable 定义页面标签的格式。

  • 如果null:DatePager根据数据提供者的间隔确定格式。
  • 如果string:一个符合Yii的Fomrmatter::dateformat的日期格式。
  • 如果callable:一个function($page, $datePager),返回一个字符串,其中$page是一个PHP DateTimeInterface

$options

array 日期分页器容器标签的 HTML 选项。默认:[ 'class' => 'pagination' ],与 Bootstrap 兼容。

$buttonOptions

array 日期分页器按钮的 HTML 选项。默认:[ 'class' => 'page-item' ],与 Bootstrap 4 兼容。

$linkOptions

array 日期分页器链接的 HTML 选项。默认:[ 'class' => 'page-link' ],与 Bootstrap 4 兼容。

$activePageCssClass

string 活跃页面的 CSS 类。默认:'active'

$disabledPageCssClass

string 禁用页面的 CSS 类。默认:'disabled'

$prevPageLabel, $nextPageLabel

'string' 上一页和下一页按钮的文本标签,不会进行 HTML 编码。如果 false,则按钮不会渲染。默认:'&laquo;''&raquo;'

$firstPageLabel, $lastPageLabel

'string' 首页和末页按钮的文本标签,不会进行 HTML 编码。如果 false(默认),则按钮不会渲染。

除了 $dataProvider$labelFormat 之外的所有属性,都是 Yii 的 LinkPager 中对应属性的直接等效。