bbit/data-grid-bundle

symfony DataGridBundle

安装次数: 1,141

依赖者: 1

建议者: 0

安全性: 0

星星: 0

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

1.2.2 2017-05-11 11:14 UTC

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 }}