mindy / form-bundle
Mail bundle
Installs: 1 084
Dependents: 14
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=7.0
- mindy/template-bundle: >=4.0
- symfony/form: ~3.0|~4.0
Requires (Dev)
- mindy/orm: >=4.0
- phpunit/phpunit: ^6.5
- symfony/framework-bundle: ^3.4
- symfony/serializer: ^3.4
- symfony/var-dumper: ^3.4
Suggests
- mindy/orm-bundle: Mindy Orm Bundle
- symfony/serializer: Symfony Serializer Component
This package is not auto-updated.
Last update: 2024-11-09 21:06:55 UTC
README
The Form Bundle
Resources
FieldsetType
public function buildForm(FormBuilderInterface $builder, array $options) { $instance = $builder->getData(); $builder ->add('fieldset_1', FieldsetType::class, [ 'legend' => 'Информация', 'fields' => function (FormBuilderInterface $builder) use ($instance) { $builder ->add('parent', ChoiceType::class, [ 'label' => 'Родительская категория', 'required' => false, 'choices' => Category::objects()->order(['root', 'lft'])->all(), 'choice_label' => function ($page) { return sprintf('%s %s', str_repeat('-', $page->level - 1), $page); }, 'choice_value' => 'id', 'choice_attr' => function ($page) use ($instance) { return $page->pk == $instance->pk ? ['disabled' => 'disabled'] : []; }, ]) ->add('name', TextType::class, [ 'label' => 'Название', ]) ->add('image', FileType::class, [ 'label' => 'Изображение', 'required' => false, 'constraints' => [ new Assert\File([ ]), ], ]) ->add('show_category', CheckboxType::class, [ 'label' => 'Отображать дочерние категории (Если выключено, то отображаются только товары)', 'required' => false, ]) ->add('seo', SeoFormType::class, [ 'label' => 'Мета информация', 'source' => $instance, 'mapped' => false, ]); } ]) ->add('submit', SubmitType::class, [ 'label' => 'Сохранить', ]) ->add('submit_create', SubmitType::class, [ 'label' => 'Сохранить и создать', ]); }
TabsType & TabType
public function buildForm(FormBuilderInterface $builder, array $options) { $instance = $builder->getData(); $builder ->add('tabs', TabsType::class, [ 'tabs' => function (FormBuilderInterface $builder) use ($instance) { $builder ->add('first', TabType::class, [ 'tab' => 'Информация', 'fields' => function (FormBuilderInterface $builder) use ($instance) { $builder ->add('parent', ChoiceType::class, [ 'label' => 'Родительская категория', 'required' => false, 'choices' => Category::objects()->order(['root', 'lft'])->all(), 'choice_label' => function ($page) { return sprintf('%s %s', str_repeat('-', $page->level - 1), $page); }, 'choice_value' => 'id', 'choice_attr' => function ($page) use ($instance) { return $page->pk == $instance->pk ? ['disabled' => 'disabled'] : []; }, ]) ->add('name', TextType::class, [ 'label' => 'Название', ]) ->add('image', FileType::class, [ 'label' => 'Изображение', 'required' => false, 'constraints' => [ new Assert\File([ ]), ], ]) ->add('show_category', CheckboxType::class, [ 'label' => 'Отображать дочерние категории (Если выключено, то отображаются только товары)', 'required' => false, ]); } ]) ->add('seo', TabType::class, [ 'tab' => 'Мета информация', 'fields' => function (FormBuilderInterface $builder) use ($instance) { $builder ->add('seo', SeoFormType::class, [ 'label' => 'Мета информация', 'source' => $instance, 'mapped' => false, ]); } ]); } ]) ->add('submit', SubmitType::class, [ 'label' => 'Сохранить', ]) ->add('submit_create', SubmitType::class, [ 'label' => 'Сохранить и создать', ]); }
ButtonsType
public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('buttons', ButtonsType::class, [ 'buttons' => function (FormBuilderInterface $builder) { $builder ->add('submit', SubmitType::class, [ 'label' => 'Сохранить', ]) ->add('submit_create', SubmitType::class, [ 'label' => 'Сохранить и создать', ]); } ]) }