petkopara/crud-generator-bundle

Symfony3的CRUD生成器bundle,支持分页、过滤、排序、页面大小、批量删除和Bootstrap3标记。此生成器支持Doctrine关联映射。

v3.0.5 2017-03-05 21:40 UTC

README

Symfony3 CRUD生成器bundle,支持分页、过滤、Twitter Bootstrap 3.3.6标记和许多其他功能。使用简单,可完全自定义。

旨在恢复旧Symfony 1.4管理员生成器的功能,但基于SensioGeneratorBundle进行扩展,并增加了额外的选项和功能。

Build Status SensioLabsInsight Latest Stable Code Coverage Scrutinizer Code Quality Total Downloads

功能

  • 分页 - 使用PagerFanta
  • 过滤(使用单个多搜索输入或表单)
  • 支持Doctrine关联映射,包括多对一、一对多和多对多(如果关系是拥有方)在表单和过滤器中
  • 排序
  • 每页项目数
  • 对多行执行批量操作(删除)
  • 从索引中删除
  • 在生成的视图中设置您的基模板。
  • 可以设置所有生成的文件的基本保存路径(默认在app/Resources中)。
  • 不生成显示代码。
  • 大多数功能都是可选的,您可以根据需求灵活生成CRUD。

截图

多搜索过滤器

Screenshot

表单过滤器

Screenshot

安装

此bundle与Symfony 2.8/3.0或更高版本兼容。

使用composer

Symfony >= 2.8

composer require petkopara/crud-generator-bundle

在您的 AppKernel.php 中注册CRUD和过滤器bundle

new Lexik\Bundle\FormFilterBundle\LexikFormFilterBundle(),
new Petkopara\MultiSearchBundle\PetkoparaMultiSearchBundle(),
new Petkopara\CrudGeneratorBundle\PetkoparaCrudGeneratorBundle(),

安装资产。

php bin/console assets:install --symlink

对于表单的Bootstrap主题,将以下内容添加到您的 app/config/config.yml

twig:
    form_themes:
	- 'bootstrap_3_layout.html.twig' 

如果使用自己的基模板,请确保其中包含bundle的javascript文件。

<script src="{{ asset('bundles/petkoparacrudgenerator/js/petkopara-crud-generator.js') }}"></script>

依赖关系

此bundle扩展了SensioGeneratorBundle。使用PagerFanta进行分页。过滤使用了PetkoparaMutiSearchBundleLexikFormFilterBundle

用法

从控制台使用以下命令

php bin/console petkopara:generate:crud

并按照向导步骤操作。

可用的新选项

此bundle的默认行为是生成功能齐全的CRUD,但您可以自定义要生成或不生成的内容。与doctrine crud generator相比,此bundle增加了几个新参数来控制所有新功能。

  • --filter-type - 要使用的过滤类型。有三个选项

    • input - 使用多搜索输入。
    • form - 使用Lexik表单过滤器。
    • none - 将不会生成任何过滤代码。
  • --template - 视图将覆盖的基本模板名称。例如,将其设置为--template=base.html.twig以扩展您的基模板。(默认PetkoparaCrudGeneratorBundle::base.html.twig)。

  • --without-write - 此bundle的默认行为是生成写代码,因此--with-write选项已转换为此。

  • --without-show - 很多次您不需要显示代码,因此引入了此选项。

  • --without-sorting - 不生成排序代码。

  • --without-page-size - 不生成每页项目数代码。

  • --without-bulk - 不生成批量操作代码。

  • --bundle-views - 是否将视图文件存储在束目录中。默认情况下,视图存储在 app/Resources/views/ 目录。

别忘了,这是一个仅限CRUD生成器,您可以从这个束中更改生成的所有内容。

模板

每个生成的文件都基于一个模板。有默认模板,但可以通过在以下位置放置自定义模板来覆盖默认模板,按优先级顺序:

BUNDLE_PATH/Resources/PetkoparaCrudGeneratorBundle/skeleton/crud
APP_PATH/Resources/PetkoparaCrudGeneratorBundle/skeleton/crud

并且

BUNDLE_PATH/Resources/PetkoparaCrudGeneratorBundle/skeleton/form
APP_PATH/Resources/PetkoparaCrudGeneratorBundle/skeleton/form

作者

佩特科·彼得科夫 - petkopara at gmail dot com

许可

CrudGeneratorBundle采用MIT许可证。