Symgrid 是一个 Symfony 数据网格组件。

安装: 20

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

v0.1.7 2016-07-28 18:59 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:36:43 UTC


README

Symgrid 是一个 Symfony 数据网格组件。

screenshot

特性

  • 支持 Doctrine 实体(Entity)、QueryBuilder(QueryBuilder)和数组(Array)数据源
  • 内置列类型:别名(Alias)、布尔(Bool)、货币(Currency)、日期(Date)、日期时间(DateTime)、数字(Numeric)和字符串(String)
  • 通过回调定义自定义列类型
  • 将多个值折叠到单个列中(例如,以逗号分隔)
  • 自动检测列类型
  • 可导出为 CSV、HTML、Excel 和 PDF 格式
  • 批量操作
  • 行操作
  • 对内置列类型的通用过滤器
  • 尊重过滤器的列聚合
  • 在更改过滤器时自动使用 Ajax 刷新
  • 行排序
  • 分页
  • JavaScript API 用于注册事件监听器
  • 对所有标签、列、批量操作和行操作标题进行翻译

安装

步骤 1:使用 Composer 下载 Symgrid

Symgrid 可在 Packagist 上找到,因此可以通过 Composer 安装

$ composer require arne-groskurth/symgrid

步骤 2:启用组件

需要将 SymgridBundle 和 FontAwesomeBundle 注册在内核上

// app/AppKernel.php

public function registerBundles() {

    $bundles = array(
        // ...
        new ArneGroskurth\Symgrid\ArneGroskurthSymgridBundle(),
        new Bmatzner\FontAwesomeBundle\BmatznerFontAwesomeBundle()
    );
}

步骤 3:安装资源文件

$ php app/console assets:install --symlink

之后提供两种样式表

  • layout.css:功能样式,例如处理加载指示器的可见性
  • style.css:捆绑的网格样式,如上图所示

建议包含两种样式并在应用程序样式中进行修改

<link rel="stylesheet" href="{{ asset('bundles/arnegroskurthsymgrid/layout.css') }}" />
<link rel="stylesheet" href="{{ asset('bundles/arnegroskurthsymgrid/style.css') }}" />

完成!

入门

安装后,Symgrid 可作为服务使用,可以在控制器中配置,例如。

控制器中基于实体的基本网格配置

namespace AppBundle\Controller;

use AppBundle\Entity\User;
use ArneGroskurth\Symgrid\Grid\DataSource\EntityDataSource;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class DefaultController extends Controller {

    public function testAction() {

        // Construct grid, set an entity as data source and activate bundled grid style
        $grid = $this->get('arnegroskurth_symgrid.grid')
            ->from(User::class)
            ->useDefaultStyle()
        ;

        // Return grid response or fall back to given template
        return $grid->getResponse('view.html.twig', array(
            'grid' => $grid
        ));
    }
}

在 Twig 模板中渲染 Symgrid

{{ symgrid(grid) }}

文档

请参阅目录

许可证

MIT 许可证 (MIT)

版权所有 (c) 2016 Arne Groskurth

特此授予任何获得此软件及其相关文档副本(以下简称“软件”)的人免费使用软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许获得软件的人按以下条件进行操作

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“现状”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论此类索赔、损害或其他责任是由于合同、侵权或其他方式引起的,与软件或软件的使用或其他方式有关。