我使用表单继承,我想添加或替换我的'标题'类(已经存在于我的BookType)。我该怎么做呢?
class ValidationBookType extends BookType {
public function buildForm(FormBuilderInterface $builder, array $options) {
parent::buildForm($builder, $options);
$builder
????????????????????????????????????????
->add('title', 'text', array(
'attr' => array(
'class' => 'newclass'
)
))
????????????????????????????????????????
;
}
/**
* @param OptionsResolverInterface $resolver
*/
public function setDefaultOptions(OptionsResolverInterface $resolver) {
$resolver->setDefaults(array(
'data_class' => 'Video2Learn'BddBundle'Entity'Book',
'cascade_validation' => true,
));
$resolver->setRequired(array(
'step',
));
}
public function getName() {
return 'Book';
}
}
带->setAttribute(
?
谢谢!
编辑找到了一个解决办法
我找到了一个解决方案,但可能有更好的方法…??
我做到了:
class ValidationBookType extends BookType {
public function buildForm(FormBuilderInterface $builder, array $options) {
$parent = parent::buildForm($builder, $options);
$array = $parent->get('title')->getOptions();
$array['read_only'] = true;
$builder
->remove('title')
->add('title', 'text', $array)
;
}
我该如何改善?
我解决了这个问题:
class ValidationBookType extends BookType {
public function buildForm(FormBuilderInterface $builder, array $options) {
$parent = parent::buildForm($builder, $options);
$array = $parent->get('title')->getOptions();
$array['read_only'] = true;
$builder
->remove('title')
->add('title', 'text', $array)
;
}