Я работаю над своим проектом Symfony 2, и я занимаюсь веточкой одной из моих форм. Я хочу знать, как проверить, является ли выбор в моей форме как минимум одним вариантом.Получить контент моего выбора в twig
Моя форма выглядит следующим образом:
<?php
namespace AdminBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
Class ProjetsType extends AbstractType
{
public function buildForm(FormBuilderInterface $constructeur, array $options)
{
$constructeur
->add('Ajouter', 'submit', array('label'=>'Ajouter un projet'))
->add('Projet', 'entity', array(
'label'=>false,
'class'=>'PublicBundle\Entity\Projet',
'property'=>'id'
))
->add('Modifier', 'submit')
->add('Supprimer', 'submit');
/*This is the way I do it if I pass my projects as a parameter*/
/*if(!empty($options['choix']))
{
$constructeur
->add('Projet', 'choice', array('label'=>false, 'choices'=>$options['choix']))
->add('Modifier', 'submit')
->add('Supprimer', 'submit');
}*/
}
public function getName()
{
return 'projets_type';
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'choix' => null,
));
}
}
Мой шаблон выглядит следующим образом
{{ form_start(formulaire) }}
{{ form_widget(formulaire.Ajouter) }}
{% if formulaire.Projet is defined %}
{{ form_widget(formulaire.Projet) }}
{{ form_widget(formulaire.Modifier) }}
{{ form_widget(formulaire.Supprimer) }}
{% endif %}
{{ form_end(formulaire) }}
Мой goald является то, что если нет какой-либо проект, только «ajouter» (это французский для add). Я ранее использовал для передачи списка моих проектов, которые я получил с другой функцией, и моя форма просто добавила select, если был хотя бы проект, но мне сказали, что лучше использовать поле типа сущности. Использование поля типа объекта может привести к выбору поля выбора без какой-либо опции. Если это произойдет, я не хочу отображать кнопки выбора и две следующие кнопки.
Итак, я думаю, что лучший способ - проверить, содержит ли выбор, по крайней мере, один параметр, а если нет, не добавляйте эту часть формы в свой шаблон. Как мне это сделать?