opwoco / datagrid-bundle
基于 Symfony Datagrid Bundle 的分支
3.1.2
2018-03-31 10:39 UTC
Requires
- php: >=5.6
- symfony/symfony: ~2.8|~3.0|^4.0
- twig/twig: >=1.5.0
Requires (Dev)
- doctrine/mongodb-odm: ^1.1.5
- doctrine/orm: ~2.4,>=2.4.5
- friendsofphp/php-cs-fixer: ^2.0
- phpunit/phpunit: ~5.7
- satooshi/php-coveralls: ^1.0
Suggests
- ext-intl: Translate the grid
- ext-mbstring: Convert your data with the right charset
- PHPExcel: Export the grid (Excel, HTML or PDF)
- doctrine/mongodb-odm: If you want to use Document as source, please require doctrine/mongodb-odm
- doctrine/orm: If you want to use Entity as source, please require doctrine/orm
Provides
- ext-mongo: 1.5
This package is not auto-updated.
Last update: 2024-09-14 19:25:44 UTC
README
受 Zfdatagrid 和 Magento Grid 启发的 Symfony2 数据网格
此捆绑包由 Stanislav Turza (Sorien) 创始。
功能
- 支持实体 (ORM)、文档 (ODM) 和向量 (数组) 源
- 可排序和可筛选,带有运算符(比较运算符、范围、以...开始/结束、包含(不)包含、定义(不)定义、正则表达式)
- 自动列类型(文本、数字、布尔值、数组、日期时间、日期、...)
- 日期时间、日期和数字列的本地化支持(十进制、货币、百分比、持续时间、科学、文字描述)
- 输入、选择、复选框和单选按钮筛选,填充网格数据或值数组
- 导出(CSV、Excel、PDF、XML、JSON、HTML、...)
- 批量操作
- 行操作
- 支持具有实体源的映射字段
- 使用安全角色保护列、操作和导出
- 注解和 PHP 配置
- 外部筛选框
- Ajax 加载
- 分页(您也可以使用 Pagerfanta)
- 列宽和列对齐
- 翻译标题前缀
- 同一页面上多网格的网格管理器
- ORM 和 ODM 源的分组配置
- 轻松覆盖模板(twig)
- 自定义列和筛选器创建
- ...
文档
请参阅 摘要。
截图
此 CSS 样式文件 中的完整示例
带有外部筛选框的英文简单示例
法语中的相同示例
这些截图中使用的数据(这是一个 phpMyAdmin 截图)
带有 ORM 源的简单网格
<?php namespace MyProject\MyBundle\Controller; use APY\DataGridBundle\Grid\Source\Entity; class DefaultController extends Controller { public function myGridAction() { // Creates a simple grid based on your entity (ORM) $source = new Entity('MyProjectMyBundle:MyEntity'); // Get a Grid instance $grid = $this->get('grid'); // Attach the source to the grid $grid->setSource($source); // Return the response of the grid to the template return $grid->getGridResponse('MyProjectMyBundle::myGrid.html.twig'); } }
在实体中简单配置网格
<?php namespace MyProject\MyBundle\Entity use Doctrine\ORM\Mapping as ORM; use APY\DataGridBundle\Grid\Mapping as GRID; /** * @GRID\Source(columns="id, my_datetime") */ class MyEntity { /* * @ORM\Column(type="integer") */ protected $id; /* * @ORM\Column(type="datetime") */ protected $my_datetime; }
在 twig 模板中显示网格
<?php <!-- MyProject\MyBundle\Resources\views\myGrid.html.twig --> {{ grid(grid) }}
并清除您的缓存。