fle / crud-bundle
Installs: 515
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=5.6
- doctrine/doctrine-bundle: ^1.6
- doctrine/orm: ^2.5
- friendsofsymfony/rest-bundle: ^2
- friendsofsymfony/user-bundle: dev-master
- jasny/twig-extensions: ^1
- jms/di-extra-bundle: >=1.7
- jms/serializer-bundle: ^1
- knplabs/knp-paginator-bundle: >=2.5
- mopa/bootstrap-bundle: ~3.0
- symfony/form: ~2.5|^3.0
- symfony/http-kernel: ~2.5|^3.0
- symfony/validator: ~2.5|^3.0
- twbs/bootstrap: ~3.3.0
- twig/extensions: ^1.3
Requires (Dev)
- phpunit/phpunit: 5.*
- satooshi/php-coveralls: dev-master
Suggests
- friendsofsymfony/elastica-bundle: dev-master
- stof/doctrine-extensions-bundle: ^1.2
README
Overview
Installation
Add the bundle to your composer.json
file:
require: { "jms/di-extra-bundle": "dev-master", "fle/crud-bundle": "1.*@dev" }
Then run a composer update:
composer.phar update fle/crud-bundle
Register the bundle with your kernel in AppKernel::registerBundles()
:
<?php $bundles = array( // ... new JMS\DiExtraBundle\JMSDiExtraBundle($this), new JMS\AopBundle\JMSAopBundle(), new FLE\Bundle\CrudBundle\FLECrudBundle(), // ... );
Add Configuration in app/config/config.yml
:
jms_di_extra: locations: bundles: - FLECrudBundle twig: form_themes: - 'FLECrudBundle::Form/fields.html.twig'
Usage
{% extends 'FLECrudBundle::base.html.twig' %}
Filter
Custom Filter
<?php use FLE\Bundle\CrudBundle\Annotation as CRUD; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity(repositoryClass="AppBundle\Repository\ObjectRepository") * @CRUD\FormFilter(class="AppBundle\Filter\ObjectFilterType") */ class Object { //... }
<?php use FLE\Bundle\CrudBundle\Filter\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\Extension\Core\Type\ChoiceType; use Doctrine\ORM\QueryBuilder; class ObjectFilterType extends AbstractType { /** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add('articleType', ChoiceType::class, [ 'choices' => [ 'withArticle' => function (QueryBuilder $qb, $rootAlias) { return $qb ->andWhere("$rootAlias.article IS NOT NULL"); }, 'all' => null ], 'mapped' => false ]); } }