sjaakp / yii2-datepager
在Yii2中按日期值分页的数据。
Requires
This package is not auto-updated.
Last update: 2024-09-22 13:10:22 UTC
README
为Yii2提供日期值分页
以下类允许在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是一个PHPDateTimeInterface。
$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,则按钮不会渲染。默认:'«' 和 '»'。
$firstPageLabel, $lastPageLabel
'string' 首页和末页按钮的文本标签,不会进行 HTML 编码。如果 false(默认),则按钮不会渲染。
除了 $dataProvider 和 $labelFormat 之外的所有属性,都是 Yii 的 LinkPager 中对应属性的直接等效。