PHP code example of tetranz / select2entity-bundle
1. Go to this page and download the library: Download tetranz/select2entity-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' );
tetranz / select2entity-bundle example snippets
$bundles = [
Tetranz\Select2EntityBundle\TetranzSelect2EntityBundle::class => ['all' => true ]
];
$builder
->add('country' , Select2EntityType::class, [
'multiple' => true ,
'remote_route' => 'tetranz_test_default_countryquery' ,
'remote_params' => [],
'class' => '\Tetranz\TestBundle\Entity\Country' ,
'primary_key' => 'id' ,
'text_property' => 'name' ,
'minimum_input_length' => 2 ,
'page_limit' => 10 ,
'allow_clear' => true ,
'delay' => 250 ,
'cache' => true ,
'cache_timeout' => 60000 ,
'language' => 'en' ,
'placeholder' => 'Select a country' ,
'query_parameters' => [
'start' => new \DateTime(),
'end' => (new \DateTime())->modify('+5d' ),
],
])
use Tetranz \Select2EntityBundle \Form \Type \Select2EntityType ;
$builder
->add('country' , Select2EntityType::class, [
'multiple' => true ,
'remote_route' => 'tetranz_test_default_countryquery' ,
'class' => '\Tetranz\TestBundle\Entity\Country' ,
'transformer' => '\Tetranz\TestBundle\Form\DataTransformer\CountryEntitiesToPropertyTransformer' ,
]);
$data[] = array (
'id' => $country->getId(),
'text' => $country->getName().' (' .$country->getContinent()->getName().')' ,
);
$builder
->add('tags' , Select2EntityType::class, [
'remote_route' => 'tetranz_test_tags' ,
'class' => '\Tetranz\TestBundle\Entity\PostTags' ,
'text_property' => 'name' ,
'multiple' => true ,
'allow_add' => [
'enabled' => true ,
'new_tag_text' => ' (NEW)' ,
'new_tag_prefix' => '__' ,
'tag_separators' => '[",", " "]'
],
]);
$builder
->add('tags' , Select2EntityType::class, [
...
'allow_add' => [
...
'tag_separators' => '[",", ""]'
],
]);
$builder
->add('firstName' , TextType::class)
->add('lastName' , TextType::class)
->add('state' , EntityType::class, array ('class' => State::class))
->add('county' , Select2EntityType::class, [
' ' allow_clear' => false,
' req_params' => [' state' => ' parent .children[state]'],
' property' => ' name',
' callback' => function (QueryBuilder $qb, $data) {
$qb->andWhere(' e.state = :state');
if ($data instanceof Request) {
$qb->setParameter(' state', $data->get(' state'));
} else {
$qb->setParameter(' state', $data[' state']);
}
},
])
->add(' city', Select2EntityType::class, [
'
public function autocompleteAction (Request $request)
{
$as = $this ->get('tetranz_select2entity.autocomplete_service' );
$result = $as->getAutocompleteResults($request, YourFormType::class);
return new JsonResponse($result);
}
->add('contry' , Select2EntityType::class, [
'remote_route' => 'country_select2_query' ,
'autostart' => false ,
])