【发布时间】:2014-07-07 19:11:57
【问题描述】:
我正在查看这部分文档:
http://symfony.com/doc/current/cookbook/form/form_collections.html
除了在我的情况下,每个tag 都是question,每个问题都有一个唯一的标签。
如何为集合表单创建唯一标签?
问题类型:
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class QuestionType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('Answer', 'choice' array(
'choices' => array(
'' => 'select one',
'yes',
'no')
));
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Acme\AcmeBundle\Entity\Question\Question',
));
}
public function getName()
{
return 'question';
}
}
问题集:
class BriefQuestionaireType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('Questions', 'collection', array(
'type' => new QuestionType()
)
);
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Acme\AcmeBundle\Entity\Question\Questionaire',
));
}
public function getName()
{
return 'briefquestionaire';
}
}
我希望能够做类似的事情:
$builder->add('Questions', 'collection', array(
'label' => 'Q1:Have you ever...?', //I'd like to use unique but static questions so that I can reuse the questions again later.`
'type' => new QuestionType()
)
);
$builder->add('Questions', 'collection', array(
'label' => 'Q2:Have you also...?', //I'd like to use unique but static questions so that I can reuse the questions again later.`
'type' => new QuestionType()
)
);
但是上面的内容会覆盖之前的标签。这样只会出现标签Q2:Have you also...?。
希望现在更清楚了,这就是我说我想要具有是/否选择选项的独特标签(只是静态问题)时的意思。
【问题讨论】:
-
集合的唯一标签是什么意思?就像集合的第一个元素获得标签“第一个标签”,第二个元素获得标签“其他标签”,... aso ?
-
编辑了我的问题以获取更多信息。