Yii2 - 如何设置主配置参数分页pageSizeLimit?

时间:2015-10-15 04:06:45

标签: php pagination yii2 config

我希望在Pagination类中设置main config param pageSizeLimit。

示例:(/ backend/config/main.php)

'pagination' => [
        'class' => 'yii\data\Pagination',
        [
            'pageSizeLimit' => [1, 1000],
        ]
    ],

但它不起作用。 那么,如何设置整个网站的默认值? 非常感谢你!

2 个答案:

答案 0 :(得分:6)

您可以使用依赖注入容器来实现此目的。

在config的引导部分中定义默认参数的值:

\Yii::$container->set('yii\data\Pagination', [
    'pageSizeLimit' => [1, 1000],
]);

在指南https://github.com/yiisoft/yii2/blob/master/docs/guide/concept-configurations.md

中详细了解详情

答案 1 :(得分:4)

让您自己的Pagination类继承自\yii\data\Pagination,并在其中将pageSizeLimit设置为您想要的任何值。然后在数据提供程序中使用此类。

namespace app\components;

class Pagination extends \yii\data\Pagination
{
    $defaultPageSize = 100;
    $pageSizeLimit = [1, 1000];
}

然后在您的数据提供者中:

$dataProvider = new ActiveDataProvider([
    'query' => $query,
    'pagination' => [
        'class' => '\app\components\Pagination'
    ],
]);