105 lines
3.7 KiB
PHP
105 lines
3.7 KiB
PHP
<?php
|
|
|
|
namespace App\Form;
|
|
|
|
use Symfony\Component\Form\AbstractType;
|
|
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
|
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
|
use Symfony\Component\Form\FormBuilderInterface;
|
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
|
use Tetranz\Select2EntityBundle\Form\Type\Select2EntityType;
|
|
|
|
class MenuchildType extends AbstractType
|
|
{
|
|
public function buildForm(FormBuilderInterface $builder, array $options)
|
|
{
|
|
$builder
|
|
->add('submit', SubmitType::class, [
|
|
'label' => 'Valider',
|
|
'attr' => ['class' => 'btn btn-success'],
|
|
])
|
|
|
|
->add('childtype', ChoiceType::class, [
|
|
'label' => 'Ordonner par',
|
|
'choices' => ['blog' => 'blog', 'blogtype' => 'blogtype','page' => 'page', 'pagetype' => 'pagetype'],
|
|
])
|
|
|
|
->add('blog', Select2EntityType::class, [
|
|
'label' => 'Blog',
|
|
'required' => false,
|
|
'remote_route' => 'app_blog_selectlist',
|
|
'class' => "App\Entity\Blog",
|
|
'primary_key' => 'id',
|
|
'text_property' => 'name',
|
|
'minimum_input_length' => 0,
|
|
'page_limit' => 10,
|
|
'allow_clear' => true,
|
|
'delay' => 250,
|
|
'cache' => false,
|
|
'cache_timeout' => 60000,
|
|
'language' => 'fr',
|
|
'placeholder' => '== Choisir Blog ==',
|
|
])
|
|
|
|
->add('blogtype', Select2EntityType::class, [
|
|
'label' => 'Type de Blog',
|
|
'required' => false,
|
|
'remote_route' => 'app_typeblog_selectlist',
|
|
'class' => "App\Entity\Blogtype",
|
|
'primary_key' => 'id',
|
|
'text_property' => 'name',
|
|
'minimum_input_length' => 0,
|
|
'page_limit' => 10,
|
|
'allow_clear' => true,
|
|
'delay' => 250,
|
|
'cache' => false,
|
|
'cache_timeout' => 60000,
|
|
'language' => 'fr',
|
|
'placeholder' => '== Choisir Type de Blog ==',
|
|
])
|
|
|
|
->add('page', Select2EntityType::class, [
|
|
'label' => 'Page',
|
|
'required' => false,
|
|
'remote_route' => 'app_page_selectlist',
|
|
'class' => "App\Entity\Page",
|
|
'primary_key' => 'id',
|
|
'text_property' => 'name',
|
|
'minimum_input_length' => 0,
|
|
'page_limit' => 10,
|
|
'allow_clear' => true,
|
|
'delay' => 250,
|
|
'cache' => false,
|
|
'cache_timeout' => 60000,
|
|
'language' => 'fr',
|
|
'placeholder' => '== Choisir Page ==',
|
|
])
|
|
|
|
->add('pagetype', Select2EntityType::class, [
|
|
'label' => 'Type de Page',
|
|
'required' => false,
|
|
'remote_route' => 'app_typepage_selectlist',
|
|
'class' => "App\Entity\Pagetype",
|
|
'primary_key' => 'id',
|
|
'text_property' => 'name',
|
|
'minimum_input_length' => 0,
|
|
'page_limit' => 10,
|
|
'allow_clear' => true,
|
|
'delay' => 250,
|
|
'cache' => false,
|
|
'cache_timeout' => 60000,
|
|
'language' => 'fr',
|
|
'placeholder' => '== Choisir Type de Page ==',
|
|
])
|
|
;
|
|
}
|
|
|
|
public function configureOptions(OptionsResolver $resolver)
|
|
{
|
|
$resolver->setDefaults([
|
|
'data_class' => 'App\Entity\Menuchild',
|
|
'mode' => 'string',
|
|
]);
|
|
}
|
|
}
|