bbit / data-grid-bundle
symfony DataGridBundle
1.2.2
2017-05-11 11:14 UTC
Requires
- php: >=5.3.2
- knplabs/knp-paginator-bundle: 2.5.3
Requires (Dev)
- symfony/symfony: >=2.4.0
This package is not auto-updated.
Last update: 2024-09-14 19:14:51 UTC
README
[只读] 从 https://github.com/BranchBit/BranchBitBaseBundle 分离的子树
步骤 1: 使用 Composer 下载
在 composer.json 中添加:(使用最新稳定版本,而非 dev-master)
{ "require": { "bbit/data-grid-bundle": "1.1", } }
现在运行以下命令让 Composer 下载软件包
$ php composer.phar update bbit/data-grid-bundle
Composer 将安装软件包到您项目的 vendor/BBIT
目录。
步骤 2: 启用软件包
在 Kernel 中启用软件包
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new BBIT\DataGridBundle\BBITDataGridBundle(), new Knp\Bundle\PaginatorBundle\KnpPaginatorBundle(), ); }
使用示例
控制器
$qb = $this->getDoctrine()->getRepository('AppBundle:Entry')->createQueryBuilder('x')->andWhere('x.user = :user')->setParameter(':user', $this->getUser()); $grid = $this->get('bbit_data_grid'); $grid->setQb($qb); $grid->setItemsPerPage(10); $grid->addField('project', 'string', [ 'sortable' => true, 'filterable' => true, ]); $grid->addField('start', 'datetime', [ 'sortable' => true, ]); $grid->addField('somename', 'custom_callback', [ 'extra_callback_data' => ['foo' => 'bar'] 'callback' => function($value, $extraData = null) { return $value->getLoggedHours(extraData['foo']); }, ]); $grid->addField('actions', 'custom_template', [ 'template' => 'AppBundle:foobar:some_custom_template.html.twig' ]); return $this->render('@App/Default/entry_list.html.twig', [ 'grid' => $grid->render() ]);
模板
{{ grid|raw }}