1. Go to this page and download the library: Download zenstruck/form-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
zenstruck / form-bundle example snippets
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new Zenstruck\Bundle\FormBundle\ZenstruckFormBundle(),
// enable if you want to use the grouped form
// new Cocur\Slugify\Bridge\Symfony\CocurSlugifyBundle()
);
// ...
}
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class MyFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'zenstruck_ajax_entity', array(
'class' => 'AppBundle:MyEntity' // ensure MyEntity::__toString() is defined
))
;
}
// ...
}
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class MyFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'zenstruck_ajax_entity', array(
'class' => 'AppBundle:MyEntity', // ensure MyEntity::__toString() is defined
'use_controller' => true,
'property' => 'name', // the entity property to search by
// 'repo_method' => 'findActive' // for using a custom repository method
// 'extra_data' => array() // for adding extra data in the ajax request (only applicable when using repo_method)
))
;
}
// ...
}
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class MyFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'zenstruck_ajax_entity', array(
'class' => 'AppBundle:MyEntity', // ensure MyEntity::__toString() is defined
'url' => '/myentity/find'
))
;
}
// ...
}
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class MyFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'zenstruck_tunnel_entity', array(
'class' => 'AppBundle:MyEntity',
'callback' => 'MyApp.selectMyEntity',
'
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class MyFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text', array(
'help' => 'Your full name'
))
;
}
// ...
}
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class MyFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text', array(
'group' => 'Foo'
))
->add('name', 'text', array(
'group' => 'Bar'
))
;
}
// ...
}
class MyController extends Controller
{
public function newAction(Request $request)
{
// ...
return array(
'grouped_form' => new \Zenstruck\Bundle\FormBundle\Form\GroupedFormView($form->createView())
);
}
}
// ..
$groupedForm = new \Zenstruck\Bundle\FormBundle\Form\GroupedFormView($form->createView());
$groupedForm->setData('foo', 'bar');
$groupedForm = new GroupedFormView($form->createView(), 'Default', array(
'Bar', 'Foo', 'Default'
));
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class MyFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text', array(
'theme_options' => array('control_width' => 'col-md-6')
))
;
}
// ...
}