petkopara / crud-generator-bundle
Symfony3的CRUD生成器bundle,支持分页、过滤、排序、页面大小、批量删除和Bootstrap3标记。此生成器支持Doctrine关联映射。
Requires
- doctrine/doctrine-bundle: ^1.6
- lexik/form-filter-bundle: ~5.0
- pagerfanta/pagerfanta: 1.0.*@dev
- petkopara/multi-search-bundle: ~1.0
- sensio/generator-bundle: ~3.0
- symfony/symfony: ~2.8|~3.0
Requires (Dev)
- phpunit/phpunit: ~4.8
README
Symfony3 CRUD生成器bundle,支持分页、过滤、Twitter Bootstrap 3.3.6标记和许多其他功能。使用简单,可完全自定义。
旨在恢复旧Symfony 1.4管理员生成器的功能,但基于SensioGeneratorBundle进行扩展,并增加了额外的选项和功能。
功能
- 分页 - 使用PagerFanta
- 过滤(使用单个多搜索输入或表单)
- 支持Doctrine关联映射,包括多对一、一对多和多对多(如果关系是拥有方)在表单和过滤器中
- 排序
- 每页项目数
- 对多行执行批量操作(删除)
- 从索引中删除
- 在生成的视图中设置您的基模板。
- 可以设置所有生成的文件的基本保存路径(默认在app/Resources中)。
- 不生成显示代码。
- 大多数功能都是可选的,您可以根据需求灵活生成CRUD。
截图
多搜索过滤器
表单过滤器
安装
此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进行分页。过滤使用了PetkoparaMutiSearchBundle和LexikFormFilterBundle。
用法
从控制台使用以下命令
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许可证。