ahmyi / cakephp-datatables
CakePHP 的 DataTables 插件
dev-master
2018-12-25 04:06 UTC
Requires
- php: ^7.0
- cakephp/cakephp: ^3.5
Requires (Dev)
- phpunit/phpunit: ^5.7.14|^6.0
This package is auto-updated.
Last update: 2024-09-07 02:48:37 UTC
README
安装
您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。
安装 composer 包的推荐方法是
composer require ahmyi/cakephp-datatables:dev-master
使用方法
src/Application.php
$this->addPlugin('Ahmyi/DataTables');
config/bootstrap.php [3.6 之前]
Plugin::load('Ahmyi/DataTables');
控制器
public function initialize(){ parent::initialize(); $this->loadComponent('Ahmyi/DataTables.DataTables'); } public function index(){ $this->DataTables->use("Pages"); // $this->DataTables->use($this->Pages); if($datatables = $this->DataTables->process()){ return $datatables; } }
模板
<div class="row"> <div class="col-sm-12"> <?= $this->DataTables->render("Pages");?> </div> </div>
定制
模板化
如果您想在控制器中自定义当前模板,请定义新的元素
public function initialize(){ parent::initialize(); $this->loadComponent('Ahmyi/DataTables.DataTables',[ 'element'=>'your_element' ]); }
您的元素应该包含 2 个主要变量 $ModelName 和 $fields,以下是一个示例
</div><div class='box box-theme'> <div class='box-header'> <h3><?=$header;?></h3> </div> <div class='box-body'> <div class='col-sm-12'> <table id='DT<?=$ModelName?>' cellpadding='0' cellspacing='0' border='0' class='display' width='100%''> <thead> <tr><?=$fields?></tr> </thead> </table> </div> </div> </div>
使用不同的 js 或 css 资产
您可以使用不同的 Css 或 Js,如下所示,可以是字符串或数组,用于多个资产
public function initialize(){ parent::initialize(); $this->loadComponent('Ahmyi/DataTables.DataTables',[ 'css'=>'your.css' 'js'=>'your.js' ]); }