edinaldofox / crud-generator-bundle
用于生成 CRUD 的 Symfony3 扩展包,具有分页、过滤、排序、页面大小、批量删除和 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@dev
- sensio/generator-bundle: ~3.0
- symfony/symfony: ~2.8|~3.0
Requires (Dev)
- phpunit/phpunit: ~4.8
README
带有分页、过滤、Twitter Bootstrap 3.3.6 标记和许多其他功能的 Symfony3 CRUD 生成器扩展包。它易于使用且完全可定制。
旨在恢复旧 Symfony 1.4 管理生成器的功能,但基于 SensioGeneratorBundle 扩展,增加了额外的选项和功能。
特性
- 分页 - 使用 PagerFanta
- 过滤(使用单多搜索输入或表单)
- 支持在表单和过滤器中为多对一、一对一和多对多(如果关系是拥有方)的 Doctrine 关联映射
- 排序
- 每页项目数
- 多行批量操作(删除)
- 从索引中删除
- 在生成的视图中设置您的基模板。
- 可以设置所有生成的文件的保存路径(默认为 app/Resources)。
- 可以不生成显示代码。
- 大多数特性都是可选的,您可以根据需要灵活地生成 CRUD。
- 支持 PostgreSQL 9.5.11
截图
多搜索过滤器
表单过滤器
安装
此扩展包与 Symfony 2.8/3.0 或更高版本兼容。
使用 composer
Symfony >= 2.8
composer require petkopara/crud-generator-bundle
在您的 AppKernel.php 中注册 CRUD 和过滤器扩展包
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'
如果您正在使用自己的基模板,请确保在模板中包含扩展包的 JavaScript 文件。
<script src="{{ asset('bundles/petkoparacrudgenerator/js/petkopara-crud-generator.js') }}"></script>
依赖
此扩展包扩展了 SensioGeneratorBundle。使用 PagerFanta 进行分页。过滤使用 PetkoparaMutiSearchBundle 和 LexikFormFilterBundle。
用法
从控制台使用以下命令
php bin/console petkopara:generate:crud
并按照向导步骤操作。
可用的新选项
该扩展包的默认行为是生成完整的 CRUD,但您可以根据需要自定义生成的内容。与 doctrine crud 生成器相比,扩展包添加了一些新参数来控制所有新功能。
-
--filter-type- 要使用的过滤器类型。有三个选项- input - 使用多搜索输入。
- form - 使用 Lexik 表单过滤器。
- none - 不会生成任何过滤器代码。
-
--template- 视图的基模板名称,视图将覆盖它。例如,将其设置为--template=base.html.twig以扩展您的基模板。(默认为 PetkoparaCrudGeneratorBundle::base.html.twig)。 -
--without-write- 扩展包的默认行为是生成写代码,因此--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
若泽·埃迪纳尔多 - edinaldofox@gmail.com
许可证
CrudGeneratorBundle遵循MIT许可证。