amenophis1er / yii2-datatables
一个用于 DataTables 的 Yii2 扩展,具有服务器端处理功能。
0.0.2
2024-03-21 22:30 UTC
Requires
- php: >=7.4.0
- datatables/datatables: ^1.10
- opis/closure: ^3.6
- yiisoft/yii2: ~2.0.45
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 文件。