petkopara / crud-generator-bundle
Symfony3 bundle for CRUD generation with pagination, filtering, sorting, page size, bulk delete and bootstrap3 markup. This Generator supports Doctrine association mapping.
Installs: 52 742
Dependents: 0
Suggesters: 0
Security: 0
Stars: 70
Watchers: 13
Forks: 17
Open Issues: 25
Type:symfony-bundle
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 generator bundle with pagination, filtering, Twitter bootstrap 3.3.6 markup and many other features. It's Simple to use and fully customizable.
Designed to bring back the functionality of the old Symfony 1.4 admin generator, but extending from SensioGeneratorBundle with additional options and features.
Features
- Pagination - using PagerFanta
- Filtering (With single multi search input or form)
- Doctrine association mapping support for Many-to-One, One-to-One and Many-to-Many (if the relation is the owning side) in forms and filters
- Sorting
- Items per page
- Bulk actions(delete) on multiple rows
- Delete from index
- Set your base template in the generated views.
- Possibility to set the save path for all the generated files (by default in app/Resources).
- Possiblity to not generate show code.
- Most of the features are optional and you can generate the CRUD very flexible depending on your needs.
Screenshots
Multi Search Filter
Form Filter
Installation
This bundle is compatible with Symfony 2.8/3.0 or higher.
Using composer
Symfony >= 2.8
composer require petkopara/crud-generator-bundle
Register the CRUD and filter bundles in your AppKernel.php
:
new Lexik\Bundle\FormFilterBundle\LexikFormFilterBundle(),
new Petkopara\MultiSearchBundle\PetkoparaMultiSearchBundle(),
new Petkopara\CrudGeneratorBundle\PetkoparaCrudGeneratorBundle(),
Install the assets.
php bin/console assets:install --symlink
For the bootstrap theme of the forms, add this to your app/config/config.yml
twig: form_themes: - 'bootstrap_3_layout.html.twig'
Optionally if you are using your own base template, be sure that you include the javascript file of the bundle in it.
<script src="{{ asset('bundles/petkoparacrudgenerator/js/petkopara-crud-generator.js') }}"></script>
Dependencies
This bundle extends SensioGeneratorBundle. Pagination with PagerFanta . For the filtering is used PetkoparaMutiSearchBundle and LexikFormFilterBundle.
Usage
Use the following command from console:
php bin/console petkopara:generate:crud
And follow the wizard steps.
Available new options
The default behavior of the bundle is to generate full featured crud, but you can customize what to be generated or not. The bundle adds few new parameters compared to the doctrine crud generator, to control all of the new features.
-
--filter-type
- Which filter type to use. There is three options:- input - To use Multi Search input.
- form - To use Lexik form filter.
- none - Will not generate any filter code.
-
--template
- The base template name, which the views will override. For example set it to--template=base.html.twig
to extends your base template.(by default PetkoparaCrudGeneratorBundle::base.html.twig). -
--without-write
- The default behavior of the bundle is to generate write code, so for that--with-write
option is transformed to this. -
--without-show
- Many times you don't need show code, for that this option is introduced. -
--without-sorting
- To not generate sorting code. -
--without-page-size
- To not generate items per page code. -
--without-bulk
- To not generate bulk actions code. -
--bundle-views
- Whether to store the view files in the bundles dir. By default the vies are stored in app/Resources/views/ .
Don't forget, that this is a just crud generator and you are free to change everything generated from this bundle.
Templates
Every generated file is based on a template. There are default templates but they can be overridden by placing custom templates in one of the following locations, by order of priority:
BUNDLE_PATH/Resources/PetkoparaCrudGeneratorBundle/skeleton/crud
APP_PATH/Resources/PetkoparaCrudGeneratorBundle/skeleton/crud
And
BUNDLE_PATH/Resources/PetkoparaCrudGeneratorBundle/skeleton/form
APP_PATH/Resources/PetkoparaCrudGeneratorBundle/skeleton/form
Author
Petko Petkov - petkopara at gmail dot com
License
CrudGeneratorBundle is licensed under the MIT License.