amenophis1er/yii2-datatables

一个用于 DataTables 的 Yii2 扩展,具有服务器端处理功能。

0.0.2 2024-03-21 22:30 UTC

This package is auto-updated.

Last update: 2024-09-21 23:30:03 UTC


README

此扩展将 DataTables jQuery 插件与 Yii2 框架集成,提供对大量数据的高效服务器端处理支持。它使 Yii2 应用程序能够在不牺牲性能的情况下处理大量数据,非常适合需要具有搜索、排序和分页等丰富功能动态表格视图的项目。

功能

  • 服务器端处理:通过服务器端数据处理高效处理大量数据集。
  • 易于集成:无缝集成到 Yii2 项目中,允许快速设置和使用。
  • 可定制选项:提供广泛的 DataTables 可定制选项,以满足您应用程序的特定需求。

要求

  • Yii2 2.0.15 或更高版本
  • PHP 7.1 或更高版本

安装

使用 Composer 安装扩展

composer require amenophis1er/yii2-datatables

使用方法

将 DataTables 扩展集成到您的 Yii2 项目中很简单。按照以下步骤开始。

基本用法

控制器

在控制器中,设置您的数据提供者并将 DataTablesComponent 对象传递到视图中

use yii\web\Controller;
use amenophis1er\yii2datatables\DataTablesComponent;
use app\models\User;

class SiteController extends Controller
{
    public function actionDemo()
    {
        $query = User::find()
            ->select(['id', 'username', 'email', 'status', 'created_at', 'updated_at'])
            ->where(['like', 'username', 'a%', false]);

        $datatables = \Yii::$app->datatables->register($query, function ($row) {
            // Optionally modify each row data here
            $row['action'] = "<a href='#'>Update</a>";
            unset($row['password_hash']);
            return $row;
        });

        return $this->render('demo', ['datatables' => $datatables]);
    }
}

视图

在视图文件中,渲染 DataTables 组件

<?php
/* @var $this yii\web\View */
/* @var $datatables amenophis1er\yii2datatables\DataTablesComponent */

$this->title = 'Demo DataTables';
?>

<div class="site-demo">
    <h1><?= \yii\helpers\Html::encode($this->title) ?></h1>
    <div class="container">
        <?= $datatables->setHttpMethod('get')->render() ?>
    </div>
</div>

自定义

要自定义 DataTables 选项,您可以在视图或控制器中修改 DataTablesComponent 对象。有关自定义和高级用法的更多详细信息,请参阅 DataTables 文档

贡献

欢迎贡献!有关如何为此项目做出贡献的更多详细信息,请参阅 贡献指南

故障排除

有关使用 Yii2 DataTables 扩展的常见问题和问题,请参阅 FAQ 部分。如果您遇到未涵盖的问题,请在此项目的 GitHub 仓库中打开一个问题。

许可证

此扩展在 MIT 许可证下发布。有关详细信息,请参阅附带 LICENSE 文件。